Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

mdb-angular-ui-kit

Package Overview
Dependencies
Maintainers
17
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mdb-angular-ui-kit - npm Package Compare versions

Comparing version
9.1.0
to
10.0.0
+90
types/mdb-angular-ui-kit-accordion.d.ts
import * as i0 from '@angular/core';
import { OnInit, TemplateRef, EventEmitter, ChangeDetectorRef, AfterContentInit, QueryList } from '@angular/core';
import * as i6 from 'mdb-angular-ui-kit/collapse';
import { MdbCollapseDirective } from 'mdb-angular-ui-kit/collapse';
import { Subject } from 'rxjs';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i5 from '@angular/common';
declare class MdbAccordionItemComponent implements OnInit {
private _cdRef;
_headerTemplate: TemplateRef<any>;
_bodyTemplate: TemplateRef<any>;
collapse: MdbCollapseDirective;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
header: string;
set collapsed(value: boolean);
id: string;
_headerId: string;
private _isInitialized;
private _shouldOpenOnInit;
itemShow: EventEmitter<MdbAccordionItemComponent>;
itemShown: EventEmitter<MdbAccordionItemComponent>;
itemHide: EventEmitter<MdbAccordionItemComponent>;
itemHidden: EventEmitter<MdbAccordionItemComponent>;
accordionItem: boolean;
accordionItemDisplayBlock: boolean;
ngOnInit(): void;
show$: Subject<MdbAccordionItemComponent>;
_collapsed: boolean;
_addCollapsedClass: boolean;
constructor(_cdRef: ChangeDetectorRef);
toggle(): void;
show(): void;
hide(): void;
onShow(): void;
onHide(): void;
onShown(): void;
onHidden(): void;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbAccordionItemComponent, "mdb-accordion-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "header": { "alias": "header"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "itemShow": "itemShow"; "itemShown": "itemShown"; "itemHide": "itemHide"; "itemHidden": "itemHidden"; }, ["_headerTemplate", "_bodyTemplate"], never, false, never>;
}
declare class MdbAccordionComponent implements AfterContentInit {
items: QueryList<MdbAccordionItemComponent>;
get borderless(): boolean;
set borderless(value: boolean);
private _borderless;
get flush(): boolean;
set flush(value: boolean);
private _flush;
get multiple(): boolean;
set multiple(value: boolean);
private _multiple;
accordion: boolean;
get addBorderlessClass(): boolean;
get addFlushClass(): boolean;
constructor();
ngAfterContentInit(): void;
private _handleMultipleItems;
static ngAcceptInputType_borderless: BooleanInput;
static ngAcceptInputType_flush: BooleanInput;
static ngAcceptInputType_multiple: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbAccordionComponent, "mdb-accordion", never, { "borderless": { "alias": "borderless"; "required": false; }; "flush": { "alias": "flush"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, {}, ["items"], ["*"], false, never>;
}
declare class MdbAccordionItemHeaderDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemHeaderDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAccordionItemHeaderDirective, "[mdbAccordionItemHeader]", never, {}, {}, never, never, false, never>;
}
declare class MdbAccordionItemBodyDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemBodyDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAccordionItemBodyDirective, "[mdbAccordionItemBody]", never, {}, {}, never, never, false, never>;
}
declare class MdbAccordionModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbAccordionModule, [typeof MdbAccordionComponent, typeof MdbAccordionItemComponent, typeof MdbAccordionItemHeaderDirective, typeof MdbAccordionItemBodyDirective], [typeof i5.CommonModule, typeof i6.MdbCollapseModule], [typeof MdbAccordionComponent, typeof MdbAccordionItemComponent, typeof MdbAccordionItemHeaderDirective, typeof MdbAccordionItemBodyDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbAccordionModule>;
}
export { MdbAccordionComponent, MdbAccordionItemBodyDirective, MdbAccordionItemComponent, MdbAccordionItemHeaderDirective, MdbAccordionModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { ElementRef, AfterViewInit, OnDestroy, QueryList, EventEmitter, ChangeDetectorRef } from '@angular/core';
import * as i3 from '@angular/common';
declare class MdbCarouselItemComponent {
private _elementRef;
interval: number | null;
carouselItem: boolean;
active: boolean;
next: boolean;
prev: boolean;
start: boolean;
end: boolean;
get host(): HTMLElement;
constructor(_elementRef: ElementRef);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbCarouselItemComponent, "mdb-carousel-item", never, { "interval": { "alias": "interval"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbCarouselComponent implements AfterViewInit, OnDestroy {
private _elementRef;
private _cdRef;
_items: QueryList<MdbCarouselItemComponent>;
get items(): MdbCarouselItemComponent[];
animation: 'slide' | 'fade';
get controls(): boolean;
set controls(value: boolean);
private _controls;
get dark(): boolean;
set dark(value: boolean);
private _dark;
get indicators(): boolean;
set indicators(value: boolean);
private _indicators;
get ride(): boolean;
set ride(value: boolean);
private _ride;
get interval(): number;
set interval(value: number);
private _interval;
keyboard: boolean;
pause: boolean;
wrap: boolean;
slide: EventEmitter<void>;
slideChange: EventEmitter<void>;
get activeSlide(): number;
set activeSlide(index: number);
private _activeSlide;
private _lastInterval;
private _isPlaying;
private _isSliding;
private readonly _destroy$;
onMouseEnter(): void;
onMouseLeave(): void;
display: boolean;
private _isBrowser;
constructor(_elementRef: ElementRef, _cdRef: ChangeDetectorRef, platformId: string);
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _setActiveSlide;
private _restartInterval;
private _resetInterval;
play(): void;
stop(): void;
to(index: number): void;
next(): void;
prev(): void;
private _slide;
private _animateSlides;
private _reflow;
private _emulateTransitionEnd;
private _getNewSlideIndex;
private _getNextSlideIndex;
private _getPrevSlideIndex;
private _syncItemClasses;
static ngAcceptInputType_controls: BooleanInput;
static ngAcceptInputType_dark: BooleanInput;
static ngAcceptInputType_indicators: BooleanInput;
static ngAcceptInputType_ride: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbCarouselComponent, "mdb-carousel", never, { "animation": { "alias": "animation"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "indicators": { "alias": "indicators"; "required": false; }; "ride": { "alias": "ride"; "required": false; }; "interval": { "alias": "interval"; "required": false; }; "keyboard": { "alias": "keyboard"; "required": false; }; "pause": { "alias": "pause"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; }, { "slide": "slide"; "slideChange": "slideChange"; }, ["_items"], ["*"], false, never>;
}
declare class MdbCarouselModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCarouselModule, [typeof MdbCarouselComponent, typeof MdbCarouselItemComponent], [typeof i3.CommonModule], [typeof MdbCarouselComponent, typeof MdbCarouselItemComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCarouselModule>;
}
export { MdbCarouselComponent, MdbCarouselItemComponent, MdbCarouselModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { EventEmitter } from '@angular/core';
import * as i2 from '@angular/common';
import * as i3 from '@angular/forms';
declare const MDB_CHECKBOX_VALUE_ACCESSOR: any;
declare class MdbCheckboxChange {
element: MdbCheckboxDirective;
checked: boolean;
}
declare class MdbCheckboxDirective {
get checked(): boolean;
set checked(value: boolean);
private _checked;
get value(): any;
set value(value: any);
private _value;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
checkboxChange: EventEmitter<MdbCheckboxChange>;
get isDisabled(): boolean;
get isChecked(): boolean;
onCheckboxClick(): void;
onBlur(): void;
private _cdRef;
get changeEvent(): MdbCheckboxChange;
toggle(): void;
onCheckboxChange(): void;
onChange: (_: any) => void;
onTouched: () => void;
writeValue(value: any): void;
registerOnChange(fn: (_: any) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
static ngAcceptInputType_checked: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCheckboxDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbCheckboxDirective, "[mdbCheckbox]", never, { "checked": { "alias": "checked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "checkboxChange": "checkboxChange"; }, never, never, false, never>;
}
declare class MdbCheckboxModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCheckboxModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCheckboxModule, [typeof MdbCheckboxDirective], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof MdbCheckboxDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCheckboxModule>;
}
export { MDB_CHECKBOX_VALUE_ACCESSOR, MdbCheckboxChange, MdbCheckboxDirective, MdbCheckboxModule };
import * as i0 from '@angular/core';
import { ElementRef, Renderer2, EventEmitter } from '@angular/core';
declare class MdbCollapseDirective {
private _elementRef;
private _renderer;
private _cdRef;
constructor(_elementRef: ElementRef, _renderer: Renderer2);
collapseClass: boolean;
collapseShow: EventEmitter<MdbCollapseDirective>;
collapseShown: EventEmitter<MdbCollapseDirective>;
collapseHide: EventEmitter<MdbCollapseDirective>;
collapseHidden: EventEmitter<MdbCollapseDirective>;
set collapsed(collapsed: boolean);
get collapsed(): boolean;
private _collapsed;
get host(): HTMLElement;
private _isTransitioning;
show(): void;
hide(): void;
toggle(): void;
private _reflow;
private _emulateTransitionEnd;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCollapseDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbCollapseDirective, "[mdbCollapse]", ["mdbCollapse"], { "collapsed": { "alias": "collapsed"; "required": false; }; }, { "collapseShow": "collapseShow"; "collapseShown": "collapseShown"; "collapseHide": "collapseHide"; "collapseHidden": "collapseHidden"; }, never, never, false, never>;
}
declare class MdbCollapseModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCollapseModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCollapseModule, [typeof MdbCollapseDirective], never, [typeof MdbCollapseDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCollapseModule>;
}
export { MdbCollapseDirective, MdbCollapseModule };
import * as i0 from '@angular/core';
import { ElementRef, Renderer2, EventEmitter, OnDestroy, AfterContentInit, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';
import * as i5 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import { BreakpointObserver } from '@angular/cdk/layout';
import * as i4 from '@angular/common';
declare class MdbDropdownMenuDirective {
elementRef: ElementRef;
private _renderer;
constructor(elementRef: ElementRef, _renderer: Renderer2);
menuPositionClassChanged: EventEmitter<string>;
get menuPositionClass(): string;
set menuPositionClass(newClass: string);
private _menuPositionClass;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownMenuDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbDropdownMenuDirective, "[mdbDropdownMenu]", ["mdbDropdownMenu"], { "menuPositionClass": { "alias": "menuPositionClass"; "required": false; }; }, { "menuPositionClassChanged": "menuPositionClassChanged"; }, never, never, false, never>;
}
type MdbDropdownPositionClass = 'dropdown' | 'dropup' | 'dropstart' | 'dropend';
declare class MdbDropdownDirective implements OnDestroy, AfterContentInit {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
private _vcr;
private _breakpointObserver;
private _cdRef;
private _renderer;
_template: TemplateRef<any>;
_dropdownToggle: ElementRef;
_dropdownMenu: MdbDropdownMenuDirective;
animation: boolean;
closeOnEsc: boolean;
closeOnItemClick: boolean;
closeOnOutsideClick: boolean;
offset: number;
get positionClass(): MdbDropdownPositionClass;
set positionClass(newClass: MdbDropdownPositionClass);
private _positionClass;
withPush: boolean;
dropdownShow: EventEmitter<MdbDropdownDirective>;
dropdownShown: EventEmitter<MdbDropdownDirective>;
dropdownHide: EventEmitter<MdbDropdownDirective>;
dropdownHidden: EventEmitter<MdbDropdownDirective>;
private _overlayRef;
private _portal;
private _open;
private _isDropUp;
private _isDropStart;
private _isDropEnd;
private _isDropdownMenuEnd;
private _xPosition;
private _breakpoints;
private _mousedownTarget;
readonly _destroy$: Subject<void>;
get host(): HTMLElement;
_breakpointSubscription: any;
_animationState: string;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef, _vcr: ViewContainerRef, _breakpointObserver: BreakpointObserver, _cdRef: ChangeDetectorRef, _renderer: Renderer2);
ngAfterContentInit(): void;
ngOnDestroy(): void;
private _bindDropdownToggleClick;
private _listenToMenuPositionClassChange;
private _updateOverlay;
private _createOverlayConfig;
private _createOverlay;
private _createPositionStrategy;
private _getPosition;
private _listenToEscKeyup;
private _listenToMousedown;
private _listenToClick;
onAnimationEnd(event: AnimationEvent): void;
private _subscribeBrakpoints;
show(): void;
private _handleKeyboardNavigation;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbDropdownDirective, "[mdbDropdown]", never, { "animation": { "alias": "animation"; "required": false; }; "closeOnEsc": { "alias": "closeOnEsc"; "required": false; }; "closeOnItemClick": { "alias": "closeOnItemClick"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "positionClass": { "alias": "positionClass"; "required": false; }; "withPush": { "alias": "withPush"; "required": false; }; }, { "dropdownShow": "dropdownShow"; "dropdownShown": "dropdownShown"; "dropdownHide": "dropdownHide"; "dropdownHidden": "dropdownHidden"; }, ["_dropdownToggle", "_dropdownMenu"], ["*", ".dropdown-toggle", ".dropdown-menu"], false, never>;
static ngAcceptInputType_animation: unknown;
static ngAcceptInputType_closeOnEsc: unknown;
static ngAcceptInputType_closeOnItemClick: unknown;
static ngAcceptInputType_closeOnOutsideClick: unknown;
static ngAcceptInputType_offset: unknown;
static ngAcceptInputType_withPush: unknown;
}
declare class MdbDropdownToggleDirective {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownToggleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbDropdownToggleDirective, "[mdbDropdownToggle]", ["mdbDropdownToggle"], {}, {}, never, never, false, never>;
}
declare class MdbDropdownModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbDropdownModule, [typeof MdbDropdownDirective, typeof MdbDropdownToggleDirective, typeof MdbDropdownMenuDirective], [typeof i4.CommonModule, typeof i5.OverlayModule], [typeof MdbDropdownDirective, typeof MdbDropdownToggleDirective, typeof MdbDropdownMenuDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbDropdownModule>;
}
export { MdbDropdownDirective, MdbDropdownMenuDirective, MdbDropdownModule, MdbDropdownToggleDirective };
export type { MdbDropdownPositionClass };
import * as i0 from '@angular/core';
import { AfterContentInit, AfterContentChecked, OnDestroy, ElementRef, Renderer2, Injector, DoCheck, AfterViewInit, OnInit, DestroyRef } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { ContentObserver } from '@angular/cdk/observers';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i5 from '@angular/forms';
import { NgControl } from '@angular/forms';
import { AutofillMonitor } from '@angular/cdk/text-field';
import * as i4 from '@angular/common';
declare abstract class MdbAbstractFormControl<T> {
readonly stateChanges: Observable<void>;
readonly input: HTMLInputElement;
readonly labelActive: boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAbstractFormControl<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAbstractFormControl<any>, never, never, {}, {}, never, never, true, never>;
}
declare class MdbFormControlComponent implements AfterContentInit, AfterContentChecked, OnDestroy {
private _renderer;
private _contentObserver;
private _elementRef;
private _injector;
_notchLeading: ElementRef;
_notchMiddle: ElementRef;
_formControl: MdbAbstractFormControl<any>;
_label: ElementRef;
outline: boolean;
display: boolean;
private _cdRef;
get input(): HTMLInputElement;
constructor(_renderer: Renderer2, _contentObserver: ContentObserver, _elementRef: ElementRef, _injector: Injector);
readonly _destroy$: Subject<void>;
private _notchLeadingLength;
private _labelMarginLeft;
private _labelGapPadding;
private _labelScale;
private _recalculateGapWhenVisible;
private _previousLabel;
ngAfterContentInit(): void;
ngAfterContentChecked(): void;
ngOnDestroy(): void;
get hasLabel(): boolean;
private _getLabelWidth;
private _updateBorderGap;
private _updateLabelActiveState;
private _isLabelActive;
private _isHidden;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbFormControlComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbFormControlComponent, "mdb-form-control", never, {}, {}, ["_formControl", "_label"], ["*"], false, never>;
}
declare class MdbInputDirective implements MdbAbstractFormControl<any>, DoCheck, AfterViewInit, OnInit, OnDestroy {
private _elementRef;
private _renderer;
private _ngControl;
private _autofill;
private _destroyRef;
private _cdRef;
constructor(_elementRef: ElementRef, _renderer: Renderer2, _ngControl: NgControl, _autofill: AutofillMonitor, _destroyRef: DestroyRef);
readonly stateChanges: Subject<void>;
private _focused;
private _autofilled;
private _color;
ngOnInit(): void;
ngAfterViewInit(): void;
private _currentNativeValue;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get readonly(): boolean;
set readonly(value: boolean);
private _readonly;
get value(): string;
set value(value: string);
private _value;
private _updateTextColorForDateType;
_onFocus(): void;
_onBlur(): void;
ngDoCheck(): void;
get hasValue(): boolean;
get focused(): boolean;
get autofilled(): boolean;
get input(): HTMLInputElement;
get labelActive(): boolean;
private _hasTypeInterferingPlaceholder;
static ngAcceptInputType_disabled: BooleanInput;
static ngAcceptInputType_readonly: BooleanInput;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbInputDirective, [null, null, { optional: true; self: true; }, null, null]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbInputDirective, "[mdbInput]", ["mdbInput"], { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbLabelDirective {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<MdbLabelDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbLabelDirective, "[mdbLabel]", ["mdbLabel"], {}, {}, never, never, false, never>;
}
declare class MdbFormsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbFormsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbFormsModule, [typeof MdbFormControlComponent, typeof MdbInputDirective, typeof MdbLabelDirective], [typeof i4.CommonModule, typeof i5.FormsModule], [typeof MdbFormControlComponent, typeof MdbInputDirective, typeof MdbLabelDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbFormsModule>;
}
export { MdbAbstractFormControl, MdbFormControlComponent, MdbFormsModule, MdbInputDirective, MdbLabelDirective };
import * as i0 from '@angular/core';
import { ViewContainerRef, OnInit, AfterViewInit, OnDestroy, ElementRef, Renderer2, NgZone, ComponentRef, EmbeddedViewRef, Injector, TemplateRef } from '@angular/core';
import * as i3 from '@angular/cdk/overlay';
import { OverlayRef, Overlay } from '@angular/cdk/overlay';
import { Subject, Observable } from 'rxjs';
import * as i4 from '@angular/cdk/portal';
import { CdkPortalOutlet, ComponentPortal, TemplatePortal, ComponentType } from '@angular/cdk/portal';
import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
import * as i2 from '@angular/common';
declare class MdbModalConfig<D = any> {
animation?: boolean;
backdrop?: boolean;
ignoreBackdropClick?: boolean;
keyboard?: boolean;
modalClass?: string;
containerClass?: string;
viewContainerRef?: ViewContainerRef;
data?: D | null;
nonInvasive?: boolean;
focusElementSelector?: string;
}
declare class MdbModalContainerComponent implements OnInit, AfterViewInit, OnDestroy {
private _document;
_elementRef: ElementRef;
private _renderer;
private _focusTrapFactory;
private _ngZone;
_portalOutlet: CdkPortalOutlet;
modalDialog: ElementRef;
modalContent: ElementRef;
readonly _destroy$: Subject<void>;
readonly backdropClick$: Subject<MouseEvent>;
_config: MdbModalConfig;
BACKDROP_TRANSITION: number;
MODAL_TRANSITION: number;
NON_INVASIVE_TRANSITION: number;
private _previouslyFocusedElement;
private _focusTrap;
modal: boolean;
get hasAnimation(): boolean;
onWindowResize(): void;
get host(): HTMLElement;
private _isScrollable;
private _isBottomRight;
private _isBottomLeft;
private _isTopRight;
private _isTopLeft;
private _isSideTopModal;
private _isSideBottomModal;
private _isSideModal;
private _isModalBottom;
private _modalContentRect;
private _modalContentComputedStyles;
private _modalDialogComputedStyles;
private _topOffset;
private _leftOffset;
private _rightOffset;
private _bottomOffset;
constructor(_document: any, _elementRef: ElementRef, _renderer: Renderer2, _focusTrapFactory: ConfigurableFocusTrapFactory, _ngZone: NgZone);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _updateContainerClass;
private _onNonInvasiveModalShown;
private _setNonInvasiveStyles;
_onNonInvasiveModalHidden(): void;
private _resetNonInvasiveStyles;
private _removeNonInvasiveClass;
private _handleWindowResize;
_close(): void;
_restoreScrollbar(): void;
attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalContainerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbModalContainerComponent, "mdb-modal-container", never, {}, {}, never, never, false, never>;
}
declare class MdbModalRef<T> {
protected _overlayRef: OverlayRef;
private _container;
constructor(_overlayRef: OverlayRef, _container: MdbModalContainerComponent);
component: T;
private readonly onClose$;
readonly onClose: Observable<any>;
close(message?: any): void;
}
declare class MdbModalService {
private _document;
private _overlay;
private _injector;
constructor(_document: any, _overlay: Overlay, _injector: Injector);
open<T, D = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, config?: MdbModalConfig<D>): MdbModalRef<T>;
private _createOverlay;
private _getOverlayConfig;
private _createContainer;
private _createContent;
private _createInjector;
private _registerListeners;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MdbModalService>;
}
declare class MdbModalModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbModalModule, [typeof MdbModalContainerComponent], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.PortalModule], [typeof MdbModalContainerComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbModalModule>;
}
export { MdbModalConfig, MdbModalContainerComponent, MdbModalModule, MdbModalRef, MdbModalService };
import * as i0 from '@angular/core';
import { OnInit, OnDestroy, TemplateRef, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
import * as i4 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import * as i3 from '@angular/common';
type MdbPopoverPosition = 'top' | 'right' | 'bottom' | 'left';
declare class MdbPopoverDirective implements OnInit, OnDestroy {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
animation: boolean;
delayHide: number;
delayShow: number;
mdbPopover: TemplateRef<any> | string;
mdbPopoverData: any;
mdbPopoverTitle: string;
offset: number;
placement: MdbPopoverPosition;
popoverDisabled: boolean;
trigger: string;
popoverShow: EventEmitter<MdbPopoverDirective>;
popoverShown: EventEmitter<MdbPopoverDirective>;
popoverHide: EventEmitter<MdbPopoverDirective>;
popoverHidden: EventEmitter<MdbPopoverDirective>;
private _overlayRef;
private _tooltipRef;
private _open;
private _showTimeout;
private _hideTimeout;
readonly _destroy$: Subject<void>;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef);
ngOnInit(): void;
ngOnDestroy(): void;
private _bindTriggerEvents;
private _createOverlayConfig;
private _createOverlay;
private _getPosition;
show(): void;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbPopoverDirective, "[mdbPopover]", ["mdbPopover"], { "animation": { "alias": "animation"; "required": false; }; "delayHide": { "alias": "delayHide"; "required": false; }; "delayShow": { "alias": "delayShow"; "required": false; }; "mdbPopover": { "alias": "mdbPopover"; "required": false; }; "mdbPopoverData": { "alias": "mdbPopoverData"; "required": false; }; "mdbPopoverTitle": { "alias": "mdbPopoverTitle"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "popoverDisabled": { "alias": "popoverDisabled"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; }, { "popoverShow": "popoverShow"; "popoverShown": "popoverShown"; "popoverHide": "popoverHide"; "popoverHidden": "popoverHidden"; }, never, never, false, never>;
static ngAcceptInputType_animation: unknown;
static ngAcceptInputType_delayHide: unknown;
static ngAcceptInputType_delayShow: unknown;
static ngAcceptInputType_offset: unknown;
static ngAcceptInputType_popoverDisabled: unknown;
}
declare class MdbPopoverComponent {
private _cdRef;
animation: boolean;
content: string | TemplateRef<any>;
context: any;
title: string;
get isContentTemplate(): boolean;
readonly _hidden: Subject<void>;
animationState: string;
constructor(_cdRef: ChangeDetectorRef);
markForCheck(): void;
onAnimationEnd(event: AnimationEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbPopoverComponent, "mdb-popover", never, { "animation": { "alias": "animation"; "required": false; }; "content": { "alias": "content"; "required": false; }; "context": { "alias": "context"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, false, never>;
static ngAcceptInputType_animation: unknown;
}
declare class MdbPopoverModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbPopoverModule, [typeof MdbPopoverDirective, typeof MdbPopoverComponent], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof MdbPopoverDirective, typeof MdbPopoverComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbPopoverModule>;
}
export { MdbPopoverComponent, MdbPopoverDirective, MdbPopoverModule };
export type { MdbPopoverPosition };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { AfterContentInit, OnDestroy, QueryList } from '@angular/core';
import * as i4 from '@angular/forms';
import { ControlValueAccessor } from '@angular/forms';
import * as i3 from '@angular/common';
declare class MdbRadioDirective {
get name(): string;
set name(value: string);
private _name;
get checked(): boolean;
set checked(value: boolean);
private _checked;
get value(): any;
set value(value: any);
private _value;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get isDisabled(): boolean;
get isChecked(): boolean;
get nameAttr(): string;
constructor();
_updateName(value: string): void;
_updateChecked(value: boolean): void;
_updateDisabledState(value: boolean): void;
static ngAcceptInputType_checked: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRadioDirective, "[mdbRadio]", never, { "name": { "alias": "name"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
}
declare const MDB_RADIO_GROUP_VALUE_ACCESSOR: any;
declare class MdbRadioGroupDirective implements ControlValueAccessor, AfterContentInit, OnDestroy {
radios: QueryList<MdbRadioDirective>;
get value(): any;
set value(value: any);
private _value;
get name(): string;
set name(name: string);
private _name;
get disabled(): boolean;
set disabled(disabled: boolean);
private _disabled;
private _destroy$;
onChange: (_: any) => void;
onTouched: () => void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private _updateRadiosState;
private _updateNames;
private _updateChecked;
private _updateDisabled;
registerOnChange(fn: (value: any) => any): void;
registerOnTouched(fn: () => any): void;
setDisabledState(isDisabled: boolean): void;
writeValue(value: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioGroupDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRadioGroupDirective, "[mdbRadioGroup]", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["radios"], never, false, never>;
}
declare class MdbRadioModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRadioModule, [typeof MdbRadioDirective, typeof MdbRadioGroupDirective], [typeof i3.CommonModule, typeof i4.FormsModule], [typeof MdbRadioDirective, typeof MdbRadioGroupDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRadioModule>;
}
export { MDB_RADIO_GROUP_VALUE_ACCESSOR, MdbRadioDirective, MdbRadioGroupDirective, MdbRadioModule };
import * as i0 from '@angular/core';
import { AfterViewInit, ElementRef, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i3 from '@angular/forms';
import { ControlValueAccessor } from '@angular/forms';
import * as i2 from '@angular/common';
declare class MdbRangeComponent implements ControlValueAccessor, AfterViewInit {
private _cdRef;
input: ElementRef;
thumb: ElementRef;
thumbValue: ElementRef;
id: string;
required: boolean;
name: string;
value: string;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
label: string;
min: number;
max: number;
step: number;
get default(): boolean;
set default(value: boolean);
private _default;
defaultRangeCounterClass: string;
rangeValueChange: EventEmitter<any>;
visibility: boolean;
thumbStyle: any;
onchange(event: any): void;
onInput(): void;
constructor(_cdRef: ChangeDetectorRef);
ngAfterViewInit(): void;
focusRangeInput(): void;
blurRangeInput(): void;
thumbPositionUpdate(): void;
onChange: (_: any) => void;
onTouched: () => void;
writeValue(value: any): void;
registerOnChange(fn: (_: any) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
static ngAcceptInputType_default: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRangeComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbRangeComponent, "mdb-range", never, { "id": { "alias": "id"; "required": false; }; "required": { "alias": "required"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "default": { "alias": "default"; "required": false; }; "defaultRangeCounterClass": { "alias": "defaultRangeCounterClass"; "required": false; }; }, { "rangeValueChange": "rangeValueChange"; }, never, never, false, never>;
}
declare class MdbRangeModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRangeModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRangeModule, [typeof MdbRangeComponent], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof MdbRangeComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRangeModule>;
}
export { MdbRangeComponent, MdbRangeModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { ElementRef, Renderer2 } from '@angular/core';
declare class MdbRippleDirective {
private _elementRef;
private _renderer;
get rippleCentered(): boolean;
set rippleCentered(value: boolean);
private _rippleCentered;
rippleColor: string;
rippleDuration: string;
rippleRadius: number;
get rippleUnbound(): boolean;
set rippleUnbound(value: boolean);
private _rippleUnbound;
private _rippleInSpan;
private _rippleTimer;
constructor(_elementRef: ElementRef, _renderer: Renderer2);
get host(): HTMLElement;
ripple: boolean;
_createRipple(event: any): void;
private _createWrapperSpan;
_removeWrapperSpan(): void;
private _createHTMLRipple;
private _removeHTMLRipple;
_appendRipple(target: HTMLElement, parent: HTMLElement): void;
_toggleUnbound(target: HTMLElement): void;
_addColor(target: HTMLElement, parent: HTMLElement): void;
_removeOldColorClasses(target: HTMLElement): void;
static ngAcceptInputType_rippleCentered: BooleanInput;
static ngAcceptInputType_rippleUnbound: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRippleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRippleDirective, "[mdbRipple]", ["mdbRipple"], { "rippleCentered": { "alias": "rippleCentered"; "required": false; }; "rippleColor": { "alias": "rippleColor"; "required": false; }; "rippleDuration": { "alias": "rippleDuration"; "required": false; }; "rippleRadius": { "alias": "rippleRadius"; "required": false; }; "rippleUnbound": { "alias": "rippleUnbound"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbRippleModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRippleModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRippleModule, [typeof MdbRippleDirective], never, [typeof MdbRippleDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRippleModule>;
}
export { MdbRippleDirective, MdbRippleModule };
import * as i0 from '@angular/core';
import { OnInit, ChangeDetectorRef, QueryList, AfterContentInit, OnDestroy, EventEmitter, ElementRef, Renderer2, AfterViewInit, NgZone } from '@angular/core';
import { Observable, Subject, Subscription } from 'rxjs';
declare class MdbScrollspyLinkDirective implements OnInit {
private cdRef;
private document;
get scrollIntoView(): boolean;
set scrollIntoView(value: boolean);
private _scrollIntoView;
get section(): HTMLElement;
set section(value: HTMLElement);
private _section;
private _id;
constructor(cdRef: ChangeDetectorRef, document: any);
get id(): string;
set id(newId: string);
scrollspyLink: boolean;
active: boolean;
onClick(): void;
detectChanges(): void;
assignSectionToId(): void;
ngOnInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyLinkDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyLinkDirective, "[mdbScrollspyLink]", never, { "scrollIntoView": { "alias": "scrollIntoView"; "required": false; }; "id": { "alias": "mdbScrollspyLink"; "required": false; }; }, {}, never, never, false, never>;
}
interface MdbScrollspy {
id: string;
links: QueryList<MdbScrollspyLinkDirective>;
}
declare class MdbScrollspyService {
scrollSpys: MdbScrollspy[];
private activeSubject;
active$: Observable<any>;
addScrollspy(scrollSpy: MdbScrollspy): void;
removeScrollspy(scrollSpyId: string): void;
updateActiveState(scrollSpyId: string, activeLinkId: string): void;
removeActiveState(scrollSpyId: string, activeLinkId: string): void;
setActiveLink(activeLink: MdbScrollspyLinkDirective | any): void;
removeActiveLinks(scrollSpyId: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MdbScrollspyService>;
}
declare class MdbScrollspyDirective implements OnInit, AfterContentInit, OnDestroy {
private scrollSpyService;
private _elementRef;
private _renderer;
links: QueryList<MdbScrollspyLinkDirective>;
readonly _destroy$: Subject<void>;
get id(): string;
set id(newId: string);
private _id;
get collapsible(): boolean;
set collapsible(value: boolean);
private _collapsible;
private _isBrowser;
activeLinkChange: EventEmitter<any>;
activeSub: Subscription;
constructor(scrollSpyService: MdbScrollspyService, _elementRef: ElementRef, _renderer: Renderer2, platformId: Object);
get host(): HTMLElement;
collapsibleElementHeight: number;
ngOnInit(): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private styleCollapsibleElement;
private getAllSiblings;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbScrollspyDirective, "[mdbScrollspy]", never, { "id": { "alias": "mdbScrollspy"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; }, { "activeLinkChange": "activeLinkChange"; }, ["links"], ["*"], false, never>;
}
declare class MdbScrollspyElementDirective implements OnInit, AfterViewInit, OnDestroy {
private _elementRef;
private renderer;
private ngZone;
private scrollSpyService;
private _document;
private id;
private _unlisten;
private _lastInView;
get host(): HTMLElement;
container: HTMLElement;
get scrollSpyId(): string;
set scrollSpyId(newId: string);
private _scrollSpyId;
offset: number;
constructor(_elementRef: ElementRef, renderer: Renderer2, ngZone: NgZone, scrollSpyService: MdbScrollspyService, _document: any);
isElementInViewport(): boolean;
updateActiveState(scrollSpyId: string, id: string): void;
onScroll(): void;
listenToScroll(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _getClosestEl;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyElementDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyElementDirective, "[mdbScrollspyElement]", never, { "container": { "alias": "container"; "required": false; }; "scrollSpyId": { "alias": "mdbScrollspyElement"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbScrollspyWindowDirective implements OnInit, AfterViewInit, OnDestroy {
private document;
private el;
private renderer;
private ngZone;
private scrollSpyService;
private id;
private _unlisten;
private _lastInView;
get scrollSpyId(): string;
set scrollSpyId(newId: string);
private _scrollSpyId;
offset: number;
constructor(document: any, el: ElementRef, renderer: Renderer2, ngZone: NgZone, scrollSpyService: MdbScrollspyService);
isElementInViewport(): boolean;
updateActiveState(scrollSpyId: string, id: string): void;
onScroll(): void;
listenToScroll(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyWindowDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyWindowDirective, "[mdbScrollspyWindow]", never, { "scrollSpyId": { "alias": "mdbScrollspyWindow"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbScrollspyModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbScrollspyModule, [typeof MdbScrollspyDirective, typeof MdbScrollspyLinkDirective, typeof MdbScrollspyElementDirective, typeof MdbScrollspyWindowDirective], never, [typeof MdbScrollspyDirective, typeof MdbScrollspyLinkDirective, typeof MdbScrollspyElementDirective, typeof MdbScrollspyWindowDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbScrollspyModule>;
}
export { MdbScrollspyDirective, MdbScrollspyElementDirective, MdbScrollspyLinkDirective, MdbScrollspyModule, MdbScrollspyService, MdbScrollspyWindowDirective };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i7 from '@angular/cdk/portal';
import { TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
import * as i0 from '@angular/core';
import { OnInit, TemplateRef, ViewContainerRef, ChangeDetectorRef, AfterContentInit, OnDestroy, QueryList, EventEmitter } from '@angular/core';
import { Subject } from 'rxjs';
import * as i6 from '@angular/common';
declare class MdbTabComponent implements OnInit {
private _vcr;
private _cdRef;
_lazyContent: TemplateRef<any>;
_titleContent: TemplateRef<any>;
_content: TemplateRef<any>;
readonly activeStateChange$: Subject<boolean>;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get fade(): boolean;
set fade(value: boolean);
private _fade;
title: string;
get content(): TemplatePortal | null;
get titleContent(): TemplatePortal | null;
get shouldAttach(): boolean;
private _contentPortal;
private _titlePortal;
get active(): boolean;
set active(value: boolean);
private _active;
get show(): boolean;
set show(value: boolean);
private _show;
constructor(_vcr: ViewContainerRef, _cdRef: ChangeDetectorRef);
ngOnInit(): void;
private _createContentPortal;
private _createTitlePortal;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTabComponent, "mdb-tab", never, { "disabled": { "alias": "disabled"; "required": false; }; "fade": { "alias": "fade"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, ["_lazyContent", "_titleContent"], ["*"], false, never>;
}
declare class MdbTabContentDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabContentDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabContentDirective, "[mdbTabContent]", never, {}, {}, never, never, false, never>;
}
declare class MdbTabTitleDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabTitleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabTitleDirective, "[mdbTabTitle]", never, {}, {}, never, never, false, never>;
}
declare class MdbTabChange {
index: number;
tab: MdbTabComponent;
}
declare class MdbTabsComponent implements AfterContentInit, OnDestroy {
tabs: QueryList<MdbTabComponent>;
readonly _destroy$: Subject<void>;
get fill(): boolean;
set fill(value: boolean);
private _fill;
get justified(): boolean;
set justified(value: boolean);
private _justified;
get pills(): boolean;
set pills(value: boolean);
private _pills;
get vertical(): boolean;
set vertical(value: boolean);
private _vertical;
navColumnClass: string;
contentColumnClass: string;
private _cdRef;
get navColClass(): string;
get contentColClass(): string;
private _selectedIndex;
activeTabChange: EventEmitter<MdbTabChange>;
ngAfterContentInit(): void;
setActiveTab(index: number): void;
private _getTabChangeEvent;
private _getClosestTabIndex;
ngOnDestroy(): void;
static ngAcceptInputType_fill: BooleanInput;
static ngAcceptInputType_justified: BooleanInput;
static ngAcceptInputType_pills: BooleanInput;
static ngAcceptInputType_vertical: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabsComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTabsComponent, "mdb-tabs", never, { "fill": { "alias": "fill"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "pills": { "alias": "pills"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "navColumnClass": { "alias": "navColumnClass"; "required": false; }; "contentColumnClass": { "alias": "contentColumnClass"; "required": false; }; }, { "activeTabChange": "activeTabChange"; }, ["tabs"], never, false, never>;
}
declare class MdbTabPortalOutlet extends CdkPortalOutlet implements OnInit, OnDestroy {
readonly _destroy$: Subject<void>;
tab: MdbTabComponent;
constructor(_vcr: ViewContainerRef, _document: any);
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabPortalOutlet, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabPortalOutlet, "[mdbTabPortalOutlet]", never, { "tab": { "alias": "tab"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbTabsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbTabsModule, [typeof MdbTabComponent, typeof MdbTabContentDirective, typeof MdbTabTitleDirective, typeof MdbTabPortalOutlet, typeof MdbTabsComponent], [typeof i6.CommonModule, typeof i7.PortalModule], [typeof MdbTabComponent, typeof MdbTabContentDirective, typeof MdbTabTitleDirective, typeof MdbTabPortalOutlet, typeof MdbTabsComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbTabsModule>;
}
export { MdbTabChange, MdbTabComponent, MdbTabContentDirective, MdbTabPortalOutlet, MdbTabTitleDirective, MdbTabsComponent, MdbTabsModule };
import * as i0 from '@angular/core';
import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
import * as i4 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import * as i3 from '@angular/common';
type MdbTooltipPosition = 'top' | 'right' | 'bottom' | 'left';
declare class MdbTooltipDirective implements OnInit, OnDestroy {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
mdbTooltip: string;
tooltipDisabled: boolean;
placement: MdbTooltipPosition;
html: boolean;
animation: boolean;
trigger: string;
delayShow: number;
delayHide: number;
offset: number;
tooltipShow: EventEmitter<MdbTooltipDirective>;
tooltipShown: EventEmitter<MdbTooltipDirective>;
tooltipHide: EventEmitter<MdbTooltipDirective>;
tooltipHidden: EventEmitter<MdbTooltipDirective>;
private _overlayRef;
private _tooltipRef;
private _open;
private _showTimeout;
private _hideTimeout;
private _cdRef;
readonly _destroy$: Subject<void>;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef);
ngOnInit(): void;
ngOnDestroy(): void;
private _bindTriggerEvents;
private _createOverlayConfig;
private _createOverlay;
private _getPosition;
show(): void;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTooltipDirective, "[mdbTooltip]", ["mdbTooltip"], { "mdbTooltip": { "alias": "mdbTooltip"; "required": false; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "html": { "alias": "html"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "delayShow": { "alias": "delayShow"; "required": false; }; "delayHide": { "alias": "delayHide"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, { "tooltipShow": "tooltipShow"; "tooltipShown": "tooltipShown"; "tooltipHide": "tooltipHide"; "tooltipHidden": "tooltipHidden"; }, never, never, false, never>;
}
declare class MdbTooltipComponent {
private _cdRef;
title: string;
html: boolean;
animation: boolean;
tooltip: boolean;
readonly _hidden: Subject<void>;
animationState: string;
constructor(_cdRef: ChangeDetectorRef);
markForCheck(): void;
detectChanges(): void;
onAnimationEnd(event: AnimationEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTooltipComponent, "mdb-tooltip", never, { "title": { "alias": "title"; "required": false; }; "html": { "alias": "html"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbTooltipModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbTooltipModule, [typeof MdbTooltipDirective, typeof MdbTooltipComponent], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof MdbTooltipDirective, typeof MdbTooltipComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbTooltipModule>;
}
export { MdbTooltipComponent, MdbTooltipDirective, MdbTooltipModule };
export type { MdbTooltipPosition };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { OnInit, Renderer2, ElementRef, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import * as i4 from '@angular/common';
declare class MdbValidateDirective implements OnInit {
private renderer;
private _elementRef;
private _validate;
private _validateSuccess;
private _validateError;
get mdbValidate(): boolean;
set mdbValidate(value: boolean);
private _mdbValidate;
get validate(): boolean;
set validate(value: boolean);
get validateSuccess(): boolean;
set validateSuccess(value: boolean);
get validateError(): boolean;
set validateError(value: boolean);
constructor(renderer: Renderer2, _elementRef: ElementRef);
updateSuccessClass(): void;
updateErrorClass(): void;
ngOnInit(): void;
static ngAcceptInputType_mdbValidate: BooleanInput;
static ngAcceptInputType_validate: BooleanInput;
static ngAcceptInputType_validateSuccess: BooleanInput;
static ngAcceptInputType_validateError: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbValidateDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbValidateDirective, "[mdbValidate]", never, { "mdbValidate": { "alias": "mdbValidate"; "required": false; }; "validate": { "alias": "validate"; "required": false; }; "validateSuccess": { "alias": "validateSuccess"; "required": false; }; "validateError": { "alias": "validateError"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbErrorDirective implements OnInit, OnDestroy {
private _elementRef;
private renderer;
id: string;
errorMsg: boolean;
messageId: string;
readonly _destroy$: Subject<void>;
constructor(_elementRef: ElementRef, renderer: Renderer2);
private _getClosestEl;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbErrorDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbErrorDirective, "mdb-error", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbSuccessDirective implements OnInit, OnDestroy {
private _elementRef;
private renderer;
id: string;
successMsg: boolean;
messageId: string;
readonly _destroy$: Subject<void>;
constructor(_elementRef: ElementRef, renderer: Renderer2);
private _getClosestEl;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbSuccessDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbSuccessDirective, "mdb-success", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbValidationModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbValidationModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbValidationModule, [typeof MdbErrorDirective, typeof MdbSuccessDirective, typeof MdbValidateDirective], [typeof i4.CommonModule], [typeof MdbErrorDirective, typeof MdbSuccessDirective, typeof MdbValidateDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbValidationModule>;
}
export { MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective, MdbValidationModule };
+15
-0

@@ -0,1 +1,16 @@

## 10.0.0 (23.02.2026)
This version requires Angular v21. Follow the [Angular Update Guide](https://angular.dev/update-guide) to migrate your project to Angular 21.
### Breaking changes:
- Updated Angular to v21, this version is required in MDB Angular v10
### Fixes and improvements:
- Improved components change detection to ensure support for Zoneless applications
- [Sidenav](https://mdbootstrap.com/docs/angular/navigation/sidenav/) - fixed behavior of `slim` and `slimCollapsed` inputs
---
## 9.1.0 (15.12.2025)

@@ -2,0 +17,0 @@

+17
-17

@@ -17,6 +17,6 @@ import * as i0 from '@angular/core';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemBodyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbAccordionItemBodyDirective, isStandalone: false, selector: "[mdbAccordionItemBody]", providers: [{ provide: MDB_ACCORDION_ITEM_BODY, useExisting: MdbAccordionItemBodyDirective }], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemBodyDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbAccordionItemBodyDirective, isStandalone: false, selector: "[mdbAccordionItemBody]", providers: [{ provide: MDB_ACCORDION_ITEM_BODY, useExisting: MdbAccordionItemBodyDirective }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemBodyDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemBodyDirective, decorators: [{
type: Directive,

@@ -37,6 +37,6 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemHeaderDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbAccordionItemHeaderDirective, isStandalone: false, selector: "[mdbAccordionItemHeader]", providers: [{ provide: MDB_ACCORDION_ITEM_HEADER, useExisting: MdbAccordionItemHeaderDirective }], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemHeaderDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbAccordionItemHeaderDirective, isStandalone: false, selector: "[mdbAccordionItemHeader]", providers: [{ provide: MDB_ACCORDION_ITEM_HEADER, useExisting: MdbAccordionItemHeaderDirective }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemHeaderDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemHeaderDirective, decorators: [{
type: Directive,

@@ -134,8 +134,8 @@ args: [{

static ngAcceptInputType_disabled;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbAccordionItemComponent, isStandalone: false, selector: "mdb-accordion-item", inputs: { disabled: "disabled", header: "header", collapsed: "collapsed", id: "id" }, outputs: { itemShow: "itemShow", itemShown: "itemShown", itemHide: "itemHide", itemHidden: "itemHidden" }, host: { properties: { "class.accordion-item": "this.accordionItem", "class.d-block": "this.accordionItemDisplayBlock" } }, queries: [{ propertyName: "_headerTemplate", first: true, predicate: MDB_ACCORDION_ITEM_HEADER, descendants: true, read: TemplateRef, static: true }, { propertyName: "_bodyTemplate", first: true, predicate: MDB_ACCORDION_ITEM_BODY, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "collapse", first: true, predicate: MdbCollapseDirective, descendants: true, static: true }], ngImport: i0, template: "<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n <ng-template *ngIf=\"_headerTemplate\" [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n <ng-template *ngIf=\"_bodyTemplate\" [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MdbCollapseDirective, selector: "[mdbCollapse]", inputs: ["collapsed"], outputs: ["collapseShow", "collapseShown", "collapseHide", "collapseHidden"], exportAs: ["mdbCollapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: MdbAccordionItemComponent, isStandalone: false, selector: "mdb-accordion-item", inputs: { disabled: "disabled", header: "header", collapsed: "collapsed", id: "id" }, outputs: { itemShow: "itemShow", itemShown: "itemShown", itemHide: "itemHide", itemHidden: "itemHidden" }, host: { properties: { "class.accordion-item": "this.accordionItem", "class.d-block": "this.accordionItemDisplayBlock" } }, queries: [{ propertyName: "_headerTemplate", first: true, predicate: MDB_ACCORDION_ITEM_HEADER, descendants: true, read: TemplateRef, static: true }, { propertyName: "_bodyTemplate", first: true, predicate: MDB_ACCORDION_ITEM_BODY, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "collapse", first: true, predicate: MdbCollapseDirective, descendants: true, static: true }], ngImport: i0, template: "<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n @if (_headerTemplate) {\n <ng-template [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n }\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n @if (_bodyTemplate) {\n <ng-template [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n }\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MdbCollapseDirective, selector: "[mdbCollapse]", inputs: ["collapsed"], outputs: ["collapseShow", "collapseShown", "collapseHide", "collapseHidden"], exportAs: ["mdbCollapse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionItemComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionItemComponent, decorators: [{
type: Component,
args: [{ selector: 'mdb-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n <ng-template *ngIf=\"_headerTemplate\" [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n <ng-template *ngIf=\"_bodyTemplate\" [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n </div>\n</div>\n" }]
args: [{ selector: 'mdb-accordion-item', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n @if (_headerTemplate) {\n <ng-template [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n }\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n @if (_bodyTemplate) {\n <ng-template [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n }\n </div>\n</div>\n" }]
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { _headerTemplate: [{

@@ -221,6 +221,6 @@ type: ContentChild,

static ngAcceptInputType_multiple;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbAccordionComponent, isStandalone: false, selector: "mdb-accordion", inputs: { borderless: "borderless", flush: "flush", multiple: "multiple" }, host: { properties: { "class.accordion": "this.accordion", "class.accordion-borderless": "this.addBorderlessClass", "class.accordion-flush": "this.addFlushClass" } }, queries: [{ propertyName: "items", predicate: MdbAccordionItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbAccordionComponent, isStandalone: false, selector: "mdb-accordion", inputs: { borderless: "borderless", flush: "flush", multiple: "multiple" }, host: { properties: { "class.accordion": "this.accordion", "class.accordion-borderless": "this.addBorderlessClass", "class.accordion-flush": "this.addFlushClass" } }, queries: [{ propertyName: "items", predicate: MdbAccordionItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionComponent, decorators: [{
type: Component,

@@ -249,4 +249,4 @@ args: [{ selector: 'mdb-accordion', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n" }]

class MdbAccordionModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionModule, declarations: [MdbAccordionComponent,
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionModule, declarations: [MdbAccordionComponent,
MdbAccordionItemComponent,

@@ -258,5 +258,5 @@ MdbAccordionItemHeaderDirective,

MdbAccordionItemBodyDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionModule, imports: [CommonModule, MdbCollapseModule] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionModule, imports: [CommonModule, MdbCollapseModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAccordionModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAccordionModule, decorators: [{
type: NgModule,

@@ -263,0 +263,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-accordion.mjs","sources":["../../../projects/mdb-angular-ui-kit/accordion/accordion-item-content.directive.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item-header.directive.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item.component.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item.component.html","../../../projects/mdb-angular-ui-kit/accordion/accordion.component.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion.component.html","../../../projects/mdb-angular-ui-kit/accordion/accordion.module.ts","../../../projects/mdb-angular-ui-kit/accordion/mdb-angular-ui-kit-accordion.ts"],"sourcesContent":["import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_ACCORDION_ITEM_BODY = new InjectionToken<MdbAccordionItemBodyDirective>(\n 'MdbAccordionItemBodyDirective'\n);\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbAccordionItemBody]',\n providers: [{ provide: MDB_ACCORDION_ITEM_BODY, useExisting: MdbAccordionItemBodyDirective }],\n standalone: false,\n})\nexport class MdbAccordionItemBodyDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_ACCORDION_ITEM_HEADER = new InjectionToken<MdbAccordionItemHeaderDirective>(\n 'MdbAccordionItemHeaderDirective'\n);\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbAccordionItemHeader]',\n providers: [{ provide: MDB_ACCORDION_ITEM_HEADER, useExisting: MdbAccordionItemHeaderDirective }],\n standalone: false,\n})\nexport class MdbAccordionItemHeaderDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MdbCollapseDirective } from 'mdb-angular-ui-kit/collapse';\nimport { Subject } from 'rxjs';\nimport { MDB_ACCORDION_ITEM_BODY } from './accordion-item-content.directive';\nimport { MDB_ACCORDION_ITEM_HEADER } from './accordion-item-header.directive';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nlet uniqueHeaderId = 0;\nlet uniqueId = 0;\n\n@Component({\n selector: 'mdb-accordion-item',\n templateUrl: './accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbAccordionItemComponent implements OnInit {\n @ContentChild(MDB_ACCORDION_ITEM_HEADER, { read: TemplateRef, static: true })\n _headerTemplate: TemplateRef<any>;\n\n @ContentChild(MDB_ACCORDION_ITEM_BODY, { read: TemplateRef, static: true })\n _bodyTemplate: TemplateRef<any>;\n\n @ViewChild(MdbCollapseDirective, { static: true }) collapse: MdbCollapseDirective;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input() header: string;\n @Input()\n set collapsed(value: boolean) {\n if (!this._isInitialized) {\n if (!value) {\n this._shouldOpenOnInit = true;\n }\n return;\n }\n\n if (value) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n @Input() id = `mdb-accordion-item-${uniqueId++}`;\n\n _headerId = `mdb-accordion-item-header-${uniqueHeaderId++}`;\n\n private _isInitialized = false;\n private _shouldOpenOnInit = false;\n\n @Output() itemShow: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemShown: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemHide: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemHidden: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n\n @HostBinding('class.accordion-item') accordionItem = true;\n @HostBinding('class.d-block') accordionItemDisplayBlock = true;\n\n ngOnInit(): void {\n this._isInitialized = true;\n\n if (this._shouldOpenOnInit) {\n this.show();\n }\n }\n\n show$ = new Subject<MdbAccordionItemComponent>();\n\n _collapsed = true;\n _addCollapsedClass = true;\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n\n this.collapse.toggle();\n }\n\n show(): void {\n this.collapse.show();\n this._cdRef.markForCheck();\n }\n\n hide(): void {\n this.collapse.hide();\n this._cdRef.markForCheck();\n }\n\n onShow(): void {\n this._addCollapsedClass = false;\n this.itemShow.emit(this);\n\n this.show$.next(this);\n }\n\n onHide(): void {\n this._addCollapsedClass = true;\n this.itemHide.emit(this);\n }\n\n onShown(): void {\n this._collapsed = false;\n this.itemShown.emit(this);\n }\n\n onHidden(): void {\n this._collapsed = true;\n this.itemHidden.emit(this);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n <ng-template *ngIf=\"_headerTemplate\" [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n <ng-template *ngIf=\"_bodyTemplate\" [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n </div>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n QueryList,\n} from '@angular/core';\nimport { startWith, switchMap } from 'rxjs/operators';\nimport { merge } from 'rxjs';\nimport { MdbAccordionItemComponent } from './accordion-item.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'mdb-accordion',\n templateUrl: './accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbAccordionComponent implements AfterContentInit {\n @ContentChildren(MdbAccordionItemComponent) items: QueryList<MdbAccordionItemComponent>;\n\n @Input()\n get borderless(): boolean {\n return this._borderless;\n }\n set borderless(value: boolean) {\n this._borderless = coerceBooleanProperty(value);\n }\n private _borderless = false;\n\n @Input()\n get flush(): boolean {\n return this._flush;\n }\n set flush(value: boolean) {\n this._flush = coerceBooleanProperty(value);\n }\n private _flush = false;\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n private _multiple = false;\n\n @HostBinding('class.accordion') accordion = true;\n\n @HostBinding('class.accordion-borderless')\n get addBorderlessClass(): boolean {\n return this.borderless;\n }\n\n @HostBinding('class.accordion-flush')\n get addFlushClass(): boolean {\n return this.flush;\n }\n\n constructor() {}\n\n ngAfterContentInit(): void {\n this.items.changes\n .pipe(\n startWith(this.items),\n switchMap((items: QueryList<MdbAccordionItemComponent>) => {\n return merge(...items.map((item: MdbAccordionItemComponent) => item.show$));\n })\n )\n .subscribe((clickedItem: MdbAccordionItemComponent) =>\n this._handleMultipleItems(clickedItem)\n );\n }\n\n private _handleMultipleItems(clickedItem: MdbAccordionItemComponent): void {\n if (!this.multiple) {\n const itemsToClose = this.items.filter(\n (item: MdbAccordionItemComponent) => item !== clickedItem && !item._collapsed\n );\n\n itemsToClose.forEach((item: MdbAccordionItemComponent) => item.hide());\n }\n }\n\n static ngAcceptInputType_borderless: BooleanInput;\n static ngAcceptInputType_flush: BooleanInput;\n static ngAcceptInputType_multiple: BooleanInput;\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbAccordionComponent } from './accordion.component';\nimport { MdbAccordionItemComponent } from './accordion-item.component';\nimport { MdbAccordionItemHeaderDirective } from './accordion-item-header.directive';\nimport { MdbAccordionItemBodyDirective } from './accordion-item-content.directive';\nimport { MdbCollapseModule } from 'mdb-angular-ui-kit/collapse';\n\n@NgModule({\n declarations: [\n MdbAccordionComponent,\n MdbAccordionItemComponent,\n MdbAccordionItemHeaderDirective,\n MdbAccordionItemBodyDirective,\n ],\n imports: [CommonModule, MdbCollapseModule],\n exports: [\n MdbAccordionComponent,\n MdbAccordionItemComponent,\n MdbAccordionItemHeaderDirective,\n MdbAccordionItemBodyDirective,\n ],\n})\nexport class MdbAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-accordion.mjs","sources":["../../../projects/mdb-angular-ui-kit/accordion/accordion-item-content.directive.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item-header.directive.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item.component.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion-item.component.html","../../../projects/mdb-angular-ui-kit/accordion/accordion.component.ts","../../../projects/mdb-angular-ui-kit/accordion/accordion.component.html","../../../projects/mdb-angular-ui-kit/accordion/accordion.module.ts","../../../projects/mdb-angular-ui-kit/accordion/mdb-angular-ui-kit-accordion.ts"],"sourcesContent":["import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_ACCORDION_ITEM_BODY = new InjectionToken<MdbAccordionItemBodyDirective>(\n 'MdbAccordionItemBodyDirective'\n);\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbAccordionItemBody]',\n providers: [{ provide: MDB_ACCORDION_ITEM_BODY, useExisting: MdbAccordionItemBodyDirective }],\n standalone: false,\n})\nexport class MdbAccordionItemBodyDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_ACCORDION_ITEM_HEADER = new InjectionToken<MdbAccordionItemHeaderDirective>(\n 'MdbAccordionItemHeaderDirective'\n);\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbAccordionItemHeader]',\n providers: [{ provide: MDB_ACCORDION_ITEM_HEADER, useExisting: MdbAccordionItemHeaderDirective }],\n standalone: false,\n})\nexport class MdbAccordionItemHeaderDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { MdbCollapseDirective } from 'mdb-angular-ui-kit/collapse';\nimport { Subject } from 'rxjs';\nimport { MDB_ACCORDION_ITEM_BODY } from './accordion-item-content.directive';\nimport { MDB_ACCORDION_ITEM_HEADER } from './accordion-item-header.directive';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nlet uniqueHeaderId = 0;\nlet uniqueId = 0;\n\n@Component({\n selector: 'mdb-accordion-item',\n templateUrl: './accordion-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbAccordionItemComponent implements OnInit {\n @ContentChild(MDB_ACCORDION_ITEM_HEADER, { read: TemplateRef, static: true })\n _headerTemplate: TemplateRef<any>;\n\n @ContentChild(MDB_ACCORDION_ITEM_BODY, { read: TemplateRef, static: true })\n _bodyTemplate: TemplateRef<any>;\n\n @ViewChild(MdbCollapseDirective, { static: true }) collapse: MdbCollapseDirective;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input() header: string;\n @Input()\n set collapsed(value: boolean) {\n if (!this._isInitialized) {\n if (!value) {\n this._shouldOpenOnInit = true;\n }\n return;\n }\n\n if (value) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n @Input() id = `mdb-accordion-item-${uniqueId++}`;\n\n _headerId = `mdb-accordion-item-header-${uniqueHeaderId++}`;\n\n private _isInitialized = false;\n private _shouldOpenOnInit = false;\n\n @Output() itemShow: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemShown: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemHide: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n @Output() itemHidden: EventEmitter<MdbAccordionItemComponent> = new EventEmitter();\n\n @HostBinding('class.accordion-item') accordionItem = true;\n @HostBinding('class.d-block') accordionItemDisplayBlock = true;\n\n ngOnInit(): void {\n this._isInitialized = true;\n\n if (this._shouldOpenOnInit) {\n this.show();\n }\n }\n\n show$ = new Subject<MdbAccordionItemComponent>();\n\n _collapsed = true;\n _addCollapsedClass = true;\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n\n this.collapse.toggle();\n }\n\n show(): void {\n this.collapse.show();\n this._cdRef.markForCheck();\n }\n\n hide(): void {\n this.collapse.hide();\n this._cdRef.markForCheck();\n }\n\n onShow(): void {\n this._addCollapsedClass = false;\n this.itemShow.emit(this);\n\n this.show$.next(this);\n }\n\n onHide(): void {\n this._addCollapsedClass = true;\n this.itemHide.emit(this);\n }\n\n onShown(): void {\n this._collapsed = false;\n this.itemShown.emit(this);\n }\n\n onHidden(): void {\n this._collapsed = true;\n this.itemHidden.emit(this);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<h2 class=\"accordion-header\" [id]=\"_headerId\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n [attr.aria-expanded]=\"!_collapsed\"\n [attr.aria-controls]=\"id\"\n [attr.disabled]=\"disabled ? '' : null\"\n [class.collapsed]=\"_addCollapsedClass\"\n (click)=\"toggle()\"\n >\n {{ header }}\n @if (_headerTemplate) {\n <ng-template [ngTemplateOutlet]=\"_headerTemplate\"></ng-template>\n }\n </button>\n</h2>\n<div\n mdbCollapse\n (collapseShow)=\"onShow()\"\n (collapseHide)=\"onHide()\"\n (collapseShown)=\"onShown()\"\n (collapseHidden)=\"onHidden()\"\n [attr.id]=\"id\"\n [attr.aria-labelledby]=\"_headerId\"\n>\n <div class=\"accordion-body\">\n @if (_bodyTemplate) {\n <ng-template [ngTemplateOutlet]=\"_bodyTemplate\"></ng-template>\n }\n </div>\n</div>\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n HostBinding,\n Input,\n QueryList,\n} from '@angular/core';\nimport { startWith, switchMap } from 'rxjs/operators';\nimport { merge } from 'rxjs';\nimport { MdbAccordionItemComponent } from './accordion-item.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\n@Component({\n selector: 'mdb-accordion',\n templateUrl: './accordion.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbAccordionComponent implements AfterContentInit {\n @ContentChildren(MdbAccordionItemComponent) items: QueryList<MdbAccordionItemComponent>;\n\n @Input()\n get borderless(): boolean {\n return this._borderless;\n }\n set borderless(value: boolean) {\n this._borderless = coerceBooleanProperty(value);\n }\n private _borderless = false;\n\n @Input()\n get flush(): boolean {\n return this._flush;\n }\n set flush(value: boolean) {\n this._flush = coerceBooleanProperty(value);\n }\n private _flush = false;\n\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n private _multiple = false;\n\n @HostBinding('class.accordion') accordion = true;\n\n @HostBinding('class.accordion-borderless')\n get addBorderlessClass(): boolean {\n return this.borderless;\n }\n\n @HostBinding('class.accordion-flush')\n get addFlushClass(): boolean {\n return this.flush;\n }\n\n constructor() {}\n\n ngAfterContentInit(): void {\n this.items.changes\n .pipe(\n startWith(this.items),\n switchMap((items: QueryList<MdbAccordionItemComponent>) => {\n return merge(...items.map((item: MdbAccordionItemComponent) => item.show$));\n })\n )\n .subscribe((clickedItem: MdbAccordionItemComponent) =>\n this._handleMultipleItems(clickedItem)\n );\n }\n\n private _handleMultipleItems(clickedItem: MdbAccordionItemComponent): void {\n if (!this.multiple) {\n const itemsToClose = this.items.filter(\n (item: MdbAccordionItemComponent) => item !== clickedItem && !item._collapsed\n );\n\n itemsToClose.forEach((item: MdbAccordionItemComponent) => item.hide());\n }\n }\n\n static ngAcceptInputType_borderless: BooleanInput;\n static ngAcceptInputType_flush: BooleanInput;\n static ngAcceptInputType_multiple: BooleanInput;\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbAccordionComponent } from './accordion.component';\nimport { MdbAccordionItemComponent } from './accordion-item.component';\nimport { MdbAccordionItemHeaderDirective } from './accordion-item-header.directive';\nimport { MdbAccordionItemBodyDirective } from './accordion-item-content.directive';\nimport { MdbCollapseModule } from 'mdb-angular-ui-kit/collapse';\n\n@NgModule({\n declarations: [\n MdbAccordionComponent,\n MdbAccordionItemComponent,\n MdbAccordionItemHeaderDirective,\n MdbAccordionItemBodyDirective,\n ],\n imports: [CommonModule, MdbCollapseModule],\n exports: [\n MdbAccordionComponent,\n MdbAccordionItemComponent,\n MdbAccordionItemHeaderDirective,\n MdbAccordionItemBodyDirective,\n ],\n})\nexport class MdbAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -1,2 +0,1 @@

import * as i1 from '@angular/common';
import { isPlatformBrowser, CommonModule } from '@angular/common';

@@ -24,6 +23,6 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbCarouselItemComponent, isStandalone: false, selector: "mdb-carousel-item", inputs: { interval: "interval" }, host: { properties: { "class.carousel-item": "this.carouselItem", "class.active": "this.active", "class.carousel-item-next": "this.next", "class.carousel-item-prev": "this.prev", "class.carousel-item-start": "this.start", "class.carousel-item-end": "this.end" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbCarouselItemComponent, isStandalone: false, selector: "mdb-carousel-item", inputs: { interval: "interval" }, host: { properties: { "class.carousel-item": "this.carouselItem", "class.active": "this.active", "class.carousel-item-next": "this.next", "class.carousel-item-prev": "this.prev", "class.carousel-item-start": "this.start", "class.carousel-item-end": "this.end" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselItemComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselItemComponent, decorators: [{
type: Component,

@@ -167,2 +166,3 @@ args: [{

ngOnDestroy() {
this._resetInterval();
this._destroy$.next();

@@ -174,4 +174,6 @@ this._destroy$.complete();

currentSlide.active = false;
this._syncItemClasses(currentSlide);
const newSlide = this.items[index];
newSlide.active = true;
this._syncItemClasses(newSlide);
this._activeSlide = index;

@@ -264,2 +266,3 @@ }

nextItem.next = true;
this._syncItemClasses(nextItem);
setTimeout(() => {

@@ -269,2 +272,4 @@ this._reflow(nextEl);

nextItem.start = true;
this._syncItemClasses(currentItem);
this._syncItemClasses(nextItem);
this._cdRef.markForCheck();

@@ -282,4 +287,7 @@ }, 0);

currentItem.next = false;
this._syncItemClasses(currentItem);
this._syncItemClasses(nextItem);
this.slideChange.emit();
this._isSliding = false;
this._cdRef.markForCheck();
});

@@ -290,2 +298,3 @@ this._emulateTransitionEnd(currentEl, transitionDuration);

nextItem.prev = true;
this._syncItemClasses(nextItem);
setTimeout(() => {

@@ -295,2 +304,4 @@ this._reflow(nextEl);

nextItem.end = true;
this._syncItemClasses(currentItem);
this._syncItemClasses(nextItem);
this._cdRef.markForCheck();

@@ -308,4 +319,7 @@ }, 0);

currentItem.prev = false;
this._syncItemClasses(currentItem);
this._syncItemClasses(nextItem);
this.slideChange.emit();
this._isSliding = false;
this._cdRef.markForCheck();
});

@@ -370,2 +384,10 @@ this._emulateTransitionEnd(currentEl, transitionDuration);

}
_syncItemClasses(item) {
const itemHost = item.host;
itemHost.classList.toggle('active', item.active);
itemHost.classList.toggle('carousel-item-next', item.next);
itemHost.classList.toggle('carousel-item-prev', item.prev);
itemHost.classList.toggle('carousel-item-start', item.start);
itemHost.classList.toggle('carousel-item-end', item.end);
}
static ngAcceptInputType_controls;

@@ -375,8 +397,8 @@ static ngAcceptInputType_dark;

static ngAcceptInputType_ride;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbCarouselComponent, isStandalone: false, selector: "mdb-carousel", inputs: { animation: "animation", controls: "controls", dark: "dark", indicators: "indicators", ride: "ride", interval: "interval", keyboard: "keyboard", pause: "pause", wrap: "wrap" }, outputs: { slide: "slide", slideChange: "slideChange" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "class.d-block": "this.display" } }, queries: [{ propertyName: "_items", predicate: MdbCarouselItemComponent }], ngImport: i0, template: "<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n <div class=\"carousel-indicators\" *ngIf=\"indicators\">\n <button\n *ngFor=\"let item of items; let i = index\"\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n </div>\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"controls\" class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button *ngIf=\"controls\" class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: MdbCarouselComponent, isStandalone: false, selector: "mdb-carousel", inputs: { animation: "animation", controls: "controls", dark: "dark", indicators: "indicators", ride: "ride", interval: "interval", keyboard: "keyboard", pause: "pause", wrap: "wrap" }, outputs: { slide: "slide", slideChange: "slideChange" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" }, properties: { "class.d-block": "this.display" } }, queries: [{ propertyName: "_items", predicate: MdbCarouselItemComponent }], ngImport: i0, template: "<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n }\n </div>\n }\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n @if (controls) {\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n } @if (controls) {\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n }\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselComponent, decorators: [{
type: Component,
args: [{ selector: 'mdb-carousel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n <div class=\"carousel-indicators\" *ngIf=\"indicators\">\n <button\n *ngFor=\"let item of items; let i = index\"\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n </div>\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"controls\" class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button *ngIf=\"controls\" class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>\n" }]
args: [{ selector: 'mdb-carousel', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n }\n </div>\n }\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n @if (controls) {\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n } @if (controls) {\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n }\n</div>\n" }]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{

@@ -422,7 +444,7 @@ type: Inject,

class MdbCarouselModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselModule, declarations: [MdbCarouselComponent, MdbCarouselItemComponent], imports: [CommonModule], exports: [MdbCarouselComponent, MdbCarouselItemComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselModule, imports: [CommonModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselModule, declarations: [MdbCarouselComponent, MdbCarouselItemComponent], imports: [CommonModule], exports: [MdbCarouselComponent, MdbCarouselItemComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselModule, imports: [CommonModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCarouselModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCarouselModule, decorators: [{
type: NgModule,

@@ -429,0 +451,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-carousel.mjs","sources":["../../../projects/mdb-angular-ui-kit/carousel/carousel-item.component.ts","../../../projects/mdb-angular-ui-kit/carousel/carousel.component.ts","../../../projects/mdb-angular-ui-kit/carousel/carousel.component.html","../../../projects/mdb-angular-ui-kit/carousel/carousel.module.ts","../../../projects/mdb-angular-ui-kit/carousel/mdb-angular-ui-kit-carousel.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'mdb-carousel-item',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\nexport class MdbCarouselItemComponent {\n @Input() interval: number | null = null;\n\n @HostBinding('class.carousel-item')\n carouselItem = true;\n\n @HostBinding('class.active') active = false;\n\n @HostBinding('class.carousel-item-next') next = false;\n @HostBinding('class.carousel-item-prev') prev = false;\n @HostBinding('class.carousel-item-start') start = false;\n @HostBinding('class.carousel-item-end') end = false;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n constructor(private _elementRef: ElementRef) {}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { MdbCarouselItemComponent } from './carousel-item.component';\n\nexport enum Direction {\n UNKNOWN,\n NEXT,\n PREV,\n}\n\n@Component({\n selector: 'mdb-carousel',\n templateUrl: './carousel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbCarouselComponent implements AfterViewInit, OnDestroy {\n @ContentChildren(MdbCarouselItemComponent) _items: QueryList<MdbCarouselItemComponent>;\n get items(): MdbCarouselItemComponent[] {\n return this._items && this._items.toArray();\n }\n\n @Input() animation: 'slide' | 'fade' = 'slide';\n\n @Input()\n get controls(): boolean {\n return this._controls;\n }\n set controls(value: boolean) {\n this._controls = coerceBooleanProperty(value);\n }\n private _controls = false;\n\n @Input()\n get dark(): boolean {\n return this._dark;\n }\n set dark(value: boolean) {\n this._dark = coerceBooleanProperty(value);\n }\n private _dark = false;\n\n @Input()\n get indicators(): boolean {\n return this._indicators;\n }\n set indicators(value: boolean) {\n this._indicators = coerceBooleanProperty(value);\n }\n private _indicators = false;\n\n @Input()\n get ride(): boolean {\n return this._ride;\n }\n set ride(value: boolean) {\n this._ride = coerceBooleanProperty(value);\n }\n private _ride = true;\n\n @Input()\n get interval(): number {\n return this._interval;\n }\n set interval(value: number) {\n this._interval = value;\n\n if (this.items) {\n this._restartInterval();\n }\n }\n private _interval = 5000;\n\n @Input() keyboard = true;\n @Input() pause = true;\n @Input() wrap = true;\n\n @Output() slide: EventEmitter<void> = new EventEmitter();\n @Output() slideChange: EventEmitter<void> = new EventEmitter();\n\n get activeSlide(): number {\n return this._activeSlide;\n }\n\n set activeSlide(index: number) {\n if (this.items.length && this._activeSlide !== index) {\n this._activeSlide = index;\n this._restartInterval();\n }\n }\n private _activeSlide = 0;\n\n private _lastInterval: any;\n private _isPlaying = false;\n private _isSliding = false;\n\n private readonly _destroy$: Subject<void> = new Subject<void>();\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.pause && this._isPlaying) {\n this.stop();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (this.pause && !this._isPlaying) {\n this.play();\n }\n }\n\n @HostBinding('class.d-block') display = true;\n\n private _isBrowser: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) platformId: string\n ) {\n this._isBrowser = isPlatformBrowser(platformId);\n }\n\n ngAfterViewInit(): void {\n Promise.resolve().then(() => {\n this._setActiveSlide(this._activeSlide);\n\n if (this._isBrowser && this.interval > 0 && this.ride) {\n this.play();\n }\n this._cdRef.markForCheck();\n });\n\n if (this._isBrowser && this.keyboard) {\n fromEvent(this._elementRef.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event: KeyboardEvent) => {\n if (event.key === 'ArrowRight') {\n this.next();\n } else if (event.key === 'ArrowLeft') {\n this.prev();\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setActiveSlide(index: number): void {\n const currentSlide = this.items[this._activeSlide];\n currentSlide.active = false;\n\n const newSlide = this.items[index];\n newSlide.active = true;\n this._activeSlide = index;\n }\n\n private _restartInterval(): void {\n if (!this._isBrowser) {\n return;\n }\n\n this._resetInterval();\n const activeElement = this.items[this.activeSlide];\n const interval = activeElement.interval ? activeElement.interval : this.interval;\n\n if (!isNaN(interval) && interval > 0) {\n this._lastInterval = setInterval(() => {\n const nInterval = +interval;\n if (this._isPlaying && !isNaN(nInterval) && nInterval > 0) {\n this.next();\n this._cdRef.markForCheck();\n } else {\n this.stop();\n }\n }, interval);\n }\n }\n\n private _resetInterval(): void {\n if (this._lastInterval) {\n clearInterval(this._lastInterval);\n this._lastInterval = null;\n }\n }\n\n play(): void {\n if (!this._isPlaying) {\n this._isPlaying = true;\n this._restartInterval();\n }\n }\n\n stop(): void {\n if (this._isPlaying) {\n this._isPlaying = false;\n this._resetInterval();\n }\n }\n\n to(index: number): void {\n if (index > this.items.length - 1 || index < 0) {\n return;\n }\n\n if (this.activeSlide === index) {\n this.stop();\n this.play();\n return;\n }\n\n const direction = index > this.activeSlide ? Direction.NEXT : Direction.PREV;\n\n this._animateSlides(direction, this.activeSlide, index);\n this.activeSlide = index;\n }\n\n next(): void {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n\n prev(): void {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n\n private _slide(direction: Direction): void {\n const isFirst = this._activeSlide === 0;\n const isLast = this._activeSlide === this.items.length - 1;\n\n if (!this.wrap) {\n if ((direction === Direction.NEXT && isLast) || (direction === Direction.PREV && isFirst)) {\n return;\n }\n }\n\n const newSlideIndex = this._getNewSlideIndex(direction);\n\n this._animateSlides(direction, this.activeSlide, newSlideIndex);\n this.activeSlide = newSlideIndex;\n\n this.slide.emit();\n }\n\n private _animateSlides(direction: Direction, currentIndex: number, nextIndex: number): void {\n const currentItem = this.items[currentIndex];\n const nextItem = this.items[nextIndex];\n const currentEl = currentItem.host;\n const nextEl = nextItem.host;\n\n this._isSliding = true;\n\n if (this._isPlaying) {\n this.stop();\n }\n\n if (direction === Direction.NEXT) {\n nextItem.next = true;\n\n setTimeout(() => {\n this._reflow(nextEl);\n currentItem.start = true;\n nextItem.start = true;\n this._cdRef.markForCheck();\n }, 0);\n\n const transitionDuration = 600;\n\n fromEvent(currentEl, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n nextItem.next = false;\n nextItem.start = false;\n nextItem.active = true;\n\n currentItem.active = false;\n currentItem.start = false;\n currentItem.next = false;\n\n this.slideChange.emit();\n this._isSliding = false;\n });\n\n this._emulateTransitionEnd(currentEl, transitionDuration);\n } else if (direction === Direction.PREV) {\n nextItem.prev = true;\n\n setTimeout(() => {\n this._reflow(nextEl);\n currentItem.end = true;\n nextItem.end = true;\n this._cdRef.markForCheck();\n }, 0);\n\n const transitionDuration = 600;\n\n fromEvent(currentEl, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n nextItem.prev = false;\n nextItem.end = false;\n nextItem.active = true;\n\n currentItem.active = false;\n currentItem.end = false;\n currentItem.prev = false;\n\n this.slideChange.emit();\n this._isSliding = false;\n });\n\n this._emulateTransitionEnd(currentEl, transitionDuration);\n }\n\n if (!this._isPlaying && this.interval > 0) {\n this.play();\n }\n }\n\n private _reflow(element: HTMLElement): number {\n return element.offsetHeight;\n }\n\n private _emulateTransitionEnd(element: HTMLElement, duration: number): void {\n let eventEmitted = false;\n const durationPadding = 5;\n const emulatedDuration = duration + durationPadding;\n\n fromEvent(element, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n eventEmitted = true;\n });\n\n setTimeout(() => {\n if (!eventEmitted) {\n element.dispatchEvent(new Event('transitionend'));\n }\n }, emulatedDuration);\n }\n\n private _getNewSlideIndex(direction: Direction): number {\n let newSlideIndex: number;\n\n if (direction === Direction.NEXT) {\n newSlideIndex = this._getNextSlideIndex();\n }\n\n if (direction === Direction.PREV) {\n newSlideIndex = this._getPrevSlideIndex();\n }\n\n return newSlideIndex;\n }\n\n private _getNextSlideIndex(): number {\n const isLast = this._activeSlide === this.items.length - 1;\n\n if (!isLast) {\n return this._activeSlide + 1;\n } else if (this.wrap && isLast) {\n return 0;\n } else {\n return this._activeSlide;\n }\n }\n\n private _getPrevSlideIndex(): number {\n const isFirst = this._activeSlide === 0;\n\n if (!isFirst) {\n return this._activeSlide - 1;\n } else if (this.wrap && isFirst) {\n return this.items.length - 1;\n } else {\n return this._activeSlide;\n }\n }\n\n static ngAcceptInputType_controls: BooleanInput;\n static ngAcceptInputType_dark: BooleanInput;\n static ngAcceptInputType_indicators: BooleanInput;\n static ngAcceptInputType_ride: BooleanInput;\n}\n","<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n <div class=\"carousel-indicators\" *ngIf=\"indicators\">\n <button\n *ngFor=\"let item of items; let i = index\"\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n </div>\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n <button *ngIf=\"controls\" class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button *ngIf=\"controls\" class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MdbCarouselComponent } from './carousel.component';\nimport { MdbCarouselItemComponent } from './carousel-item.component';\n\n@NgModule({\n declarations: [MdbCarouselComponent, MdbCarouselItemComponent],\n exports: [MdbCarouselComponent, MdbCarouselItemComponent],\n imports: [CommonModule],\n})\nexport class MdbCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-carousel.mjs","sources":["../../../projects/mdb-angular-ui-kit/carousel/carousel-item.component.ts","../../../projects/mdb-angular-ui-kit/carousel/carousel.component.ts","../../../projects/mdb-angular-ui-kit/carousel/carousel.component.html","../../../projects/mdb-angular-ui-kit/carousel/carousel.module.ts","../../../projects/mdb-angular-ui-kit/carousel/mdb-angular-ui-kit-carousel.ts"],"sourcesContent":["import { Component, ElementRef, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'mdb-carousel-item',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\nexport class MdbCarouselItemComponent {\n @Input() interval: number | null = null;\n\n @HostBinding('class.carousel-item')\n carouselItem = true;\n\n @HostBinding('class.active') active = false;\n\n @HostBinding('class.carousel-item-next') next = false;\n @HostBinding('class.carousel-item-prev') prev = false;\n @HostBinding('class.carousel-item-start') start = false;\n @HostBinding('class.carousel-item-end') end = false;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n constructor(private _elementRef: ElementRef) {}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { take, takeUntil } from 'rxjs/operators';\nimport { MdbCarouselItemComponent } from './carousel-item.component';\n\nexport enum Direction {\n UNKNOWN,\n NEXT,\n PREV,\n}\n\n@Component({\n selector: 'mdb-carousel',\n templateUrl: './carousel.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbCarouselComponent implements AfterViewInit, OnDestroy {\n @ContentChildren(MdbCarouselItemComponent) _items: QueryList<MdbCarouselItemComponent>;\n get items(): MdbCarouselItemComponent[] {\n return this._items && this._items.toArray();\n }\n\n @Input() animation: 'slide' | 'fade' = 'slide';\n\n @Input()\n get controls(): boolean {\n return this._controls;\n }\n set controls(value: boolean) {\n this._controls = coerceBooleanProperty(value);\n }\n private _controls = false;\n\n @Input()\n get dark(): boolean {\n return this._dark;\n }\n set dark(value: boolean) {\n this._dark = coerceBooleanProperty(value);\n }\n private _dark = false;\n\n @Input()\n get indicators(): boolean {\n return this._indicators;\n }\n set indicators(value: boolean) {\n this._indicators = coerceBooleanProperty(value);\n }\n private _indicators = false;\n\n @Input()\n get ride(): boolean {\n return this._ride;\n }\n set ride(value: boolean) {\n this._ride = coerceBooleanProperty(value);\n }\n private _ride = true;\n\n @Input()\n get interval(): number {\n return this._interval;\n }\n set interval(value: number) {\n this._interval = value;\n\n if (this.items) {\n this._restartInterval();\n }\n }\n private _interval = 5000;\n\n @Input() keyboard = true;\n @Input() pause = true;\n @Input() wrap = true;\n\n @Output() slide: EventEmitter<void> = new EventEmitter();\n @Output() slideChange: EventEmitter<void> = new EventEmitter();\n\n get activeSlide(): number {\n return this._activeSlide;\n }\n\n set activeSlide(index: number) {\n if (this.items.length && this._activeSlide !== index) {\n this._activeSlide = index;\n this._restartInterval();\n }\n }\n private _activeSlide = 0;\n\n private _lastInterval: any;\n private _isPlaying = false;\n private _isSliding = false;\n\n private readonly _destroy$: Subject<void> = new Subject<void>();\n\n @HostListener('mouseenter')\n onMouseEnter(): void {\n if (this.pause && this._isPlaying) {\n this.stop();\n }\n }\n\n @HostListener('mouseleave')\n onMouseLeave(): void {\n if (this.pause && !this._isPlaying) {\n this.play();\n }\n }\n\n @HostBinding('class.d-block') display = true;\n\n private _isBrowser: boolean;\n\n constructor(\n private _elementRef: ElementRef,\n private _cdRef: ChangeDetectorRef,\n @Inject(PLATFORM_ID) platformId: string\n ) {\n this._isBrowser = isPlatformBrowser(platformId);\n }\n\n ngAfterViewInit(): void {\n Promise.resolve().then(() => {\n this._setActiveSlide(this._activeSlide);\n\n if (this._isBrowser && this.interval > 0 && this.ride) {\n this.play();\n }\n this._cdRef.markForCheck();\n });\n\n if (this._isBrowser && this.keyboard) {\n fromEvent(this._elementRef.nativeElement, 'keydown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event: KeyboardEvent) => {\n if (event.key === 'ArrowRight') {\n this.next();\n } else if (event.key === 'ArrowLeft') {\n this.prev();\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this._resetInterval();\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _setActiveSlide(index: number): void {\n const currentSlide = this.items[this._activeSlide];\n currentSlide.active = false;\n this._syncItemClasses(currentSlide);\n\n const newSlide = this.items[index];\n newSlide.active = true;\n this._syncItemClasses(newSlide);\n this._activeSlide = index;\n }\n\n private _restartInterval(): void {\n if (!this._isBrowser) {\n return;\n }\n\n this._resetInterval();\n const activeElement = this.items[this.activeSlide];\n const interval = activeElement.interval ? activeElement.interval : this.interval;\n\n if (!isNaN(interval) && interval > 0) {\n this._lastInterval = setInterval(() => {\n const nInterval = +interval;\n if (this._isPlaying && !isNaN(nInterval) && nInterval > 0) {\n this.next();\n this._cdRef.markForCheck();\n } else {\n this.stop();\n }\n }, interval);\n }\n }\n\n private _resetInterval(): void {\n if (this._lastInterval) {\n clearInterval(this._lastInterval);\n this._lastInterval = null;\n }\n }\n\n play(): void {\n if (!this._isPlaying) {\n this._isPlaying = true;\n this._restartInterval();\n }\n }\n\n stop(): void {\n if (this._isPlaying) {\n this._isPlaying = false;\n this._resetInterval();\n }\n }\n\n to(index: number): void {\n if (index > this.items.length - 1 || index < 0) {\n return;\n }\n\n if (this.activeSlide === index) {\n this.stop();\n this.play();\n return;\n }\n\n const direction = index > this.activeSlide ? Direction.NEXT : Direction.PREV;\n\n this._animateSlides(direction, this.activeSlide, index);\n this.activeSlide = index;\n }\n\n next(): void {\n if (!this._isSliding) {\n this._slide(Direction.NEXT);\n }\n }\n\n prev(): void {\n if (!this._isSliding) {\n this._slide(Direction.PREV);\n }\n }\n\n private _slide(direction: Direction): void {\n const isFirst = this._activeSlide === 0;\n const isLast = this._activeSlide === this.items.length - 1;\n\n if (!this.wrap) {\n if ((direction === Direction.NEXT && isLast) || (direction === Direction.PREV && isFirst)) {\n return;\n }\n }\n\n const newSlideIndex = this._getNewSlideIndex(direction);\n\n this._animateSlides(direction, this.activeSlide, newSlideIndex);\n this.activeSlide = newSlideIndex;\n\n this.slide.emit();\n }\n\n private _animateSlides(direction: Direction, currentIndex: number, nextIndex: number): void {\n const currentItem = this.items[currentIndex];\n const nextItem = this.items[nextIndex];\n const currentEl = currentItem.host;\n const nextEl = nextItem.host;\n\n this._isSliding = true;\n\n if (this._isPlaying) {\n this.stop();\n }\n\n if (direction === Direction.NEXT) {\n nextItem.next = true;\n this._syncItemClasses(nextItem);\n\n setTimeout(() => {\n this._reflow(nextEl);\n currentItem.start = true;\n nextItem.start = true;\n this._syncItemClasses(currentItem);\n this._syncItemClasses(nextItem);\n this._cdRef.markForCheck();\n }, 0);\n\n const transitionDuration = 600;\n\n fromEvent(currentEl, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n nextItem.next = false;\n nextItem.start = false;\n nextItem.active = true;\n\n currentItem.active = false;\n currentItem.start = false;\n currentItem.next = false;\n\n this._syncItemClasses(currentItem);\n this._syncItemClasses(nextItem);\n\n this.slideChange.emit();\n this._isSliding = false;\n this._cdRef.markForCheck();\n });\n\n this._emulateTransitionEnd(currentEl, transitionDuration);\n } else if (direction === Direction.PREV) {\n nextItem.prev = true;\n this._syncItemClasses(nextItem);\n\n setTimeout(() => {\n this._reflow(nextEl);\n currentItem.end = true;\n nextItem.end = true;\n this._syncItemClasses(currentItem);\n this._syncItemClasses(nextItem);\n this._cdRef.markForCheck();\n }, 0);\n\n const transitionDuration = 600;\n\n fromEvent(currentEl, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n nextItem.prev = false;\n nextItem.end = false;\n nextItem.active = true;\n\n currentItem.active = false;\n currentItem.end = false;\n currentItem.prev = false;\n\n this._syncItemClasses(currentItem);\n this._syncItemClasses(nextItem);\n\n this.slideChange.emit();\n this._isSliding = false;\n this._cdRef.markForCheck();\n });\n\n this._emulateTransitionEnd(currentEl, transitionDuration);\n }\n\n if (!this._isPlaying && this.interval > 0) {\n this.play();\n }\n }\n\n private _reflow(element: HTMLElement): number {\n return element.offsetHeight;\n }\n\n private _emulateTransitionEnd(element: HTMLElement, duration: number): void {\n let eventEmitted = false;\n const durationPadding = 5;\n const emulatedDuration = duration + durationPadding;\n\n fromEvent(element, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n eventEmitted = true;\n });\n\n setTimeout(() => {\n if (!eventEmitted) {\n element.dispatchEvent(new Event('transitionend'));\n }\n }, emulatedDuration);\n }\n\n private _getNewSlideIndex(direction: Direction): number {\n let newSlideIndex: number;\n\n if (direction === Direction.NEXT) {\n newSlideIndex = this._getNextSlideIndex();\n }\n\n if (direction === Direction.PREV) {\n newSlideIndex = this._getPrevSlideIndex();\n }\n\n return newSlideIndex;\n }\n\n private _getNextSlideIndex(): number {\n const isLast = this._activeSlide === this.items.length - 1;\n\n if (!isLast) {\n return this._activeSlide + 1;\n } else if (this.wrap && isLast) {\n return 0;\n } else {\n return this._activeSlide;\n }\n }\n\n private _getPrevSlideIndex(): number {\n const isFirst = this._activeSlide === 0;\n\n if (!isFirst) {\n return this._activeSlide - 1;\n } else if (this.wrap && isFirst) {\n return this.items.length - 1;\n } else {\n return this._activeSlide;\n }\n }\n\n private _syncItemClasses(item: MdbCarouselItemComponent): void {\n const itemHost = item.host;\n itemHost.classList.toggle('active', item.active);\n itemHost.classList.toggle('carousel-item-next', item.next);\n itemHost.classList.toggle('carousel-item-prev', item.prev);\n itemHost.classList.toggle('carousel-item-start', item.start);\n itemHost.classList.toggle('carousel-item-end', item.end);\n }\n\n static ngAcceptInputType_controls: BooleanInput;\n static ngAcceptInputType_dark: BooleanInput;\n static ngAcceptInputType_indicators: BooleanInput;\n static ngAcceptInputType_ride: BooleanInput;\n}\n","<div\n class=\"carousel slide\"\n [class.carousel-fade]=\"animation === 'fade'\"\n [class.carousel-dark]=\"dark\"\n>\n @if (indicators) {\n <div class=\"carousel-indicators\">\n @for (item of items; track item; let i = $index) {\n <button\n type=\"button\"\n [class.active]=\"i === activeSlide\"\n [attr.aria-current]=\"i === activeSlide\"\n (click)=\"to(i)\"\n ></button>\n }\n </div>\n }\n\n <div class=\"carousel-inner\">\n <ng-content></ng-content>\n </div>\n\n @if (controls) {\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"prev()\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n } @if (controls) {\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MdbCarouselComponent } from './carousel.component';\nimport { MdbCarouselItemComponent } from './carousel-item.component';\n\n@NgModule({\n declarations: [MdbCarouselComponent, MdbCarouselItemComponent],\n exports: [MdbCarouselComponent, MdbCarouselItemComponent],\n imports: [CommonModule],\n})\nexport class MdbCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
import { coerceBooleanProperty } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { forwardRef, EventEmitter, HostListener, HostBinding, Output, Input, Directive, NgModule } from '@angular/core';
import { forwardRef, EventEmitter, inject, ChangeDetectorRef, HostListener, HostBinding, Output, Input, Directive, NgModule } from '@angular/core';
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';

@@ -51,3 +51,3 @@ import { CommonModule } from '@angular/common';

}
constructor() { }
_cdRef = inject(ChangeDetectorRef);
get changeEvent() {

@@ -66,2 +66,3 @@ const newChangeEvent = new MdbCheckboxChange();

this.onCheckboxChange();
this._cdRef.markForCheck();
}

@@ -77,2 +78,3 @@ onCheckboxChange() {

this.checked = !!value;
this._cdRef.markForCheck();
}

@@ -87,9 +89,10 @@ registerOnChange(fn) {

this.disabled = isDisabled;
this._cdRef.markForCheck();
}
static ngAcceptInputType_checked;
static ngAcceptInputType_disabled;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbCheckboxDirective, isStandalone: false, selector: "[mdbCheckbox]", inputs: { checked: "checked", value: "value", disabled: "disabled" }, outputs: { checkboxChange: "checkboxChange" }, host: { listeners: { "click": "onCheckboxClick()", "blur": "onBlur()" }, properties: { "disabled": "this.isDisabled", "checked": "this.isChecked" } }, providers: [MDB_CHECKBOX_VALUE_ACCESSOR], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbCheckboxDirective, isStandalone: false, selector: "[mdbCheckbox]", inputs: { checked: "checked", value: "value", disabled: "disabled" }, outputs: { checkboxChange: "checkboxChange" }, host: { listeners: { "click": "onCheckboxClick()", "blur": "onBlur()" }, properties: { "disabled": "this.isDisabled", "checked": "this.isChecked" } }, providers: [MDB_CHECKBOX_VALUE_ACCESSOR], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxDirective, decorators: [{
type: Directive,

@@ -102,3 +105,3 @@ args: [{

}]
}], ctorParameters: () => [], propDecorators: { checked: [{
}], propDecorators: { checked: [{
type: Input,

@@ -129,7 +132,7 @@ args: ['checked']

class MdbCheckboxModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxModule, declarations: [MdbCheckboxDirective], imports: [CommonModule, FormsModule], exports: [MdbCheckboxDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxModule, imports: [CommonModule, FormsModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxModule, declarations: [MdbCheckboxDirective], imports: [CommonModule, FormsModule], exports: [MdbCheckboxDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxModule, imports: [CommonModule, FormsModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCheckboxModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCheckboxModule, decorators: [{
type: NgModule,

@@ -136,0 +139,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-checkbox.mjs","sources":["../../../projects/mdb-angular-ui-kit/checkbox/checkbox.directive.ts","../../../projects/mdb-angular-ui-kit/checkbox/checkbox.module.ts","../../../projects/mdb-angular-ui-kit/checkbox/mdb-angular-ui-kit-checkbox.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n EventEmitter,\n forwardRef,\n Input,\n Output,\n Directive,\n HostBinding,\n HostListener,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const MDB_CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbCheckboxDirective),\n multi: true,\n};\n\nexport class MdbCheckboxChange {\n element: MdbCheckboxDirective;\n checked: boolean;\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbCheckbox]',\n providers: [MDB_CHECKBOX_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class MdbCheckboxDirective {\n @Input('checked')\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n @Input('value')\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n }\n private _value: any = null;\n\n @Input('disabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() checkboxChange: EventEmitter<MdbCheckboxChange> = new EventEmitter<MdbCheckboxChange>();\n\n @HostBinding('disabled')\n get isDisabled(): boolean {\n return this._disabled;\n }\n\n @HostBinding('checked')\n get isChecked(): boolean {\n return this._checked;\n }\n\n @HostListener('click')\n onCheckboxClick(): void {\n this.toggle();\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onTouched();\n }\n\n constructor() {}\n\n get changeEvent(): MdbCheckboxChange {\n const newChangeEvent = new MdbCheckboxChange();\n newChangeEvent.element = this;\n newChangeEvent.checked = this.checked;\n return newChangeEvent;\n }\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n this._checked = !this._checked;\n this.onChange(this.checked);\n this.onCheckboxChange();\n }\n\n onCheckboxChange(): void {\n this.checkboxChange.emit(this.changeEvent);\n }\n\n // Control Value Accessor Methods\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n this.checked = !!value;\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbCheckboxDirective } from './checkbox.directive';\n\n@NgModule({\n declarations: [MdbCheckboxDirective],\n exports: [MdbCheckboxDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-checkbox.mjs","sources":["../../../projects/mdb-angular-ui-kit/checkbox/checkbox.directive.ts","../../../projects/mdb-angular-ui-kit/checkbox/checkbox.module.ts","../../../projects/mdb-angular-ui-kit/checkbox/mdb-angular-ui-kit-checkbox.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectorRef,\n EventEmitter,\n forwardRef,\n Input,\n Output,\n Directive,\n HostBinding,\n HostListener,\n inject,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const MDB_CHECKBOX_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbCheckboxDirective),\n multi: true,\n};\n\nexport class MdbCheckboxChange {\n element: MdbCheckboxDirective;\n checked: boolean;\n}\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbCheckbox]',\n providers: [MDB_CHECKBOX_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class MdbCheckboxDirective {\n @Input('checked')\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n @Input('value')\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n }\n private _value: any = null;\n\n @Input('disabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Output() checkboxChange: EventEmitter<MdbCheckboxChange> = new EventEmitter<MdbCheckboxChange>();\n\n @HostBinding('disabled')\n get isDisabled(): boolean {\n return this._disabled;\n }\n\n @HostBinding('checked')\n get isChecked(): boolean {\n return this._checked;\n }\n\n @HostListener('click')\n onCheckboxClick(): void {\n this.toggle();\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onTouched();\n }\n\n private _cdRef = inject(ChangeDetectorRef);\n\n get changeEvent(): MdbCheckboxChange {\n const newChangeEvent = new MdbCheckboxChange();\n newChangeEvent.element = this;\n newChangeEvent.checked = this.checked;\n return newChangeEvent;\n }\n\n toggle(): void {\n if (this.disabled) {\n return;\n }\n this._checked = !this._checked;\n this.onChange(this.checked);\n this.onCheckboxChange();\n this._cdRef.markForCheck();\n }\n\n onCheckboxChange(): void {\n this.checkboxChange.emit(this.changeEvent);\n }\n\n // Control Value Accessor Methods\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n this.checked = !!value;\n this._cdRef.markForCheck();\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._cdRef.markForCheck();\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbCheckboxDirective } from './checkbox.directive';\n\n@NgModule({\n declarations: [MdbCheckboxDirective],\n exports: [MdbCheckboxDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
import * as i0 from '@angular/core';
import { EventEmitter, Input, Output, HostBinding, Directive, NgModule } from '@angular/core';
import { inject, ChangeDetectorRef, EventEmitter, Input, Output, HostBinding, Directive, NgModule } from '@angular/core';
import { fromEvent } from 'rxjs';

@@ -11,2 +11,3 @@ import { take } from 'rxjs/operators';

_renderer;
_cdRef = inject(ChangeDetectorRef);
constructor(_elementRef, _renderer) {

@@ -55,2 +56,3 @@ this._elementRef = _elementRef;

this.collapseShown.emit(this);
this._cdRef.markForCheck();
});

@@ -80,2 +82,3 @@ this._emulateTransitionEnd(this.host, TRANSITION_TIME);

this.collapseHidden.emit(this);
this._cdRef.markForCheck();
});

@@ -110,6 +113,6 @@ this._renderer.removeStyle(this.host, 'height');

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbCollapseDirective, isStandalone: false, selector: "[mdbCollapse]", inputs: { collapsed: "collapsed" }, outputs: { collapseShow: "collapseShow", collapseShown: "collapseShown", collapseHide: "collapseHide", collapseHidden: "collapseHidden" }, host: { properties: { "class.collapse": "this.collapseClass" } }, exportAs: ["mdbCollapse"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbCollapseDirective, isStandalone: false, selector: "[mdbCollapse]", inputs: { collapsed: "collapsed" }, outputs: { collapseShow: "collapseShow", collapseShown: "collapseShown", collapseHide: "collapseHide", collapseHidden: "collapseHidden" }, host: { properties: { "class.collapse": "this.collapseClass" } }, exportAs: ["mdbCollapse"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseDirective, decorators: [{
type: Directive,

@@ -138,7 +141,7 @@ args: [{

class MdbCollapseModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseModule, declarations: [MdbCollapseDirective], exports: [MdbCollapseDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseModule });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseModule, declarations: [MdbCollapseDirective], exports: [MdbCollapseDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseModule });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbCollapseModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbCollapseModule, decorators: [{
type: NgModule,

@@ -145,0 +148,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-collapse.mjs","sources":["../../../projects/mdb-angular-ui-kit/collapse/collapse.directive.ts","../../../projects/mdb-angular-ui-kit/collapse/collapse.module.ts","../../../projects/mdb-angular-ui-kit/collapse/mdb-angular-ui-kit-collapse.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nconst TRANSITION_TIME = 350;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbCollapse]',\n exportAs: 'mdbCollapse',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbCollapseDirective {\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {}\n\n @HostBinding('class.collapse') collapseClass = true;\n\n @Output() collapseShow: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseShown: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseHide: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseHidden: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n\n @Input()\n set collapsed(collapsed: boolean) {\n if (collapsed !== this._collapsed) {\n collapsed ? this.hide() : this.show();\n this._collapsed = collapsed;\n }\n }\n get collapsed(): boolean {\n return this._collapsed;\n }\n private _collapsed = true;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n private _isTransitioning = false;\n\n show(): void {\n if (this._isTransitioning || !this.collapsed) {\n return;\n }\n\n this.collapseShow.emit(this);\n\n this._renderer.removeClass(this.host, 'collapse');\n this._renderer.addClass(this.host, 'collapsing');\n\n this._renderer.setStyle(this.host, 'height', '0px');\n\n this._isTransitioning = true;\n\n const scrollHeight = this.host.scrollHeight;\n\n fromEvent(this.host, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n this._isTransitioning = false;\n this.collapsed = false;\n this._renderer.removeClass(this.host, 'collapsing');\n this._renderer.addClass(this.host, 'collapse');\n this._renderer.addClass(this.host, 'show');\n\n this._renderer.removeStyle(this.host, 'height');\n\n this.collapseShown.emit(this);\n });\n\n this._emulateTransitionEnd(this.host, TRANSITION_TIME);\n\n this._renderer.setStyle(this.host, 'height', `${scrollHeight}px`);\n }\n\n hide(): void {\n if (this._isTransitioning || this.collapsed) {\n return;\n }\n\n this.collapseHide.emit(this);\n\n const hostHeight = this.host.getBoundingClientRect().height;\n\n this._renderer.setStyle(this.host, 'height', `${hostHeight}px`);\n\n this._reflow(this.host);\n\n this._renderer.addClass(this.host, 'collapsing');\n this._renderer.removeClass(this.host, 'collapse');\n this._renderer.removeClass(this.host, 'show');\n\n this._isTransitioning = true;\n\n fromEvent(this.host, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n this._renderer.removeClass(this.host, 'collapsing');\n this._renderer.addClass(this.host, 'collapse');\n this._isTransitioning = false;\n this.collapsed = true;\n\n this.collapseHidden.emit(this);\n });\n\n this._renderer.removeStyle(this.host, 'height');\n this._emulateTransitionEnd(this.host, TRANSITION_TIME);\n }\n\n toggle(): void {\n if (this._isTransitioning) {\n return;\n }\n\n this.collapsed = !this.collapsed;\n this.collapsed ? this.hide() : this.show();\n }\n\n private _reflow(element: HTMLElement): number {\n return element.offsetHeight;\n }\n\n private _emulateTransitionEnd(element: HTMLElement, duration: number): void {\n let eventEmitted = false;\n const durationPadding = 5;\n const emulatedDuration = duration + durationPadding;\n\n fromEvent(element, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n eventEmitted = true;\n });\n\n setTimeout(() => {\n if (!eventEmitted) {\n element.dispatchEvent(new Event('transitionend'));\n }\n }, emulatedDuration);\n }\n}\n","import { MdbCollapseDirective } from './collapse.directive';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [MdbCollapseDirective],\n exports: [MdbCollapseDirective],\n})\nexport class MdbCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-collapse.mjs","sources":["../../../projects/mdb-angular-ui-kit/collapse/collapse.directive.ts","../../../projects/mdb-angular-ui-kit/collapse/collapse.module.ts","../../../projects/mdb-angular-ui-kit/collapse/mdb-angular-ui-kit-collapse.ts"],"sourcesContent":["import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n inject,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nconst TRANSITION_TIME = 350;\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbCollapse]',\n exportAs: 'mdbCollapse',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbCollapseDirective {\n private _cdRef = inject(ChangeDetectorRef);\n\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {}\n\n @HostBinding('class.collapse') collapseClass = true;\n\n @Output() collapseShow: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseShown: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseHide: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n @Output() collapseHidden: EventEmitter<MdbCollapseDirective> = new EventEmitter();\n\n @Input()\n set collapsed(collapsed: boolean) {\n if (collapsed !== this._collapsed) {\n collapsed ? this.hide() : this.show();\n this._collapsed = collapsed;\n }\n }\n get collapsed(): boolean {\n return this._collapsed;\n }\n private _collapsed = true;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n private _isTransitioning = false;\n\n show(): void {\n if (this._isTransitioning || !this.collapsed) {\n return;\n }\n\n this.collapseShow.emit(this);\n\n this._renderer.removeClass(this.host, 'collapse');\n this._renderer.addClass(this.host, 'collapsing');\n\n this._renderer.setStyle(this.host, 'height', '0px');\n\n this._isTransitioning = true;\n\n const scrollHeight = this.host.scrollHeight;\n\n fromEvent(this.host, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n this._isTransitioning = false;\n this.collapsed = false;\n this._renderer.removeClass(this.host, 'collapsing');\n this._renderer.addClass(this.host, 'collapse');\n this._renderer.addClass(this.host, 'show');\n\n this._renderer.removeStyle(this.host, 'height');\n\n this.collapseShown.emit(this);\n this._cdRef.markForCheck();\n });\n\n this._emulateTransitionEnd(this.host, TRANSITION_TIME);\n\n this._renderer.setStyle(this.host, 'height', `${scrollHeight}px`);\n }\n\n hide(): void {\n if (this._isTransitioning || this.collapsed) {\n return;\n }\n\n this.collapseHide.emit(this);\n\n const hostHeight = this.host.getBoundingClientRect().height;\n\n this._renderer.setStyle(this.host, 'height', `${hostHeight}px`);\n\n this._reflow(this.host);\n\n this._renderer.addClass(this.host, 'collapsing');\n this._renderer.removeClass(this.host, 'collapse');\n this._renderer.removeClass(this.host, 'show');\n\n this._isTransitioning = true;\n\n fromEvent(this.host, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n this._renderer.removeClass(this.host, 'collapsing');\n this._renderer.addClass(this.host, 'collapse');\n this._isTransitioning = false;\n this.collapsed = true;\n\n this.collapseHidden.emit(this);\n this._cdRef.markForCheck();\n });\n\n this._renderer.removeStyle(this.host, 'height');\n this._emulateTransitionEnd(this.host, TRANSITION_TIME);\n }\n\n toggle(): void {\n if (this._isTransitioning) {\n return;\n }\n\n this.collapsed = !this.collapsed;\n this.collapsed ? this.hide() : this.show();\n }\n\n private _reflow(element: HTMLElement): number {\n return element.offsetHeight;\n }\n\n private _emulateTransitionEnd(element: HTMLElement, duration: number): void {\n let eventEmitted = false;\n const durationPadding = 5;\n const emulatedDuration = duration + durationPadding;\n\n fromEvent(element, 'transitionend')\n .pipe(take(1))\n .subscribe(() => {\n eventEmitted = true;\n });\n\n setTimeout(() => {\n if (!eventEmitted) {\n element.dispatchEvent(new Event('transitionend'));\n }\n }, emulatedDuration);\n }\n}\n","import { MdbCollapseDirective } from './collapse.directive';\nimport { NgModule } from '@angular/core';\n\n@NgModule({\n declarations: [MdbCollapseDirective],\n exports: [MdbCollapseDirective],\n})\nexport class MdbCollapseModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -8,3 +8,3 @@ import * as i0 from '@angular/core';

import { takeUntil, filter } from 'rxjs/operators';
import { trigger, state, transition, style, animate } from '@angular/animations';
import { trigger, state, style, transition, animate } from '@angular/animations';
import * as i2 from '@angular/cdk/layout';

@@ -15,6 +15,6 @@ import { CommonModule } from '@angular/common';

constructor() { }
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbDropdownToggleDirective, isStandalone: false, selector: "[mdbDropdownToggle]", exportAs: ["mdbDropdownToggle"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownToggleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbDropdownToggleDirective, isStandalone: false, selector: "[mdbDropdownToggle]", exportAs: ["mdbDropdownToggle"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownToggleDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownToggleDirective, decorators: [{
type: Directive,

@@ -70,6 +70,6 @@ args: [{

_menuPositionClass;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbDropdownMenuDirective, isStandalone: false, selector: "[mdbDropdownMenu]", inputs: { menuPositionClass: "menuPositionClass" }, outputs: { menuPositionClassChanged: "menuPositionClassChanged" }, exportAs: ["mdbDropdownMenu"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownMenuDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbDropdownMenuDirective, isStandalone: false, selector: "[mdbDropdownMenu]", inputs: { menuPositionClass: "menuPositionClass" }, outputs: { menuPositionClassChanged: "menuPositionClassChanged" }, exportAs: ["mdbDropdownMenu"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownMenuDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownMenuDirective, decorators: [{
type: Directive,

@@ -420,4 +420,4 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownDirective, deps: [{ token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i2.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: MdbDropdownDirective, isStandalone: false, selector: "[mdbDropdown]", inputs: { animation: ["animation", "animation", booleanAttribute], closeOnEsc: ["closeOnEsc", "closeOnEsc", booleanAttribute], closeOnItemClick: ["closeOnItemClick", "closeOnItemClick", booleanAttribute], closeOnOutsideClick: ["closeOnOutsideClick", "closeOnOutsideClick", booleanAttribute], offset: ["offset", "offset", numberAttribute], positionClass: "positionClass", withPush: ["withPush", "withPush", booleanAttribute] }, outputs: { dropdownShow: "dropdownShow", dropdownShown: "dropdownShown", dropdownHide: "dropdownHide", dropdownHidden: "dropdownHidden" }, queries: [{ propertyName: "_dropdownToggle", first: true, predicate: MdbDropdownToggleDirective, descendants: true, read: ElementRef }, { propertyName: "_dropdownMenu", first: true, predicate: MdbDropdownMenuDirective, descendants: true }], viewQueries: [{ propertyName: "_template", first: true, predicate: ["dropdownTemplate"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-content select=\".dropdown-toggle\"></ng-content>\n<ng-template #dropdownTemplate>\n <div [@fade]=\"_animationState\" (@fade.done)=\"onAnimationEnd($event)\" [@.disabled]=\"!animation\">\n <ng-content select=\".dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", animations: [
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownDirective, deps: [{ token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i2.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "21.1.2", type: MdbDropdownDirective, isStandalone: false, selector: "[mdbDropdown]", inputs: { animation: ["animation", "animation", booleanAttribute], closeOnEsc: ["closeOnEsc", "closeOnEsc", booleanAttribute], closeOnItemClick: ["closeOnItemClick", "closeOnItemClick", booleanAttribute], closeOnOutsideClick: ["closeOnOutsideClick", "closeOnOutsideClick", booleanAttribute], offset: ["offset", "offset", numberAttribute], positionClass: "positionClass", withPush: ["withPush", "withPush", booleanAttribute] }, outputs: { dropdownShow: "dropdownShow", dropdownShown: "dropdownShown", dropdownHide: "dropdownHide", dropdownHidden: "dropdownHidden" }, queries: [{ propertyName: "_dropdownToggle", first: true, predicate: MdbDropdownToggleDirective, descendants: true, read: ElementRef }, { propertyName: "_dropdownMenu", first: true, predicate: MdbDropdownMenuDirective, descendants: true }], viewQueries: [{ propertyName: "_template", first: true, predicate: ["dropdownTemplate"], descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n<ng-content select=\".dropdown-toggle\"></ng-content>\n<ng-template #dropdownTemplate>\n <div [@fade]=\"_animationState\" (@fade.done)=\"onAnimationEnd($event)\" [@.disabled]=\"!animation\">\n <ng-content select=\".dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n", animations: [
trigger('fade', [

@@ -431,3 +431,3 @@ state('visible', style({ opacity: 1 })),

}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownDirective, decorators: [{
type: Component,

@@ -482,7 +482,7 @@ args: [{ selector: '[mdbDropdown]', changeDetection: ChangeDetectionStrategy.OnPush, animations: [

class MdbDropdownModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownModule, declarations: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective], imports: [CommonModule, OverlayModule], exports: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownModule, imports: [CommonModule, OverlayModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownModule, declarations: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective], imports: [CommonModule, OverlayModule], exports: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownModule, imports: [CommonModule, OverlayModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbDropdownModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbDropdownModule, decorators: [{
type: NgModule,

@@ -489,0 +489,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-dropdown.mjs","sources":["../../../projects/mdb-angular-ui-kit/dropdown/dropdown-toggle.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown-menu.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.component.html","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.module.ts","../../../projects/mdb-angular-ui-kit/dropdown/mdb-angular-ui-kit-dropdown.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[mdbDropdownToggle]',\n exportAs: 'mdbDropdownToggle',\n standalone: false,\n})\nexport class MdbDropdownToggleDirective {\n constructor() {}\n}\n","import { Directive, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\n\nexport type MdbDropdownMenuPositionClass = 'dropdown-menu-end';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbDropdownMenu]',\n exportAs: 'mdbDropdownMenu',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbDropdownMenuDirective {\n constructor(public elementRef: ElementRef, private _renderer: Renderer2) {}\n @Output() menuPositionClassChanged: EventEmitter<string> = new EventEmitter<string>();\n\n @Input()\n get menuPositionClass(): string {\n return this._menuPositionClass;\n }\n\n set menuPositionClass(newClass: string) {\n const host = this.elementRef.nativeElement;\n const isSameClass = host.classList.contains(newClass);\n if (this._menuPositionClass !== newClass && !isSameClass) {\n const menuPositionClasses = [\n 'dropdown-menu-start',\n 'dropdown-menu-sm-start',\n 'dropdown-menu-md-start',\n 'dropdown-menu-lg-start',\n 'dropdown-menu-xl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-end',\n 'dropdown-menu-sm-end',\n 'dropdown-menu-md-end',\n 'dropdown-menu-lg-end',\n 'dropdown-menu-xl-end',\n 'dropdown-menu-xxl-end',\n 'dropdown-menu-xxl-end',\n 'dropdown-menu-xxl-end',\n ];\n\n menuPositionClasses.forEach((className) => {\n this._renderer.removeClass(host, className);\n });\n this._renderer.addClass(host, newClass);\n\n this.menuPositionClassChanged.emit(this.menuPositionClass);\n }\n }\n private _menuPositionClass: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ContentChild } from '@angular/core';\nimport { MdbDropdownToggleDirective } from './dropdown-toggle.directive';\nimport { MdbDropdownMenuDirective } from './dropdown-menu.directive';\nimport { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nexport type MdbDropdownPositionClass = 'dropdown' | 'dropup' | 'dropstart' | 'dropend';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mdbDropdown]',\n templateUrl: 'dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible => hidden', animate('150ms linear')),\n transition('hidden => visible', [style({ opacity: 0 }), animate('150ms linear')]),\n ]),\n ],\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbDropdownDirective implements OnDestroy, AfterContentInit {\n @ViewChild('dropdownTemplate') _template: TemplateRef<any>;\n @ContentChild(MdbDropdownToggleDirective, { read: ElementRef }) _dropdownToggle: ElementRef;\n @ContentChild(MdbDropdownMenuDirective) _dropdownMenu: MdbDropdownMenuDirective;\n\n @Input({ transform: booleanAttribute }) animation = true;\n @Input({ transform: booleanAttribute }) closeOnEsc = true;\n @Input({ transform: booleanAttribute }) closeOnItemClick = true;\n @Input({ transform: booleanAttribute }) closeOnOutsideClick = true;\n @Input({ transform: numberAttribute }) offset = 0;\n @Input()\n get positionClass(): MdbDropdownPositionClass {\n return this._positionClass;\n }\n set positionClass(newClass: MdbDropdownPositionClass) {\n const isSameClass = this.host.classList.contains(newClass);\n if (this._positionClass !== newClass && !isSameClass) {\n const positionClasses = ['dropdown', 'dropup', 'dropstart', 'dropend'];\n positionClasses.forEach((className) => {\n this._renderer.removeClass(this.host, className);\n });\n this._renderer.addClass(this.host, newClass);\n }\n this._updateOverlay();\n }\n private _positionClass: MdbDropdownPositionClass;\n @Input({ transform: booleanAttribute }) withPush = false;\n\n @Output() dropdownShow: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownShown: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownHide: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownHidden: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n\n private _overlayRef: OverlayRef;\n private _portal: TemplatePortal;\n private _open = false;\n private _isDropUp: boolean;\n private _isDropStart: boolean;\n private _isDropEnd: boolean;\n private _isDropdownMenuEnd: boolean;\n private _xPosition: string;\n private _breakpoints: any;\n private _mousedownTarget: HTMLElement | null = null;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n _breakpointSubscription: any;\n _animationState = 'hidden';\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef,\n private _vcr: ViewContainerRef,\n private _breakpointObserver: BreakpointObserver,\n private _cdRef: ChangeDetectorRef,\n private _renderer: Renderer2\n ) {\n this._breakpoints = {\n isSm: this._breakpointObserver.isMatched('(min-width: 576px)'),\n isMd: this._breakpointObserver.isMatched('(min-width: 768px)'),\n isLg: this._breakpointObserver.isMatched('(min-width: 992px)'),\n isXl: this._breakpointObserver.isMatched('(min-width: 1200px)'),\n isXxl: this._breakpointObserver.isMatched('(min-width: 1400px)'),\n };\n }\n\n ngAfterContentInit(): void {\n this._bindDropdownToggleClick();\n this._listenToMenuPositionClassChange();\n }\n\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindDropdownToggleClick(): void {\n fromEvent(this._dropdownToggle.nativeElement, 'click')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n }\n\n private _listenToMenuPositionClassChange(): void {\n this._dropdownMenu.menuPositionClassChanged\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this._updateOverlay());\n }\n\n private _updateOverlay() {\n this._overlayRef?.updatePositionStrategy(this._createPositionStrategy());\n }\n\n private _createOverlayConfig(): OverlayConfig {\n return new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy: this._createPositionStrategy(),\n });\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _createPositionStrategy(): FlexibleConnectedPositionStrategy {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._dropdownToggle)\n .withPositions(this._getPosition())\n .withFlexibleDimensions(false)\n .withPush(this.withPush);\n\n return positionStrategy;\n }\n\n private _getPosition(): ConnectedPosition[] {\n this._isDropUp = this.host.classList.contains('dropup');\n this._isDropStart = this.host.classList.contains('dropstart');\n this._isDropEnd = this.host.classList.contains('dropend');\n this._isDropdownMenuEnd =\n this._dropdownMenu.elementRef.nativeElement.classList.contains('dropdown-menu-end');\n this._xPosition = this._isDropdownMenuEnd ? 'end' : 'start';\n\n const regex = new RegExp(/dropdown-menu-(sm|md|lg|xl|xxl)-(start|end)/, 'g');\n\n const responsiveClass = this._dropdownMenu.elementRef.nativeElement.className.match(regex);\n\n if (responsiveClass) {\n this._subscribeBrakpoints();\n\n const positionRegex = new RegExp(/start|end/, 'g');\n const breakpointRegex = new RegExp(/(sm|md|lg|xl|xxl)/, 'g');\n\n const dropdownPosition = positionRegex.exec(responsiveClass)[0];\n const breakpoint = breakpointRegex.exec(responsiveClass)[0];\n\n switch (true) {\n case breakpoint === 'xxl' && this._breakpoints.isXxl:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'xl' && this._breakpoints.isXl:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'lg' && this._breakpoints.isLg:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'md' && this._breakpoints.isMd:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'sm' && this._breakpoints.isSm:\n this._xPosition = dropdownPosition;\n break;\n default:\n break;\n }\n }\n\n let position;\n\n const positionDropup = {\n originX: this._xPosition,\n originY: 'top',\n overlayX: this._xPosition,\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionDropdown = {\n originX: this._xPosition,\n originY: 'bottom',\n overlayX: this._xPosition,\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionDropstart = {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: this.offset,\n };\n\n const positionDropend = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -this.offset,\n };\n\n switch (true) {\n case this._isDropEnd:\n position = [positionDropend, positionDropstart];\n break;\n case this._isDropStart:\n position = [positionDropstart, positionDropend];\n break;\n case this._isDropUp:\n position = [positionDropup, positionDropdown];\n break;\n default:\n position = [positionDropdown, positionDropup];\n break;\n }\n\n return position;\n }\n\n private _listenToEscKeyup(overlayRef: OverlayRef): Observable<KeyboardEvent> {\n return fromEvent(document, 'keyup').pipe(\n filter((event: KeyboardEvent) => event.key === 'Escape'),\n takeUntil(overlayRef.detachments())\n );\n }\n\n private _listenToMousedown(overlayRef: OverlayRef): Observable<MouseEvent> {\n return fromEvent<MouseEvent>(document, 'mousedown').pipe(takeUntil(overlayRef.detachments()));\n }\n\n private _listenToClick(overlayRef: OverlayRef, origin: HTMLElement): Observable<MouseEvent> {\n return fromEvent(document, 'click').pipe(\n filter((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const isInsideMenu = this._dropdownMenu.elementRef.nativeElement.contains(target);\n const notTogglerIcon = !this._dropdownToggle.nativeElement.contains(target);\n const notCustomContent =\n !isInsideMenu || (target.classList && target.classList.contains('dropdown-item'));\n const notOrigin = target !== origin;\n return notOrigin && notTogglerIcon && notCustomContent;\n }),\n takeUntil(overlayRef.detachments())\n );\n }\n\n public onAnimationEnd(event: AnimationEvent): void {\n if (event.fromState === 'visible' && event.toState === 'hidden') {\n this._overlayRef.detach();\n this._open = false;\n\n this._renderer.setAttribute(this._dropdownToggle.nativeElement, 'aria-expanded', 'false');\n\n this.dropdownHidden.emit(this);\n }\n\n if (event.fromState === 'hidden' && event.toState === 'visible') {\n this.dropdownShown.emit(this);\n }\n }\n\n private _subscribeBrakpoints(): void {\n const brakpoints = [\n '(min-width: 576px)',\n '(min-width: 768px)',\n '(min-width: 992px)',\n '(min-width: 1200px)',\n '(min-width: 1400px)',\n ];\n\n this._breakpointSubscription = this._breakpointObserver\n .observe(brakpoints)\n .pipe(takeUntil(this._destroy$))\n .subscribe((result) => {\n Object.keys(this._breakpoints).forEach((key, index) => {\n const brakpointValue = brakpoints[index];\n const newBreakpoint = result.breakpoints[brakpointValue];\n const isBreakpointChanged = newBreakpoint !== this._breakpoints[key];\n\n if (!isBreakpointChanged) {\n return;\n }\n\n this._breakpoints[key] = newBreakpoint;\n\n if (this._open) {\n this._updateOverlay();\n }\n });\n });\n }\n\n show(): void {\n this._cdRef.markForCheck();\n\n if (this._open) {\n return;\n }\n\n if (!this._overlayRef) {\n this._createOverlay();\n }\n\n this._portal = new TemplatePortal(this._template, this._vcr);\n\n this.dropdownShow.emit(this);\n\n this._open = true;\n\n this._renderer.setAttribute(this._dropdownToggle.nativeElement, 'aria-expanded', 'true');\n\n this._overlayRef.attach(this._portal);\n\n this._listenToEscKeyup(this._overlayRef).subscribe((isEsc) => {\n if (isEsc && this.closeOnEsc) {\n this.hide();\n }\n });\n\n this._overlayRef\n .keydownEvents()\n .pipe(takeUntil(this._overlayRef.detachments()))\n .subscribe((event: KeyboardEvent) => {\n this._handleKeyboardNavigation(event);\n });\n\n this._listenToMousedown(this._overlayRef).subscribe((event) => {\n this._mousedownTarget = event.target as HTMLElement;\n });\n\n this._listenToClick(this._overlayRef, this._dropdownToggle.nativeElement).subscribe((event) => {\n const target = event.target as HTMLElement;\n const isDropdownItem = target.classList && target.classList.contains('dropdown-item');\n\n const isOnMousedownDropdownMenu = this._dropdownMenu.elementRef.nativeElement.contains(\n this._mousedownTarget\n );\n\n this._mousedownTarget = null;\n\n if (this.closeOnItemClick && isDropdownItem) {\n this.hide();\n return;\n }\n if (this.closeOnOutsideClick && !isDropdownItem && !isOnMousedownDropdownMenu) {\n this.hide();\n return;\n }\n });\n\n this._animationState = 'visible';\n }\n\n private _handleKeyboardNavigation(event: KeyboardEvent) {\n const items: HTMLElement[] = Array.from(\n this._dropdownMenu.elementRef.nativeElement.querySelectorAll('.dropdown-item')\n );\n const key = event.key;\n const activeElement = this._dropdownMenu.elementRef.nativeElement.ownerDocument.activeElement;\n\n if (items.length === 0) {\n return;\n }\n\n let index = items.indexOf(activeElement);\n\n switch (key) {\n case 'ArrowDown':\n event.preventDefault();\n\n index = Math.min(index + 1, items.length - 1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (index === -1) {\n index = items.length - 1;\n break;\n }\n index = Math.max(index - 1, 0);\n break;\n }\n\n const nextActiveElement: HTMLElement = items[index];\n\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n\n hide(): void {\n this._cdRef.markForCheck();\n\n if (!this._open) {\n return;\n }\n\n this.dropdownHide.emit(this);\n\n this._animationState = 'hidden';\n }\n\n toggle(): void {\n this._cdRef.markForCheck();\n\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","<ng-content></ng-content>\n<ng-content select=\".dropdown-toggle\"></ng-content>\n<ng-template #dropdownTemplate>\n <div [@fade]=\"_animationState\" (@fade.done)=\"onAnimationEnd($event)\" [@.disabled]=\"!animation\">\n <ng-content select=\".dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n","import { MdbDropdownDirective } from './dropdown.directive';\nimport { MdbDropdownToggleDirective } from './dropdown-toggle.directive';\nimport { MdbDropdownMenuDirective } from './dropdown-menu.directive';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective],\n exports: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective],\n})\nexport class MdbDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-dropdown.mjs","sources":["../../../projects/mdb-angular-ui-kit/dropdown/dropdown-toggle.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown-menu.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.directive.ts","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.component.html","../../../projects/mdb-angular-ui-kit/dropdown/dropdown.module.ts","../../../projects/mdb-angular-ui-kit/dropdown/mdb-angular-ui-kit-dropdown.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[mdbDropdownToggle]',\n exportAs: 'mdbDropdownToggle',\n standalone: false,\n})\nexport class MdbDropdownToggleDirective {\n constructor() {}\n}\n","import { Directive, ElementRef, EventEmitter, Input, Output, Renderer2 } from '@angular/core';\n\nexport type MdbDropdownMenuPositionClass = 'dropdown-menu-end';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbDropdownMenu]',\n exportAs: 'mdbDropdownMenu',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbDropdownMenuDirective {\n constructor(public elementRef: ElementRef, private _renderer: Renderer2) {}\n @Output() menuPositionClassChanged: EventEmitter<string> = new EventEmitter<string>();\n\n @Input()\n get menuPositionClass(): string {\n return this._menuPositionClass;\n }\n\n set menuPositionClass(newClass: string) {\n const host = this.elementRef.nativeElement;\n const isSameClass = host.classList.contains(newClass);\n if (this._menuPositionClass !== newClass && !isSameClass) {\n const menuPositionClasses = [\n 'dropdown-menu-start',\n 'dropdown-menu-sm-start',\n 'dropdown-menu-md-start',\n 'dropdown-menu-lg-start',\n 'dropdown-menu-xl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-xxl-start',\n 'dropdown-menu-end',\n 'dropdown-menu-sm-end',\n 'dropdown-menu-md-end',\n 'dropdown-menu-lg-end',\n 'dropdown-menu-xl-end',\n 'dropdown-menu-xxl-end',\n 'dropdown-menu-xxl-end',\n 'dropdown-menu-xxl-end',\n ];\n\n menuPositionClasses.forEach((className) => {\n this._renderer.removeClass(host, className);\n });\n this._renderer.addClass(host, newClass);\n\n this.menuPositionClassChanged.emit(this.menuPositionClass);\n }\n }\n private _menuPositionClass: string;\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n FlexibleConnectedPositionStrategy,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { fromEvent, Observable, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ContentChild } from '@angular/core';\nimport { MdbDropdownToggleDirective } from './dropdown-toggle.directive';\nimport { MdbDropdownMenuDirective } from './dropdown-menu.directive';\nimport { animate, state, style, transition, trigger, AnimationEvent } from '@angular/animations';\nimport { BreakpointObserver } from '@angular/cdk/layout';\n\nexport type MdbDropdownPositionClass = 'dropdown' | 'dropup' | 'dropstart' | 'dropend';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mdbDropdown]',\n templateUrl: 'dropdown.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible => hidden', animate('150ms linear')),\n transition('hidden => visible', [style({ opacity: 0 }), animate('150ms linear')]),\n ]),\n ],\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbDropdownDirective implements OnDestroy, AfterContentInit {\n @ViewChild('dropdownTemplate') _template: TemplateRef<any>;\n @ContentChild(MdbDropdownToggleDirective, { read: ElementRef }) _dropdownToggle: ElementRef;\n @ContentChild(MdbDropdownMenuDirective) _dropdownMenu: MdbDropdownMenuDirective;\n\n @Input({ transform: booleanAttribute }) animation = true;\n @Input({ transform: booleanAttribute }) closeOnEsc = true;\n @Input({ transform: booleanAttribute }) closeOnItemClick = true;\n @Input({ transform: booleanAttribute }) closeOnOutsideClick = true;\n @Input({ transform: numberAttribute }) offset = 0;\n @Input()\n get positionClass(): MdbDropdownPositionClass {\n return this._positionClass;\n }\n set positionClass(newClass: MdbDropdownPositionClass) {\n const isSameClass = this.host.classList.contains(newClass);\n if (this._positionClass !== newClass && !isSameClass) {\n const positionClasses = ['dropdown', 'dropup', 'dropstart', 'dropend'];\n positionClasses.forEach((className) => {\n this._renderer.removeClass(this.host, className);\n });\n this._renderer.addClass(this.host, newClass);\n }\n this._updateOverlay();\n }\n private _positionClass: MdbDropdownPositionClass;\n @Input({ transform: booleanAttribute }) withPush = false;\n\n @Output() dropdownShow: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownShown: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownHide: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n @Output() dropdownHidden: EventEmitter<MdbDropdownDirective> = new EventEmitter();\n\n private _overlayRef: OverlayRef;\n private _portal: TemplatePortal;\n private _open = false;\n private _isDropUp: boolean;\n private _isDropStart: boolean;\n private _isDropEnd: boolean;\n private _isDropdownMenuEnd: boolean;\n private _xPosition: string;\n private _breakpoints: any;\n private _mousedownTarget: HTMLElement | null = null;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n _breakpointSubscription: any;\n _animationState = 'hidden';\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef,\n private _vcr: ViewContainerRef,\n private _breakpointObserver: BreakpointObserver,\n private _cdRef: ChangeDetectorRef,\n private _renderer: Renderer2\n ) {\n this._breakpoints = {\n isSm: this._breakpointObserver.isMatched('(min-width: 576px)'),\n isMd: this._breakpointObserver.isMatched('(min-width: 768px)'),\n isLg: this._breakpointObserver.isMatched('(min-width: 992px)'),\n isXl: this._breakpointObserver.isMatched('(min-width: 1200px)'),\n isXxl: this._breakpointObserver.isMatched('(min-width: 1400px)'),\n };\n }\n\n ngAfterContentInit(): void {\n this._bindDropdownToggleClick();\n this._listenToMenuPositionClassChange();\n }\n\n ngOnDestroy(): void {\n if (this._overlayRef) {\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindDropdownToggleClick(): void {\n fromEvent(this._dropdownToggle.nativeElement, 'click')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n }\n\n private _listenToMenuPositionClassChange(): void {\n this._dropdownMenu.menuPositionClassChanged\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this._updateOverlay());\n }\n\n private _updateOverlay() {\n this._overlayRef?.updatePositionStrategy(this._createPositionStrategy());\n }\n\n private _createOverlayConfig(): OverlayConfig {\n return new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy: this._createPositionStrategy(),\n });\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _createPositionStrategy(): FlexibleConnectedPositionStrategy {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._dropdownToggle)\n .withPositions(this._getPosition())\n .withFlexibleDimensions(false)\n .withPush(this.withPush);\n\n return positionStrategy;\n }\n\n private _getPosition(): ConnectedPosition[] {\n this._isDropUp = this.host.classList.contains('dropup');\n this._isDropStart = this.host.classList.contains('dropstart');\n this._isDropEnd = this.host.classList.contains('dropend');\n this._isDropdownMenuEnd =\n this._dropdownMenu.elementRef.nativeElement.classList.contains('dropdown-menu-end');\n this._xPosition = this._isDropdownMenuEnd ? 'end' : 'start';\n\n const regex = new RegExp(/dropdown-menu-(sm|md|lg|xl|xxl)-(start|end)/, 'g');\n\n const responsiveClass = this._dropdownMenu.elementRef.nativeElement.className.match(regex);\n\n if (responsiveClass) {\n this._subscribeBrakpoints();\n\n const positionRegex = new RegExp(/start|end/, 'g');\n const breakpointRegex = new RegExp(/(sm|md|lg|xl|xxl)/, 'g');\n\n const dropdownPosition = positionRegex.exec(responsiveClass)[0];\n const breakpoint = breakpointRegex.exec(responsiveClass)[0];\n\n switch (true) {\n case breakpoint === 'xxl' && this._breakpoints.isXxl:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'xl' && this._breakpoints.isXl:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'lg' && this._breakpoints.isLg:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'md' && this._breakpoints.isMd:\n this._xPosition = dropdownPosition;\n break;\n case breakpoint === 'sm' && this._breakpoints.isSm:\n this._xPosition = dropdownPosition;\n break;\n default:\n break;\n }\n }\n\n let position;\n\n const positionDropup = {\n originX: this._xPosition,\n originY: 'top',\n overlayX: this._xPosition,\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionDropdown = {\n originX: this._xPosition,\n originY: 'bottom',\n overlayX: this._xPosition,\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionDropstart = {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'top',\n offsetX: this.offset,\n };\n\n const positionDropend = {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'top',\n offsetX: -this.offset,\n };\n\n switch (true) {\n case this._isDropEnd:\n position = [positionDropend, positionDropstart];\n break;\n case this._isDropStart:\n position = [positionDropstart, positionDropend];\n break;\n case this._isDropUp:\n position = [positionDropup, positionDropdown];\n break;\n default:\n position = [positionDropdown, positionDropup];\n break;\n }\n\n return position;\n }\n\n private _listenToEscKeyup(overlayRef: OverlayRef): Observable<KeyboardEvent> {\n return fromEvent(document, 'keyup').pipe(\n filter((event: KeyboardEvent) => event.key === 'Escape'),\n takeUntil(overlayRef.detachments())\n );\n }\n\n private _listenToMousedown(overlayRef: OverlayRef): Observable<MouseEvent> {\n return fromEvent<MouseEvent>(document, 'mousedown').pipe(takeUntil(overlayRef.detachments()));\n }\n\n private _listenToClick(overlayRef: OverlayRef, origin: HTMLElement): Observable<MouseEvent> {\n return fromEvent(document, 'click').pipe(\n filter((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const isInsideMenu = this._dropdownMenu.elementRef.nativeElement.contains(target);\n const notTogglerIcon = !this._dropdownToggle.nativeElement.contains(target);\n const notCustomContent =\n !isInsideMenu || (target.classList && target.classList.contains('dropdown-item'));\n const notOrigin = target !== origin;\n return notOrigin && notTogglerIcon && notCustomContent;\n }),\n takeUntil(overlayRef.detachments())\n );\n }\n\n public onAnimationEnd(event: AnimationEvent): void {\n if (event.fromState === 'visible' && event.toState === 'hidden') {\n this._overlayRef.detach();\n this._open = false;\n\n this._renderer.setAttribute(this._dropdownToggle.nativeElement, 'aria-expanded', 'false');\n\n this.dropdownHidden.emit(this);\n }\n\n if (event.fromState === 'hidden' && event.toState === 'visible') {\n this.dropdownShown.emit(this);\n }\n }\n\n private _subscribeBrakpoints(): void {\n const brakpoints = [\n '(min-width: 576px)',\n '(min-width: 768px)',\n '(min-width: 992px)',\n '(min-width: 1200px)',\n '(min-width: 1400px)',\n ];\n\n this._breakpointSubscription = this._breakpointObserver\n .observe(brakpoints)\n .pipe(takeUntil(this._destroy$))\n .subscribe((result) => {\n Object.keys(this._breakpoints).forEach((key, index) => {\n const brakpointValue = brakpoints[index];\n const newBreakpoint = result.breakpoints[brakpointValue];\n const isBreakpointChanged = newBreakpoint !== this._breakpoints[key];\n\n if (!isBreakpointChanged) {\n return;\n }\n\n this._breakpoints[key] = newBreakpoint;\n\n if (this._open) {\n this._updateOverlay();\n }\n });\n });\n }\n\n show(): void {\n this._cdRef.markForCheck();\n\n if (this._open) {\n return;\n }\n\n if (!this._overlayRef) {\n this._createOverlay();\n }\n\n this._portal = new TemplatePortal(this._template, this._vcr);\n\n this.dropdownShow.emit(this);\n\n this._open = true;\n\n this._renderer.setAttribute(this._dropdownToggle.nativeElement, 'aria-expanded', 'true');\n\n this._overlayRef.attach(this._portal);\n\n this._listenToEscKeyup(this._overlayRef).subscribe((isEsc) => {\n if (isEsc && this.closeOnEsc) {\n this.hide();\n }\n });\n\n this._overlayRef\n .keydownEvents()\n .pipe(takeUntil(this._overlayRef.detachments()))\n .subscribe((event: KeyboardEvent) => {\n this._handleKeyboardNavigation(event);\n });\n\n this._listenToMousedown(this._overlayRef).subscribe((event) => {\n this._mousedownTarget = event.target as HTMLElement;\n });\n\n this._listenToClick(this._overlayRef, this._dropdownToggle.nativeElement).subscribe((event) => {\n const target = event.target as HTMLElement;\n const isDropdownItem = target.classList && target.classList.contains('dropdown-item');\n\n const isOnMousedownDropdownMenu = this._dropdownMenu.elementRef.nativeElement.contains(\n this._mousedownTarget\n );\n\n this._mousedownTarget = null;\n\n if (this.closeOnItemClick && isDropdownItem) {\n this.hide();\n return;\n }\n if (this.closeOnOutsideClick && !isDropdownItem && !isOnMousedownDropdownMenu) {\n this.hide();\n return;\n }\n });\n\n this._animationState = 'visible';\n }\n\n private _handleKeyboardNavigation(event: KeyboardEvent) {\n const items: HTMLElement[] = Array.from(\n this._dropdownMenu.elementRef.nativeElement.querySelectorAll('.dropdown-item')\n );\n const key = event.key;\n const activeElement = this._dropdownMenu.elementRef.nativeElement.ownerDocument.activeElement;\n\n if (items.length === 0) {\n return;\n }\n\n let index = items.indexOf(activeElement);\n\n switch (key) {\n case 'ArrowDown':\n event.preventDefault();\n\n index = Math.min(index + 1, items.length - 1);\n break;\n case 'ArrowUp':\n event.preventDefault();\n\n if (index === -1) {\n index = items.length - 1;\n break;\n }\n index = Math.max(index - 1, 0);\n break;\n }\n\n const nextActiveElement: HTMLElement = items[index];\n\n if (nextActiveElement) {\n nextActiveElement.focus();\n }\n }\n\n hide(): void {\n this._cdRef.markForCheck();\n\n if (!this._open) {\n return;\n }\n\n this.dropdownHide.emit(this);\n\n this._animationState = 'hidden';\n }\n\n toggle(): void {\n this._cdRef.markForCheck();\n\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","<ng-content></ng-content>\n<ng-content select=\".dropdown-toggle\"></ng-content>\n<ng-template #dropdownTemplate>\n <div [@fade]=\"_animationState\" (@fade.done)=\"onAnimationEnd($event)\" [@.disabled]=\"!animation\">\n <ng-content select=\".dropdown-menu\"></ng-content>\n </div>\n</ng-template>\n","import { MdbDropdownDirective } from './dropdown.directive';\nimport { MdbDropdownToggleDirective } from './dropdown-toggle.directive';\nimport { MdbDropdownMenuDirective } from './dropdown-menu.directive';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective],\n exports: [MdbDropdownDirective, MdbDropdownToggleDirective, MdbDropdownMenuDirective],\n})\nexport class MdbDropdownModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
import * as i0 from '@angular/core';
import { Directive, ElementRef, HostBinding, ContentChild, ViewChild, ChangeDetectionStrategy, Component, HostListener, Input, Optional, Self, NgModule } from '@angular/core';
import { Directive, inject, ChangeDetectorRef, afterEveryRender, ElementRef, HostBinding, ContentChild, ViewChild, ChangeDetectionStrategy, Component, HostListener, Input, Optional, Self, NgModule } from '@angular/core';
import { Subject } from 'rxjs';

@@ -18,6 +18,6 @@ import { takeUntil } from 'rxjs/operators';

labelActive;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAbstractFormControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbAbstractFormControl, isStandalone: true, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAbstractFormControl, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbAbstractFormControl, isStandalone: true, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbAbstractFormControl, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbAbstractFormControl, decorators: [{
type: Directive

@@ -29,6 +29,6 @@ }] });

constructor() { }
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbLabelDirective, isStandalone: false, selector: "[mdbLabel]", exportAs: ["mdbLabel"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbLabelDirective, isStandalone: false, selector: "[mdbLabel]", exportAs: ["mdbLabel"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbLabelDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbLabelDirective, decorators: [{
type: Directive,

@@ -47,3 +47,3 @@ args: [{

_elementRef;
_ngZone;
_injector;
_notchLeading;

@@ -55,10 +55,17 @@ _notchMiddle;

display = true;
_cdRef = inject(ChangeDetectorRef);
get input() {
return this._formControl.input;
}
constructor(_renderer, _contentObserver, _elementRef, _ngZone) {
constructor(_renderer, _contentObserver, _elementRef, _injector) {
this._renderer = _renderer;
this._contentObserver = _contentObserver;
this._elementRef = _elementRef;
this._ngZone = _ngZone;
this._injector = _injector;
// Use afterEveryRender instead of NgZone.onStable for zoneless compatibility
afterEveryRender(() => {
if (this.hasLabel && this._recalculateGapWhenVisible) {
this._updateBorderGap();
}
}, { injector: this._injector });
}

@@ -96,10 +103,4 @@ _destroy$ = new Subject();

}
this._cdRef.markForCheck();
});
this._ngZone.runOutsideAngular(() => {
this._ngZone.onStable.pipe(takeUntil(this._destroy$)).subscribe(() => {
if (this.hasLabel && this._recalculateGapWhenVisible) {
this._updateBorderGap();
}
});
});
}

@@ -152,9 +153,9 @@ ngAfterContentChecked() {

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbFormControlComponent, deps: [{ token: i0.Renderer2 }, { token: i1.ContentObserver }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbFormControlComponent, isStandalone: false, selector: "mdb-form-control", host: { properties: { "class.form-outline": "this.outline", "class.d-block": "this.display" } }, queries: [{ propertyName: "_formControl", first: true, predicate: MdbAbstractFormControl, descendants: true, static: true }, { propertyName: "_label", first: true, predicate: MdbLabelDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "_notchLeading", first: true, predicate: ["notchLeading"], descendants: true, static: true }, { propertyName: "_notchMiddle", first: true, predicate: ["notchMiddle"], descendants: true, static: true }], ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"form-notch\">\n <div #notchLeading class=\"form-notch-leading\"></div>\n <div #notchMiddle class=\"form-notch-middle\"></div>\n <div class=\"form-notch-trailing\"></div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbFormControlComponent, deps: [{ token: i0.Renderer2 }, { token: i1.ContentObserver }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbFormControlComponent, isStandalone: false, selector: "mdb-form-control", host: { properties: { "class.form-outline": "this.outline", "class.d-block": "this.display" } }, queries: [{ propertyName: "_formControl", first: true, predicate: MdbAbstractFormControl, descendants: true, static: true }, { propertyName: "_label", first: true, predicate: MdbLabelDirective, descendants: true, read: ElementRef }], viewQueries: [{ propertyName: "_notchLeading", first: true, predicate: ["notchLeading"], descendants: true, static: true }, { propertyName: "_notchMiddle", first: true, predicate: ["notchMiddle"], descendants: true, static: true }], ngImport: i0, template: "<ng-content></ng-content>\n<div class=\"form-notch\">\n <div #notchLeading class=\"form-notch-leading\"></div>\n <div #notchMiddle class=\"form-notch-middle\"></div>\n <div class=\"form-notch-trailing\"></div>\n</div>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbFormControlComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbFormControlComponent, decorators: [{
type: Component,
args: [{ selector: 'mdb-form-control', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<ng-content></ng-content>\n<div class=\"form-notch\">\n <div #notchLeading class=\"form-notch-leading\"></div>\n <div #notchMiddle class=\"form-notch-middle\"></div>\n <div class=\"form-notch-trailing\"></div>\n</div>\n" }]
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.ContentObserver }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { _notchLeading: [{
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.ContentObserver }, { type: i0.ElementRef }, { type: i0.Injector }], propDecorators: { _notchLeading: [{
type: ViewChild,

@@ -186,2 +187,3 @@ args: ['notchLeading', { static: true }]

_destroyRef;
_cdRef = inject(ChangeDetectorRef);
constructor(_elementRef, _renderer, _ngControl, _autofill, _destroyRef) {

@@ -198,2 +200,18 @@ this._elementRef = _elementRef;

_color = '';
ngOnInit() {
if (this._ngControl?.control) {
this._ngControl.control.valueChanges
.pipe(takeUntilDestroyed(this._destroyRef))
.subscribe(() => {
this.stateChanges.next();
this._cdRef.markForCheck();
});
this._ngControl.control.statusChanges
.pipe(takeUntilDestroyed(this._destroyRef))
.subscribe(() => {
this.stateChanges.next();
this._cdRef.markForCheck();
});
}
}
ngAfterViewInit() {

@@ -218,4 +236,4 @@ if (typeof getComputedStyle === 'function') {

get disabled() {
if (this._ngControl && this._ngControl.disabled !== null) {
return this._ngControl.disabled;
if (this._ngControl?.disabled !== null && this._ngControl?.disabled !== undefined) {
return this._ngControl.disabled || this._disabled;
}

@@ -226,2 +244,3 @@ return this._disabled;

this._disabled = coerceBooleanProperty(value);
this.stateChanges.next();
}

@@ -298,6 +317,6 @@ _disabled = false;

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.NgControl, optional: true, self: true }, { token: i2.AutofillMonitor }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbInputDirective, isStandalone: false, selector: "[mdbInput]", inputs: { disabled: "disabled", readonly: "readonly", value: "value" }, host: { listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "disabled": "this.disabled" } }, providers: [{ provide: MdbAbstractFormControl, useExisting: MdbInputDirective }], exportAs: ["mdbInput"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbInputDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.NgControl, optional: true, self: true }, { token: i2.AutofillMonitor }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbInputDirective, isStandalone: false, selector: "[mdbInput]", inputs: { disabled: "disabled", readonly: "readonly", value: "value" }, host: { listeners: { "focus": "_onFocus()", "blur": "_onBlur()" }, properties: { "disabled": "this.disabled" } }, providers: [{ provide: MdbAbstractFormControl, useExisting: MdbInputDirective }], exportAs: ["mdbInput"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbInputDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbInputDirective, decorators: [{
type: Directive,

@@ -335,7 +354,7 @@ args: [{

class MdbFormsModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbFormsModule, declarations: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective], imports: [CommonModule, FormsModule], exports: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbFormsModule, imports: [CommonModule, FormsModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbFormsModule, declarations: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective], imports: [CommonModule, FormsModule], exports: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbFormsModule, imports: [CommonModule, FormsModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbFormsModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbFormsModule, decorators: [{
type: NgModule,

@@ -342,0 +361,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-forms.mjs","sources":["../../../projects/mdb-angular-ui-kit/forms/form-control.ts","../../../projects/mdb-angular-ui-kit/forms/label.directive.ts","../../../projects/mdb-angular-ui-kit/forms/form-control.component.ts","../../../projects/mdb-angular-ui-kit/forms/form-control.component.html","../../../projects/mdb-angular-ui-kit/forms/input.directive.ts","../../../projects/mdb-angular-ui-kit/forms/forms.module.ts","../../../projects/mdb-angular-ui-kit/forms/mdb-angular-ui-kit-forms.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { Directive } from '@angular/core';\n\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class MdbAbstractFormControl<T> {\n readonly stateChanges: Observable<void>;\n readonly input: HTMLInputElement;\n readonly labelActive: boolean;\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbLabel]',\n exportAs: 'mdbLabel',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbLabelDirective {\n constructor() {}\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n ViewChild,\n ContentChild,\n ElementRef,\n AfterContentInit,\n Renderer2,\n OnDestroy,\n NgZone,\n AfterContentChecked,\n} from '@angular/core';\nimport { MdbAbstractFormControl } from './form-control';\nimport { MdbLabelDirective } from './label.directive';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'mdb-form-control',\n templateUrl: './form-control.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbFormControlComponent implements AfterContentInit, AfterContentChecked, OnDestroy {\n @ViewChild('notchLeading', { static: true }) _notchLeading: ElementRef;\n @ViewChild('notchMiddle', { static: true }) _notchMiddle: ElementRef;\n @ContentChild(MdbAbstractFormControl, { static: true }) _formControl: MdbAbstractFormControl<any>;\n @ContentChild(MdbLabelDirective, { static: false, read: ElementRef }) _label: ElementRef;\n\n @HostBinding('class.form-outline') outline = true;\n @HostBinding('class.d-block') display = true;\n\n get input(): HTMLInputElement {\n return this._formControl.input;\n }\n\n constructor(\n private _renderer: Renderer2,\n private _contentObserver: ContentObserver,\n private _elementRef: ElementRef,\n private _ngZone: NgZone\n ) {}\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n private _notchLeadingLength = 9;\n private _labelMarginLeft = 0;\n private _labelGapPadding = 8;\n private _labelScale = 0.8;\n private _recalculateGapWhenVisible = false;\n\n private _previousLabel: ElementRef | null = null;\n\n ngAfterContentInit(): void {\n if (this.hasLabel) {\n setTimeout(() => {\n this._updateBorderGap();\n }, 0);\n this._previousLabel = this._label;\n } else {\n this._renderer.addClass(this.input, 'placeholder-active');\n }\n this._updateLabelActiveState();\n\n if (this.hasLabel) {\n this._contentObserver\n .observe(this._label.nativeElement)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._updateBorderGap();\n });\n }\n\n this._formControl.stateChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._updateLabelActiveState();\n if (this.hasLabel) {\n this._updateBorderGap();\n }\n });\n\n this._ngZone.runOutsideAngular(() => {\n this._ngZone.onStable.pipe(takeUntil(this._destroy$)).subscribe(() => {\n if (this.hasLabel && this._recalculateGapWhenVisible) {\n this._updateBorderGap();\n }\n });\n });\n }\n\n ngAfterContentChecked(): void {\n if (!this._previousLabel && this.hasLabel) {\n setTimeout(() => this._updateBorderGap());\n }\n this._previousLabel = this._label;\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.unsubscribe();\n }\n\n get hasLabel(): boolean {\n return !!this._label;\n }\n\n private _getLabelWidth(): number {\n return this._label.nativeElement.clientWidth * this._labelScale + this._labelGapPadding;\n }\n\n private _updateBorderGap(): void {\n // Element is in DOM but is not visible, we need to recalculate the gap when element\n // is displayed. This problem may occur in components such as tabs where content of\n // inactive tabs has display:none styles\n\n if (this._isHidden()) {\n this._recalculateGapWhenVisible = true;\n return;\n }\n\n const notchLeadingWidth = `${this._labelMarginLeft + this._notchLeadingLength}px`;\n const notchMiddleWidth = `${this._getLabelWidth()}px`;\n\n this._notchLeading.nativeElement.style.width = notchLeadingWidth;\n this._notchMiddle.nativeElement.style.width = notchMiddleWidth;\n this._label.nativeElement.style.marginLeft = `${this._labelMarginLeft}px`;\n\n this._recalculateGapWhenVisible = false;\n }\n\n private _updateLabelActiveState(): void {\n if (this._isLabelActive()) {\n this._renderer.addClass(this.input, 'active');\n } else {\n this._renderer.removeClass(this.input, 'active');\n }\n }\n\n private _isLabelActive(): boolean {\n return this._formControl && this._formControl.labelActive;\n }\n\n private _isHidden(): boolean {\n const el = this._elementRef.nativeElement;\n\n return !el.offsetHeight && !el.offsetWidth;\n }\n}\n","<ng-content></ng-content>\n<div class=\"form-notch\">\n <div #notchLeading class=\"form-notch-leading\"></div>\n <div #notchMiddle class=\"form-notch-middle\"></div>\n <div class=\"form-notch-trailing\"></div>\n</div>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n DestroyRef,\n Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { MdbAbstractFormControl } from './form-control';\nimport { AutofillEvent, AutofillMonitor } from '@angular/cdk/text-field';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbInput]',\n exportAs: 'mdbInput',\n providers: [{ provide: MdbAbstractFormControl, useExisting: MdbInputDirective }],\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbInputDirective\n implements MdbAbstractFormControl<any>, DoCheck, AfterViewInit, OnDestroy\n{\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n @Optional() @Self() private _ngControl: NgControl,\n private _autofill: AutofillMonitor,\n private _destroyRef: DestroyRef\n ) {}\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n private _focused = false;\n private _autofilled = false;\n private _color = '';\n\n ngAfterViewInit() {\n if (typeof getComputedStyle === 'function') {\n this._color = getComputedStyle(this._elementRef.nativeElement).color;\n\n if (this._hasTypeInterferingPlaceholder()) {\n this._updateTextColorForDateType();\n }\n }\n\n this._autofill.monitor(this.input).subscribe((event: AutofillEvent) => {\n this._autofilled = event.isAutofilled;\n this.stateChanges.next();\n });\n\n this.stateChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n if (this._hasTypeInterferingPlaceholder()) {\n this._updateTextColorForDateType();\n }\n });\n }\n\n private _currentNativeValue: any;\n\n @HostBinding('disabled')\n @Input('disabled')\n get disabled(): boolean {\n if (this._ngControl && this._ngControl.disabled !== null) {\n return this._ngControl.disabled;\n }\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input('readonly')\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n if (value) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', '');\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n\n @Input()\n get value(): string {\n return this._elementRef.nativeElement.value;\n }\n set value(value: string) {\n if (value !== this.value) {\n this._elementRef.nativeElement.value = value;\n this._value = value;\n this.stateChanges.next();\n }\n }\n private _value: any;\n\n private _updateTextColorForDateType() {\n const actualColor = getComputedStyle(this._elementRef.nativeElement).color;\n this._color = actualColor !== 'rgba(0, 0, 0, 0)' ? actualColor : this._color;\n\n const color = this.labelActive ? this._color : `transparent`;\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'color', color);\n }\n\n @HostListener('focus')\n _onFocus(): void {\n this._focused = true;\n this.stateChanges.next();\n }\n\n @HostListener('blur')\n _onBlur(): void {\n this._focused = false;\n this.stateChanges.next();\n }\n\n ngDoCheck(): void {\n const value = this._elementRef.nativeElement.value;\n if (this._currentNativeValue !== value) {\n this._currentNativeValue = value;\n this.stateChanges.next();\n }\n }\n\n get hasValue(): boolean {\n return this._elementRef.nativeElement.value !== '';\n }\n\n get focused(): boolean {\n return this._focused;\n }\n\n get autofilled(): boolean {\n return this._autofilled;\n }\n\n get input(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n\n get labelActive(): boolean {\n return this.focused || this.hasValue || this.autofilled;\n }\n\n private _hasTypeInterferingPlaceholder() {\n const typesArray = ['date', 'datetime-local', 'time', 'month', 'week'];\n return typesArray.includes(this._elementRef.nativeElement.type);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n\n ngOnDestroy(): void {\n this._autofill.stopMonitoring(this.input);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbFormControlComponent } from './form-control.component';\nimport { MdbInputDirective } from './input.directive';\nimport { MdbLabelDirective } from './label.directive';\n\n@NgModule({\n declarations: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective],\n exports: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbFormsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-forms.mjs","sources":["../../../projects/mdb-angular-ui-kit/forms/form-control.ts","../../../projects/mdb-angular-ui-kit/forms/label.directive.ts","../../../projects/mdb-angular-ui-kit/forms/form-control.component.ts","../../../projects/mdb-angular-ui-kit/forms/form-control.component.html","../../../projects/mdb-angular-ui-kit/forms/input.directive.ts","../../../projects/mdb-angular-ui-kit/forms/forms.module.ts","../../../projects/mdb-angular-ui-kit/forms/mdb-angular-ui-kit-forms.ts"],"sourcesContent":["import { Observable } from 'rxjs';\nimport { Directive } from '@angular/core';\n\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class MdbAbstractFormControl<T> {\n readonly stateChanges: Observable<void>;\n readonly input: HTMLInputElement;\n readonly labelActive: boolean;\n}\n","import { Directive, ElementRef } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbLabel]',\n exportAs: 'mdbLabel',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbLabelDirective {\n constructor() {}\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n HostBinding,\n ViewChild,\n ContentChild,\n ElementRef,\n AfterContentInit,\n Renderer2,\n OnDestroy,\n AfterContentChecked,\n afterEveryRender,\n Injector,\n inject,\n} from '@angular/core';\nimport { MdbAbstractFormControl } from './form-control';\nimport { MdbLabelDirective } from './label.directive';\nimport { ContentObserver } from '@angular/cdk/observers';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'mdb-form-control',\n templateUrl: './form-control.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class MdbFormControlComponent implements AfterContentInit, AfterContentChecked, OnDestroy {\n @ViewChild('notchLeading', { static: true }) _notchLeading: ElementRef;\n @ViewChild('notchMiddle', { static: true }) _notchMiddle: ElementRef;\n @ContentChild(MdbAbstractFormControl, { static: true }) _formControl: MdbAbstractFormControl<any>;\n @ContentChild(MdbLabelDirective, { static: false, read: ElementRef }) _label: ElementRef;\n\n @HostBinding('class.form-outline') outline = true;\n @HostBinding('class.d-block') display = true;\n\n private _cdRef = inject(ChangeDetectorRef);\n\n get input(): HTMLInputElement {\n return this._formControl.input;\n }\n\n constructor(\n private _renderer: Renderer2,\n private _contentObserver: ContentObserver,\n private _elementRef: ElementRef,\n private _injector: Injector\n ) {\n // Use afterEveryRender instead of NgZone.onStable for zoneless compatibility\n afterEveryRender(\n () => {\n if (this.hasLabel && this._recalculateGapWhenVisible) {\n this._updateBorderGap();\n }\n },\n { injector: this._injector }\n );\n }\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n private _notchLeadingLength = 9;\n private _labelMarginLeft = 0;\n private _labelGapPadding = 8;\n private _labelScale = 0.8;\n private _recalculateGapWhenVisible = false;\n\n private _previousLabel: ElementRef | null = null;\n\n ngAfterContentInit(): void {\n if (this.hasLabel) {\n setTimeout(() => {\n this._updateBorderGap();\n }, 0);\n this._previousLabel = this._label;\n } else {\n this._renderer.addClass(this.input, 'placeholder-active');\n }\n this._updateLabelActiveState();\n\n if (this.hasLabel) {\n this._contentObserver\n .observe(this._label.nativeElement)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n this._updateBorderGap();\n });\n }\n\n this._formControl.stateChanges.pipe(takeUntil(this._destroy$)).subscribe(() => {\n this._updateLabelActiveState();\n if (this.hasLabel) {\n this._updateBorderGap();\n }\n this._cdRef.markForCheck();\n });\n }\n\n ngAfterContentChecked(): void {\n if (!this._previousLabel && this.hasLabel) {\n setTimeout(() => this._updateBorderGap());\n }\n this._previousLabel = this._label;\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.unsubscribe();\n }\n\n get hasLabel(): boolean {\n return !!this._label;\n }\n\n private _getLabelWidth(): number {\n return this._label.nativeElement.clientWidth * this._labelScale + this._labelGapPadding;\n }\n\n private _updateBorderGap(): void {\n // Element is in DOM but is not visible, we need to recalculate the gap when element\n // is displayed. This problem may occur in components such as tabs where content of\n // inactive tabs has display:none styles\n\n if (this._isHidden()) {\n this._recalculateGapWhenVisible = true;\n return;\n }\n\n const notchLeadingWidth = `${this._labelMarginLeft + this._notchLeadingLength}px`;\n const notchMiddleWidth = `${this._getLabelWidth()}px`;\n\n this._notchLeading.nativeElement.style.width = notchLeadingWidth;\n this._notchMiddle.nativeElement.style.width = notchMiddleWidth;\n this._label.nativeElement.style.marginLeft = `${this._labelMarginLeft}px`;\n\n this._recalculateGapWhenVisible = false;\n }\n\n private _updateLabelActiveState(): void {\n if (this._isLabelActive()) {\n this._renderer.addClass(this.input, 'active');\n } else {\n this._renderer.removeClass(this.input, 'active');\n }\n }\n\n private _isLabelActive(): boolean {\n return this._formControl && this._formControl.labelActive;\n }\n\n private _isHidden(): boolean {\n const el = this._elementRef.nativeElement;\n\n return !el.offsetHeight && !el.offsetWidth;\n }\n}\n","<ng-content></ng-content>\n<div class=\"form-notch\">\n <div #notchLeading class=\"form-notch-leading\"></div>\n <div #notchMiddle class=\"form-notch-middle\"></div>\n <div class=\"form-notch-trailing\"></div>\n</div>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectorRef,\n DestroyRef,\n Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Renderer2,\n Self,\n inject,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { MdbAbstractFormControl } from './form-control';\nimport { AutofillEvent, AutofillMonitor } from '@angular/cdk/text-field';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbInput]',\n exportAs: 'mdbInput',\n providers: [{ provide: MdbAbstractFormControl, useExisting: MdbInputDirective }],\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbInputDirective\n implements MdbAbstractFormControl<any>, DoCheck, AfterViewInit, OnInit, OnDestroy\n{\n private _cdRef = inject(ChangeDetectorRef);\n\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n @Optional() @Self() private _ngControl: NgControl,\n private _autofill: AutofillMonitor,\n private _destroyRef: DestroyRef\n ) {}\n\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n private _focused = false;\n private _autofilled = false;\n private _color = '';\n\n ngOnInit(): void {\n if (this._ngControl?.control) {\n this._ngControl.control.valueChanges\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.stateChanges.next();\n this._cdRef.markForCheck();\n });\n\n this._ngControl.control.statusChanges\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this.stateChanges.next();\n this._cdRef.markForCheck();\n });\n }\n }\n\n ngAfterViewInit() {\n if (typeof getComputedStyle === 'function') {\n this._color = getComputedStyle(this._elementRef.nativeElement).color;\n\n if (this._hasTypeInterferingPlaceholder()) {\n this._updateTextColorForDateType();\n }\n }\n\n this._autofill.monitor(this.input).subscribe((event: AutofillEvent) => {\n this._autofilled = event.isAutofilled;\n this.stateChanges.next();\n });\n\n this.stateChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n if (this._hasTypeInterferingPlaceholder()) {\n this._updateTextColorForDateType();\n }\n });\n }\n\n private _currentNativeValue: any;\n\n @HostBinding('disabled')\n @Input('disabled')\n get disabled(): boolean {\n if (this._ngControl?.disabled !== null && this._ngControl?.disabled !== undefined) {\n return this._ngControl.disabled || this._disabled;\n }\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n private _disabled = false;\n\n @Input('readonly')\n get readonly(): boolean {\n return this._readonly;\n }\n set readonly(value: boolean) {\n if (value) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'readonly', '');\n } else {\n this._renderer.removeAttribute(this._elementRef.nativeElement, 'readonly');\n }\n this._readonly = coerceBooleanProperty(value);\n }\n private _readonly = false;\n\n @Input()\n get value(): string {\n return this._elementRef.nativeElement.value;\n }\n set value(value: string) {\n if (value !== this.value) {\n this._elementRef.nativeElement.value = value;\n this._value = value;\n this.stateChanges.next();\n }\n }\n private _value: any;\n\n private _updateTextColorForDateType() {\n const actualColor = getComputedStyle(this._elementRef.nativeElement).color;\n this._color = actualColor !== 'rgba(0, 0, 0, 0)' ? actualColor : this._color;\n\n const color = this.labelActive ? this._color : `transparent`;\n\n this._renderer.setStyle(this._elementRef.nativeElement, 'color', color);\n }\n\n @HostListener('focus')\n _onFocus(): void {\n this._focused = true;\n this.stateChanges.next();\n }\n\n @HostListener('blur')\n _onBlur(): void {\n this._focused = false;\n this.stateChanges.next();\n }\n\n ngDoCheck(): void {\n const value = this._elementRef.nativeElement.value;\n if (this._currentNativeValue !== value) {\n this._currentNativeValue = value;\n this.stateChanges.next();\n }\n }\n\n get hasValue(): boolean {\n return this._elementRef.nativeElement.value !== '';\n }\n\n get focused(): boolean {\n return this._focused;\n }\n\n get autofilled(): boolean {\n return this._autofilled;\n }\n\n get input(): HTMLInputElement {\n return this._elementRef.nativeElement;\n }\n\n get labelActive(): boolean {\n return this.focused || this.hasValue || this.autofilled;\n }\n\n private _hasTypeInterferingPlaceholder() {\n const typesArray = ['date', 'datetime-local', 'time', 'month', 'week'];\n return typesArray.includes(this._elementRef.nativeElement.type);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n static ngAcceptInputType_readonly: BooleanInput;\n\n ngOnDestroy(): void {\n this._autofill.stopMonitoring(this.input);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbFormControlComponent } from './form-control.component';\nimport { MdbInputDirective } from './input.directive';\nimport { MdbLabelDirective } from './label.directive';\n\n@NgModule({\n declarations: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective],\n exports: [MdbFormControlComponent, MdbInputDirective, MdbLabelDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbFormsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}

@@ -307,6 +307,6 @@ import { Subject, fromEvent } from 'rxjs';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalContainerComponent, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ConfigurableFocusTrapFactory }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbModalContainerComponent, isStandalone: false, selector: "mdb-modal-container", host: { listeners: { "window:resize": "onWindowResize($event)" }, properties: { "class.modal": "this.modal", "class.fade": "this.hasAnimation" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "modalDialog", first: true, predicate: ["dialog"], descendants: true, static: true }, { propertyName: "modalContent", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<div #dialog [class]=\"'modal-dialog' + (_config.modalClass ? ' ' + _config.modalClass : '')\">\n <div\n #content\n class=\"modal-content\"\n [ngClass]=\"{ 'rounded-0': _config.modalClass.includes('modal-frame') }\"\n >\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalContainerComponent, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ConfigurableFocusTrapFactory }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbModalContainerComponent, isStandalone: false, selector: "mdb-modal-container", host: { listeners: { "window:resize": "onWindowResize()" }, properties: { "class.modal": "this.modal", "class.fade": "this.hasAnimation" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }, { propertyName: "modalDialog", first: true, predicate: ["dialog"], descendants: true, static: true }, { propertyName: "modalContent", first: true, predicate: ["content"], descendants: true, static: true }], ngImport: i0, template: "<div #dialog [class]=\"'modal-dialog' + (_config.modalClass ? ' ' + _config.modalClass : '')\">\n <div\n #content\n class=\"modal-content\"\n [ngClass]=\"{ 'rounded-0': _config.modalClass.includes('modal-frame') }\"\n >\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalContainerComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalContainerComponent, decorators: [{
type: Component,

@@ -334,3 +334,3 @@ args: [{ selector: 'mdb-modal-container', changeDetection: ChangeDetectionStrategy.Default, standalone: false, template: "<div #dialog [class]=\"'modal-dialog' + (_config.modalClass ? ' ' + _config.modalClass : '')\">\n <div\n #content\n class=\"modal-content\"\n [ngClass]=\"{ 'rounded-0': _config.modalClass.includes('modal-frame') }\"\n >\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>\n" }]

type: HostListener,
args: ['window:resize', ['$event']]
args: ['window:resize']
}] } });

@@ -420,6 +420,6 @@

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalService, deps: [{ token: DOCUMENT }, { token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalService });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalService, deps: [{ token: DOCUMENT }, { token: i1$1.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalService, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalService, decorators: [{
type: Injectable

@@ -432,7 +432,7 @@ }], ctorParameters: () => [{ type: undefined, decorators: [{

class MdbModalModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbModalModule, declarations: [MdbModalContainerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [MdbModalContainerComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalModule, providers: [MdbModalService], imports: [CommonModule, OverlayModule, PortalModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbModalModule, declarations: [MdbModalContainerComponent], imports: [CommonModule, OverlayModule, PortalModule], exports: [MdbModalContainerComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalModule, providers: [MdbModalService], imports: [CommonModule, OverlayModule, PortalModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbModalModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbModalModule, decorators: [{
type: NgModule,

@@ -439,0 +439,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-modal.mjs","sources":["../../../projects/mdb-angular-ui-kit/modal/modal-config.ts","../../../projects/mdb-angular-ui-kit/modal/modal-ref.ts","../../../projects/mdb-angular-ui-kit/modal/modal-container.component.ts","../../../projects/mdb-angular-ui-kit/modal/modal-container.component.html","../../../projects/mdb-angular-ui-kit/modal/modal.service.ts","../../../projects/mdb-angular-ui-kit/modal/modal.module.ts","../../../projects/mdb-angular-ui-kit/modal/mdb-angular-ui-kit-modal.ts"],"sourcesContent":["import { ViewContainerRef } from '@angular/core';\n\nexport class MdbModalConfig<D = any> {\n animation? = true;\n backdrop? = true;\n ignoreBackdropClick? = false;\n keyboard? = true;\n modalClass? = '';\n containerClass? = '';\n viewContainerRef?: ViewContainerRef;\n data?: D | null = null;\n nonInvasive? = false;\n focusElementSelector? = '';\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { MdbModalContainerComponent } from './modal-container.component';\n\nexport class MdbModalRef<T> {\n constructor(protected _overlayRef: OverlayRef, private _container: MdbModalContainerComponent) {}\n\n component: T;\n\n private readonly onClose$: Subject<any> = new Subject();\n readonly onClose: Observable<any> = this.onClose$.asObservable();\n\n close(message?: any): void {\n this._container._close();\n\n setTimeout(() => {\n if (this._container._config.nonInvasive) {\n this._container._onNonInvasiveModalHidden();\n }\n this._container._restoreScrollbar();\n this.onClose$.next(message);\n this.onClose$.complete();\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }, this._container.MODAL_TRANSITION);\n }\n}\n","import { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild,\n DOCUMENT,\n} from '@angular/core';\nimport { MdbModalConfig } from './modal-config';\nimport { ConfigurableFocusTrapFactory, ConfigurableFocusTrap } from '@angular/cdk/a11y';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\n// width below which, according to css rules, modal position changes - modal gets position relative instead of absolute.\nconst MODAL_CSS_BREAKPOINT = 992;\nconst MODAL_OPEN_CLASS = 'modal-open';\nconst NON_INVASIVE_CLASS = 'modal-non-invasive-open';\nconst NON_INVASIVE_SHOW_CLASS = 'modal-non-invasive-show';\n\n@Component({\n selector: 'mdb-modal-container',\n templateUrl: 'modal-container.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false,\n})\nexport class MdbModalContainerComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild(CdkPortalOutlet, { static: true }) _portalOutlet: CdkPortalOutlet;\n @ViewChild('dialog', { static: true }) modalDialog: ElementRef;\n @ViewChild('content', { static: true }) modalContent: ElementRef;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n readonly backdropClick$: Subject<MouseEvent> = new Subject<MouseEvent>();\n\n _config: MdbModalConfig;\n\n BACKDROP_TRANSITION = 150;\n MODAL_TRANSITION = 200;\n NON_INVASIVE_TRANSITION = 450;\n\n private _previouslyFocusedElement: HTMLElement;\n private _focusTrap: ConfigurableFocusTrap;\n\n @HostBinding('class.modal') modal = true;\n @HostBinding('class.fade')\n get hasAnimation(): boolean {\n return this._config.animation;\n }\n\n @HostListener('window:resize', ['$event'])\n onWindowResize() {\n this._ngZone.runOutsideAngular(() => {\n if (this._config.nonInvasive) {\n this._handleWindowResize();\n }\n });\n }\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n private _isScrollable = false;\n private _isBottomRight = false;\n private _isBottomLeft = false;\n private _isTopRight = false;\n private _isTopLeft = false;\n private _isSideTopModal = false;\n private _isSideBottomModal = false;\n private _isSideModal = false;\n private _isModalBottom = false;\n private _modalContentRect: null | DOMRectReadOnly;\n private _modalContentComputedStyles: null | CSSStyleDeclaration;\n private _modalDialogComputedStyles: null | CSSStyleDeclaration;\n private _topOffset = 0;\n private _leftOffset = 0;\n private _rightOffset = 0;\n private _bottomOffset = 0;\n\n constructor(\n @Inject(DOCUMENT) private _document,\n public _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this._updateContainerClass();\n this._renderer.setStyle(this.host, 'display', 'block');\n\n if (!this._config.nonInvasive) {\n this._focusTrap = this._focusTrapFactory.create(this.host);\n this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n }\n const focusElement =\n this._config.focusElementSelector &&\n (this.modalContent.nativeElement.querySelector(\n this._config.focusElementSelector\n ) as HTMLElement);\n if (this._config.animation) {\n setTimeout(() => {\n this._renderer.addClass(this.host, 'show');\n if (focusElement) {\n setTimeout(() => {\n focusElement.focus();\n }, this.MODAL_TRANSITION);\n } else {\n setTimeout(() => {\n this._focusTrap?.focusInitialElementWhenReady();\n }, this.MODAL_TRANSITION);\n }\n }, this.BACKDROP_TRANSITION);\n } else if (focusElement) {\n focusElement.focus();\n } else {\n this._focusTrap?.focusInitialElementWhenReady();\n }\n }\n\n ngAfterViewInit(): void {\n const widthWithVerticalScroll = this._document.body.offsetWidth;\n this._renderer.addClass(this._document.body, MODAL_OPEN_CLASS);\n\n if (this._config.nonInvasive) {\n this._renderer.addClass(this._document.body, NON_INVASIVE_CLASS);\n setTimeout(() => {\n this._onNonInvasiveModalShown();\n }, this.NON_INVASIVE_TRANSITION);\n }\n\n if (!this._config.nonInvasive) {\n this._renderer.setStyle(this._document.body, 'overflow', 'hidden');\n }\n\n const widthWithoutVerticalScroll = this._document.body.offsetWidth;\n\n if (!this._config.nonInvasive) {\n this._renderer.setStyle(\n this._document.body,\n 'padding-right',\n `${widthWithoutVerticalScroll - widthWithVerticalScroll}px`\n );\n }\n\n if (!this._config.ignoreBackdropClick && !this._config.nonInvasive) {\n fromEvent(this.host, 'mousedown')\n .pipe(\n filter((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const dialog = this.modalDialog.nativeElement;\n const notDialog = target !== dialog;\n const notDialogContent = !dialog.contains(target);\n return notDialog && notDialogContent;\n }),\n takeUntil(this._destroy$)\n )\n .subscribe((event: MouseEvent) => {\n this.backdropClick$.next(event);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._previouslyFocusedElement?.focus();\n this._focusTrap?.destroy();\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _updateContainerClass(): void {\n if (\n this._config.containerClass === '' ||\n (this._config.containerClass.length && this._config.containerClass.length === 0)\n ) {\n return;\n }\n\n const containerClasses = this._config.containerClass.split(' ');\n\n containerClasses.forEach((containerClass) => {\n this._renderer.addClass(this.host, containerClass);\n });\n }\n\n private _onNonInvasiveModalShown() {\n this._isScrollable = this._config.modalClass.includes('modal-dialog-scrollable');\n this._isBottomRight = this._config.modalClass.includes('modal-bottom-right');\n this._isBottomLeft = this._config.modalClass.includes('modal-bottom-left');\n this._isTopRight = this._config.modalClass.includes('modal-top-right');\n this._isTopLeft = this._config.modalClass.includes('modal-top-left');\n this._isModalBottom = this._config.modalClass.includes('modal-bottom');\n this._isSideTopModal = this._isTopLeft || this._isTopRight;\n this._isSideBottomModal = this._isBottomLeft || this._isBottomRight;\n this._isSideModal = this._isSideTopModal || this._isSideBottomModal;\n this._modalContentRect = this.modalContent.nativeElement.getBoundingClientRect();\n this._modalContentComputedStyles = window.getComputedStyle(this.modalContent.nativeElement);\n this._modalDialogComputedStyles = window.getComputedStyle(this.modalDialog.nativeElement);\n this._topOffset = parseInt(this._modalDialogComputedStyles.top, 0);\n this._leftOffset = parseInt(this._modalDialogComputedStyles.left, 0);\n this._rightOffset = parseInt(this._modalDialogComputedStyles.right, 0);\n this._bottomOffset = parseInt(this._modalDialogComputedStyles.bottom, 0);\n\n this._renderer.addClass(this.host, NON_INVASIVE_SHOW_CLASS);\n this._setNonInvasiveStyles();\n }\n\n private _setNonInvasiveStyles(leftOffset = 0, topOffset = 0) {\n const isAboveBreakpoint = window.innerWidth >= MODAL_CSS_BREAKPOINT;\n this._renderer.setStyle(this.host, 'left', `${this._modalContentRect.left + leftOffset}px`);\n this._renderer.setStyle(this.host, 'width', this._modalContentComputedStyles.width);\n\n if (!this._isScrollable) {\n // If the modal content is not long enough to require scroll shrink the modal wrapper to\n // the height of modal content so other elements on site are clickable outside modal\n this._renderer.setStyle(this.host, 'height', this._modalContentComputedStyles.height);\n this._renderer.setStyle(this.host, 'display', '');\n }\n\n if (isAboveBreakpoint) {\n if (this._isSideBottomModal || this._isModalBottom) {\n // Force modal to correct bottom placement. It's needed because modal host has position\n // fixed and fixed height.\n this._renderer.setStyle(this.host, 'top', `${this._modalContentRect.top + topOffset}px`);\n }\n\n if (this._isSideModal) {\n // Enable horizontal scrolling when the content is wider than the modal's fixed width\n this._renderer.setStyle(this.host, 'overflowX', 'auto');\n }\n }\n\n if (!isAboveBreakpoint) {\n this.host.style.height = '';\n }\n }\n\n _onNonInvasiveModalHidden() {\n this._renderer.removeClass(this.host, NON_INVASIVE_SHOW_CLASS);\n this._resetNonInvasiveStyles();\n this._removeNonInvasiveClass();\n }\n\n private _resetNonInvasiveStyles() {\n this._renderer.setStyle(this.host, 'left', '');\n this._renderer.setStyle(this.host, 'top', '');\n this._renderer.setStyle(this.host, 'height', '');\n this._renderer.setStyle(this.host, 'width', '');\n\n if (!this._isScrollable) {\n this._renderer.setStyle(this.host, 'display', '');\n }\n\n if (this._isSideModal) {\n this._renderer.setStyle(this.host, 'overflowX', '');\n }\n }\n\n private _removeNonInvasiveClass() {\n const isOtherModalOpen = this._document.body.querySelector(\n '.modal.show.modal-non-invasive-show'\n );\n if (!isOtherModalOpen) {\n this._renderer.removeClass(this._document.body, NON_INVASIVE_CLASS);\n } else {\n this._renderer.addClass(this._document.body, MODAL_OPEN_CLASS);\n }\n }\n\n private _handleWindowResize() {\n const modalContent = this.host.querySelector('.modal-content');\n this._resetNonInvasiveStyles();\n\n this._modalContentRect = modalContent.getBoundingClientRect();\n this._modalContentComputedStyles = window.getComputedStyle(modalContent);\n\n if (this._isSideTopModal || this._isSideBottomModal) {\n let sideOffset = 0;\n let topOffset = 0;\n if (this._isBottomRight || this._isBottomLeft) {\n topOffset = -this._bottomOffset;\n }\n if (this._isBottomRight || this._isTopRight) {\n sideOffset = -this._rightOffset;\n }\n if (this._isBottomLeft || this._isTopLeft) {\n sideOffset = this._leftOffset;\n }\n\n this._setNonInvasiveStyles(sideOffset, topOffset);\n } else {\n this._setNonInvasiveStyles();\n }\n }\n\n _close(): void {\n if (this._config.animation) {\n this._renderer.removeClass(this.host, 'show');\n }\n\n // Pause iframe/video when closing modal\n const iframeElements = Array.from(this.host.querySelectorAll('iframe'));\n const videoElements = Array.from(this.host.querySelectorAll('video'));\n\n iframeElements.forEach((iframe: HTMLIFrameElement) => {\n const srcAttribute: any = iframe.getAttribute('src');\n this._renderer.setAttribute(iframe, 'src', srcAttribute);\n });\n\n videoElements.forEach((video: HTMLVideoElement) => {\n video.pause();\n });\n }\n\n _restoreScrollbar(): void {\n this._renderer.removeClass(this._document.body, MODAL_OPEN_CLASS);\n this._renderer.removeStyle(this._document.body, 'overflow');\n this._renderer.removeStyle(this._document.body, 'padding-right');\n }\n\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n}\n","<div #dialog [class]=\"'modal-dialog' + (_config.modalClass ? ' ' + _config.modalClass : '')\">\n <div\n #content\n class=\"modal-content\"\n [ngClass]=\"{ 'rounded-0': _config.modalClass.includes('modal-frame') }\"\n >\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\n\nimport {\n Inject,\n Injectable,\n Injector,\n StaticProvider,\n TemplateRef,\n ChangeDetectorRef,\n DOCUMENT,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { MdbModalConfig } from './modal-config';\nimport { MdbModalContainerComponent } from './modal-container.component';\nimport { MdbModalRef } from './modal-ref';\n\n@Injectable()\nexport class MdbModalService {\n constructor(\n @Inject(DOCUMENT) private _document,\n private _overlay: Overlay,\n private _injector: Injector\n ) {}\n\n open<T, D = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MdbModalConfig<D>\n ): MdbModalRef<T> {\n const defaultConfig = new MdbModalConfig();\n config = config ? Object.assign(defaultConfig, config) : defaultConfig;\n\n const overlayRef = this._createOverlay(config);\n const container = this._createContainer(overlayRef, config);\n const modalRef = this._createContent(componentOrTemplateRef, container, overlayRef, config);\n\n this._registerListeners<T>(modalRef, config, container);\n\n return modalRef;\n }\n\n private _createOverlay(config: MdbModalConfig): OverlayRef {\n const overlayConfig = this._getOverlayConfig(config);\n return this._overlay.create(overlayConfig);\n }\n\n private _getOverlayConfig(modalConfig: MdbModalConfig): OverlayConfig {\n const config = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n hasBackdrop: modalConfig.nonInvasive ? false : modalConfig.backdrop,\n backdropClass: 'mdb-backdrop',\n });\n\n return config;\n }\n\n private _createContainer(\n overlayRef: OverlayRef,\n config: MdbModalConfig\n ): MdbModalContainerComponent {\n const portal = new ComponentPortal(MdbModalContainerComponent, null, this._injector);\n const containerRef = overlayRef.attach(portal);\n containerRef.instance._config = config;\n\n containerRef.changeDetectorRef.detectChanges();\n\n return containerRef.instance;\n }\n\n private _createContent<T>(\n componentOrTemplate: ComponentType<T> | TemplateRef<T>,\n container: MdbModalContainerComponent,\n overlayRef: OverlayRef,\n config: MdbModalConfig\n ): MdbModalRef<T> {\n const modalRef: MdbModalRef<T> = new MdbModalRef(overlayRef, container);\n\n if (componentOrTemplate instanceof TemplateRef) {\n container.attachTemplatePortal(\n new TemplatePortal<T>(componentOrTemplate, null, {\n $implicit: config.data,\n modalRef,\n } as any)\n );\n } else {\n const injector = this._createInjector<T>(config, modalRef, container);\n const contentRef = container.attachComponentPortal<T>(\n new ComponentPortal(componentOrTemplate, config.viewContainerRef, injector)\n );\n\n if (config.data) {\n Object.assign(contentRef.instance, { ...config.data });\n }\n\n modalRef.component = contentRef.instance;\n }\n\n return modalRef;\n }\n\n private _createInjector<T>(\n config: MdbModalConfig,\n modalRef: MdbModalRef<T>,\n container: MdbModalContainerComponent\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The dialog container should be provided as the dialog container and the dialog's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the dialog\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n { provide: MdbModalContainerComponent, useValue: container },\n { provide: MdbModalRef, useValue: modalRef },\n ];\n\n return Injector.create({ parent: userInjector || this._injector, providers });\n }\n\n private _registerListeners<T>(\n modalRef: MdbModalRef<T>,\n config: MdbModalConfig,\n container: MdbModalContainerComponent\n ): void {\n container.backdropClick$.pipe(take(1)).subscribe(() => {\n modalRef.close();\n });\n\n if (config.keyboard) {\n fromEvent(container._elementRef.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => {\n return event.key === 'Escape';\n }),\n take(1)\n )\n .subscribe(() => {\n modalRef.close();\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgModule } from '@angular/core';\nimport { MdbModalContainerComponent } from './modal-container.component';\nimport { MdbModalService } from './modal.service';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, PortalModule],\n exports: [MdbModalContainerComponent],\n declarations: [MdbModalContainerComponent],\n providers: [MdbModalService],\n})\nexport class MdbModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-modal.mjs","sources":["../../../projects/mdb-angular-ui-kit/modal/modal-config.ts","../../../projects/mdb-angular-ui-kit/modal/modal-ref.ts","../../../projects/mdb-angular-ui-kit/modal/modal-container.component.ts","../../../projects/mdb-angular-ui-kit/modal/modal-container.component.html","../../../projects/mdb-angular-ui-kit/modal/modal.service.ts","../../../projects/mdb-angular-ui-kit/modal/modal.module.ts","../../../projects/mdb-angular-ui-kit/modal/mdb-angular-ui-kit-modal.ts"],"sourcesContent":["import { ViewContainerRef } from '@angular/core';\n\nexport class MdbModalConfig<D = any> {\n animation? = true;\n backdrop? = true;\n ignoreBackdropClick? = false;\n keyboard? = true;\n modalClass? = '';\n containerClass? = '';\n viewContainerRef?: ViewContainerRef;\n data?: D | null = null;\n nonInvasive? = false;\n focusElementSelector? = '';\n}\n","import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { MdbModalContainerComponent } from './modal-container.component';\n\nexport class MdbModalRef<T> {\n constructor(protected _overlayRef: OverlayRef, private _container: MdbModalContainerComponent) {}\n\n component: T;\n\n private readonly onClose$: Subject<any> = new Subject();\n readonly onClose: Observable<any> = this.onClose$.asObservable();\n\n close(message?: any): void {\n this._container._close();\n\n setTimeout(() => {\n if (this._container._config.nonInvasive) {\n this._container._onNonInvasiveModalHidden();\n }\n this._container._restoreScrollbar();\n this.onClose$.next(message);\n this.onClose$.complete();\n this._overlayRef.detach();\n this._overlayRef.dispose();\n }, this._container.MODAL_TRANSITION);\n }\n}\n","import { CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n ElementRef,\n EmbeddedViewRef,\n HostBinding,\n HostListener,\n Inject,\n NgZone,\n OnDestroy,\n OnInit,\n Renderer2,\n ViewChild,\n DOCUMENT,\n} from '@angular/core';\nimport { MdbModalConfig } from './modal-config';\nimport { ConfigurableFocusTrapFactory, ConfigurableFocusTrap } from '@angular/cdk/a11y';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\n// width below which, according to css rules, modal position changes - modal gets position relative instead of absolute.\nconst MODAL_CSS_BREAKPOINT = 992;\nconst MODAL_OPEN_CLASS = 'modal-open';\nconst NON_INVASIVE_CLASS = 'modal-non-invasive-open';\nconst NON_INVASIVE_SHOW_CLASS = 'modal-non-invasive-show';\n\n@Component({\n selector: 'mdb-modal-container',\n templateUrl: 'modal-container.component.html',\n changeDetection: ChangeDetectionStrategy.Default,\n standalone: false,\n})\nexport class MdbModalContainerComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild(CdkPortalOutlet, { static: true }) _portalOutlet: CdkPortalOutlet;\n @ViewChild('dialog', { static: true }) modalDialog: ElementRef;\n @ViewChild('content', { static: true }) modalContent: ElementRef;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n readonly backdropClick$: Subject<MouseEvent> = new Subject<MouseEvent>();\n\n _config: MdbModalConfig;\n\n BACKDROP_TRANSITION = 150;\n MODAL_TRANSITION = 200;\n NON_INVASIVE_TRANSITION = 450;\n\n private _previouslyFocusedElement: HTMLElement;\n private _focusTrap: ConfigurableFocusTrap;\n\n @HostBinding('class.modal') modal = true;\n @HostBinding('class.fade')\n get hasAnimation(): boolean {\n return this._config.animation;\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this._ngZone.runOutsideAngular(() => {\n if (this._config.nonInvasive) {\n this._handleWindowResize();\n }\n });\n }\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n private _isScrollable = false;\n private _isBottomRight = false;\n private _isBottomLeft = false;\n private _isTopRight = false;\n private _isTopLeft = false;\n private _isSideTopModal = false;\n private _isSideBottomModal = false;\n private _isSideModal = false;\n private _isModalBottom = false;\n private _modalContentRect: null | DOMRectReadOnly;\n private _modalContentComputedStyles: null | CSSStyleDeclaration;\n private _modalDialogComputedStyles: null | CSSStyleDeclaration;\n private _topOffset = 0;\n private _leftOffset = 0;\n private _rightOffset = 0;\n private _bottomOffset = 0;\n\n constructor(\n @Inject(DOCUMENT) private _document,\n public _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _ngZone: NgZone\n ) {}\n\n ngOnInit(): void {\n this._updateContainerClass();\n this._renderer.setStyle(this.host, 'display', 'block');\n\n if (!this._config.nonInvasive) {\n this._focusTrap = this._focusTrapFactory.create(this.host);\n this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n }\n const focusElement =\n this._config.focusElementSelector &&\n (this.modalContent.nativeElement.querySelector(\n this._config.focusElementSelector\n ) as HTMLElement);\n if (this._config.animation) {\n setTimeout(() => {\n this._renderer.addClass(this.host, 'show');\n if (focusElement) {\n setTimeout(() => {\n focusElement.focus();\n }, this.MODAL_TRANSITION);\n } else {\n setTimeout(() => {\n this._focusTrap?.focusInitialElementWhenReady();\n }, this.MODAL_TRANSITION);\n }\n }, this.BACKDROP_TRANSITION);\n } else if (focusElement) {\n focusElement.focus();\n } else {\n this._focusTrap?.focusInitialElementWhenReady();\n }\n }\n\n ngAfterViewInit(): void {\n const widthWithVerticalScroll = this._document.body.offsetWidth;\n this._renderer.addClass(this._document.body, MODAL_OPEN_CLASS);\n\n if (this._config.nonInvasive) {\n this._renderer.addClass(this._document.body, NON_INVASIVE_CLASS);\n setTimeout(() => {\n this._onNonInvasiveModalShown();\n }, this.NON_INVASIVE_TRANSITION);\n }\n\n if (!this._config.nonInvasive) {\n this._renderer.setStyle(this._document.body, 'overflow', 'hidden');\n }\n\n const widthWithoutVerticalScroll = this._document.body.offsetWidth;\n\n if (!this._config.nonInvasive) {\n this._renderer.setStyle(\n this._document.body,\n 'padding-right',\n `${widthWithoutVerticalScroll - widthWithVerticalScroll}px`\n );\n }\n\n if (!this._config.ignoreBackdropClick && !this._config.nonInvasive) {\n fromEvent(this.host, 'mousedown')\n .pipe(\n filter((event: MouseEvent) => {\n const target = event.target as HTMLElement;\n const dialog = this.modalDialog.nativeElement;\n const notDialog = target !== dialog;\n const notDialogContent = !dialog.contains(target);\n return notDialog && notDialogContent;\n }),\n takeUntil(this._destroy$)\n )\n .subscribe((event: MouseEvent) => {\n this.backdropClick$.next(event);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._previouslyFocusedElement?.focus();\n this._focusTrap?.destroy();\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _updateContainerClass(): void {\n if (\n this._config.containerClass === '' ||\n (this._config.containerClass.length && this._config.containerClass.length === 0)\n ) {\n return;\n }\n\n const containerClasses = this._config.containerClass.split(' ');\n\n containerClasses.forEach((containerClass) => {\n this._renderer.addClass(this.host, containerClass);\n });\n }\n\n private _onNonInvasiveModalShown() {\n this._isScrollable = this._config.modalClass.includes('modal-dialog-scrollable');\n this._isBottomRight = this._config.modalClass.includes('modal-bottom-right');\n this._isBottomLeft = this._config.modalClass.includes('modal-bottom-left');\n this._isTopRight = this._config.modalClass.includes('modal-top-right');\n this._isTopLeft = this._config.modalClass.includes('modal-top-left');\n this._isModalBottom = this._config.modalClass.includes('modal-bottom');\n this._isSideTopModal = this._isTopLeft || this._isTopRight;\n this._isSideBottomModal = this._isBottomLeft || this._isBottomRight;\n this._isSideModal = this._isSideTopModal || this._isSideBottomModal;\n this._modalContentRect = this.modalContent.nativeElement.getBoundingClientRect();\n this._modalContentComputedStyles = window.getComputedStyle(this.modalContent.nativeElement);\n this._modalDialogComputedStyles = window.getComputedStyle(this.modalDialog.nativeElement);\n this._topOffset = parseInt(this._modalDialogComputedStyles.top, 0);\n this._leftOffset = parseInt(this._modalDialogComputedStyles.left, 0);\n this._rightOffset = parseInt(this._modalDialogComputedStyles.right, 0);\n this._bottomOffset = parseInt(this._modalDialogComputedStyles.bottom, 0);\n\n this._renderer.addClass(this.host, NON_INVASIVE_SHOW_CLASS);\n this._setNonInvasiveStyles();\n }\n\n private _setNonInvasiveStyles(leftOffset = 0, topOffset = 0) {\n const isAboveBreakpoint = window.innerWidth >= MODAL_CSS_BREAKPOINT;\n this._renderer.setStyle(this.host, 'left', `${this._modalContentRect.left + leftOffset}px`);\n this._renderer.setStyle(this.host, 'width', this._modalContentComputedStyles.width);\n\n if (!this._isScrollable) {\n // If the modal content is not long enough to require scroll shrink the modal wrapper to\n // the height of modal content so other elements on site are clickable outside modal\n this._renderer.setStyle(this.host, 'height', this._modalContentComputedStyles.height);\n this._renderer.setStyle(this.host, 'display', '');\n }\n\n if (isAboveBreakpoint) {\n if (this._isSideBottomModal || this._isModalBottom) {\n // Force modal to correct bottom placement. It's needed because modal host has position\n // fixed and fixed height.\n this._renderer.setStyle(this.host, 'top', `${this._modalContentRect.top + topOffset}px`);\n }\n\n if (this._isSideModal) {\n // Enable horizontal scrolling when the content is wider than the modal's fixed width\n this._renderer.setStyle(this.host, 'overflowX', 'auto');\n }\n }\n\n if (!isAboveBreakpoint) {\n this.host.style.height = '';\n }\n }\n\n _onNonInvasiveModalHidden() {\n this._renderer.removeClass(this.host, NON_INVASIVE_SHOW_CLASS);\n this._resetNonInvasiveStyles();\n this._removeNonInvasiveClass();\n }\n\n private _resetNonInvasiveStyles() {\n this._renderer.setStyle(this.host, 'left', '');\n this._renderer.setStyle(this.host, 'top', '');\n this._renderer.setStyle(this.host, 'height', '');\n this._renderer.setStyle(this.host, 'width', '');\n\n if (!this._isScrollable) {\n this._renderer.setStyle(this.host, 'display', '');\n }\n\n if (this._isSideModal) {\n this._renderer.setStyle(this.host, 'overflowX', '');\n }\n }\n\n private _removeNonInvasiveClass() {\n const isOtherModalOpen = this._document.body.querySelector(\n '.modal.show.modal-non-invasive-show'\n );\n if (!isOtherModalOpen) {\n this._renderer.removeClass(this._document.body, NON_INVASIVE_CLASS);\n } else {\n this._renderer.addClass(this._document.body, MODAL_OPEN_CLASS);\n }\n }\n\n private _handleWindowResize() {\n const modalContent = this.host.querySelector('.modal-content');\n this._resetNonInvasiveStyles();\n\n this._modalContentRect = modalContent.getBoundingClientRect();\n this._modalContentComputedStyles = window.getComputedStyle(modalContent);\n\n if (this._isSideTopModal || this._isSideBottomModal) {\n let sideOffset = 0;\n let topOffset = 0;\n if (this._isBottomRight || this._isBottomLeft) {\n topOffset = -this._bottomOffset;\n }\n if (this._isBottomRight || this._isTopRight) {\n sideOffset = -this._rightOffset;\n }\n if (this._isBottomLeft || this._isTopLeft) {\n sideOffset = this._leftOffset;\n }\n\n this._setNonInvasiveStyles(sideOffset, topOffset);\n } else {\n this._setNonInvasiveStyles();\n }\n }\n\n _close(): void {\n if (this._config.animation) {\n this._renderer.removeClass(this.host, 'show');\n }\n\n // Pause iframe/video when closing modal\n const iframeElements = Array.from(this.host.querySelectorAll('iframe'));\n const videoElements = Array.from(this.host.querySelectorAll('video'));\n\n iframeElements.forEach((iframe: HTMLIFrameElement) => {\n const srcAttribute: any = iframe.getAttribute('src');\n this._renderer.setAttribute(iframe, 'src', srcAttribute);\n });\n\n videoElements.forEach((video: HTMLVideoElement) => {\n video.pause();\n });\n }\n\n _restoreScrollbar(): void {\n this._renderer.removeClass(this._document.body, MODAL_OPEN_CLASS);\n this._renderer.removeStyle(this._document.body, 'overflow');\n this._renderer.removeStyle(this._document.body, 'padding-right');\n }\n\n attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n return this._portalOutlet.attachComponentPortal(portal);\n }\n\n attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n return this._portalOutlet.attachTemplatePortal(portal);\n }\n}\n","<div #dialog [class]=\"'modal-dialog' + (_config.modalClass ? ' ' + _config.modalClass : '')\">\n <div\n #content\n class=\"modal-content\"\n [ngClass]=\"{ 'rounded-0': _config.modalClass.includes('modal-frame') }\"\n >\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n</div>\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, ComponentType, TemplatePortal } from '@angular/cdk/portal';\n\nimport {\n Inject,\n Injectable,\n Injector,\n StaticProvider,\n TemplateRef,\n ChangeDetectorRef,\n DOCUMENT,\n} from '@angular/core';\nimport { fromEvent } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { MdbModalConfig } from './modal-config';\nimport { MdbModalContainerComponent } from './modal-container.component';\nimport { MdbModalRef } from './modal-ref';\n\n@Injectable()\nexport class MdbModalService {\n constructor(\n @Inject(DOCUMENT) private _document,\n private _overlay: Overlay,\n private _injector: Injector\n ) {}\n\n open<T, D = any>(\n componentOrTemplateRef: ComponentType<T> | TemplateRef<T>,\n config?: MdbModalConfig<D>\n ): MdbModalRef<T> {\n const defaultConfig = new MdbModalConfig();\n config = config ? Object.assign(defaultConfig, config) : defaultConfig;\n\n const overlayRef = this._createOverlay(config);\n const container = this._createContainer(overlayRef, config);\n const modalRef = this._createContent(componentOrTemplateRef, container, overlayRef, config);\n\n this._registerListeners<T>(modalRef, config, container);\n\n return modalRef;\n }\n\n private _createOverlay(config: MdbModalConfig): OverlayRef {\n const overlayConfig = this._getOverlayConfig(config);\n return this._overlay.create(overlayConfig);\n }\n\n private _getOverlayConfig(modalConfig: MdbModalConfig): OverlayConfig {\n const config = new OverlayConfig({\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n hasBackdrop: modalConfig.nonInvasive ? false : modalConfig.backdrop,\n backdropClass: 'mdb-backdrop',\n });\n\n return config;\n }\n\n private _createContainer(\n overlayRef: OverlayRef,\n config: MdbModalConfig\n ): MdbModalContainerComponent {\n const portal = new ComponentPortal(MdbModalContainerComponent, null, this._injector);\n const containerRef = overlayRef.attach(portal);\n containerRef.instance._config = config;\n\n containerRef.changeDetectorRef.detectChanges();\n\n return containerRef.instance;\n }\n\n private _createContent<T>(\n componentOrTemplate: ComponentType<T> | TemplateRef<T>,\n container: MdbModalContainerComponent,\n overlayRef: OverlayRef,\n config: MdbModalConfig\n ): MdbModalRef<T> {\n const modalRef: MdbModalRef<T> = new MdbModalRef(overlayRef, container);\n\n if (componentOrTemplate instanceof TemplateRef) {\n container.attachTemplatePortal(\n new TemplatePortal<T>(componentOrTemplate, null, {\n $implicit: config.data,\n modalRef,\n } as any)\n );\n } else {\n const injector = this._createInjector<T>(config, modalRef, container);\n const contentRef = container.attachComponentPortal<T>(\n new ComponentPortal(componentOrTemplate, config.viewContainerRef, injector)\n );\n\n if (config.data) {\n Object.assign(contentRef.instance, { ...config.data });\n }\n\n modalRef.component = contentRef.instance;\n }\n\n return modalRef;\n }\n\n private _createInjector<T>(\n config: MdbModalConfig,\n modalRef: MdbModalRef<T>,\n container: MdbModalContainerComponent\n ): Injector {\n const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;\n\n // The dialog container should be provided as the dialog container and the dialog's\n // content are created out of the same `ViewContainerRef` and as such, are siblings\n // for injector purposes. To allow the hierarchy that is expected, the dialog\n // container is explicitly provided in the injector.\n const providers: StaticProvider[] = [\n { provide: MdbModalContainerComponent, useValue: container },\n { provide: MdbModalRef, useValue: modalRef },\n ];\n\n return Injector.create({ parent: userInjector || this._injector, providers });\n }\n\n private _registerListeners<T>(\n modalRef: MdbModalRef<T>,\n config: MdbModalConfig,\n container: MdbModalContainerComponent\n ): void {\n container.backdropClick$.pipe(take(1)).subscribe(() => {\n modalRef.close();\n });\n\n if (config.keyboard) {\n fromEvent(container._elementRef.nativeElement, 'keydown')\n .pipe(\n filter((event: KeyboardEvent) => {\n return event.key === 'Escape';\n }),\n take(1)\n )\n .subscribe(() => {\n modalRef.close();\n });\n }\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgModule } from '@angular/core';\nimport { MdbModalContainerComponent } from './modal-container.component';\nimport { MdbModalService } from './modal.service';\n\n@NgModule({\n imports: [CommonModule, OverlayModule, PortalModule],\n exports: [MdbModalContainerComponent],\n declarations: [MdbModalContainerComponent],\n providers: [MdbModalService],\n})\nexport class MdbModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}

@@ -6,3 +6,3 @@ import * as i0 from '@angular/core';

import { ComponentPortal } from '@angular/cdk/portal';
import { trigger, state, transition, style, animate } from '@angular/animations';
import { trigger, state, style, transition, animate } from '@angular/animations';
import { Subject, fromEvent } from 'rxjs';

@@ -35,4 +35,4 @@ import * as i1 from '@angular/common';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "20.3.0", type: MdbPopoverComponent, isStandalone: false, selector: "mdb-popover", inputs: { animation: ["animation", "animation", booleanAttribute], content: "content", context: "context", title: "title" }, ngImport: i0, template: "<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n <h3 *ngIf=\"title\" class=\"popover-header\">\n {{ title }}\n </h3>\n <div *ngIf=\"isContentTemplate\" class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n <div *ngIf=\"!isContentTemplate\" class=\"popover-body\">\n {{ content }}\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: MdbPopoverComponent, isStandalone: false, selector: "mdb-popover", inputs: { animation: ["animation", "animation", booleanAttribute], content: "content", context: "context", title: "title" }, ngImport: i0, template: "<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n @if (title) {\n <h3 class=\"popover-header\">\n {{ title }}\n </h3>\n } @if (isContentTemplate) {\n <div class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n } @if (!isContentTemplate) {\n <div class=\"popover-body\">\n {{ content }}\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [
trigger('fade', [

@@ -46,3 +46,3 @@ state('visible', style({ opacity: 1 })),

}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverComponent, decorators: [{
type: Component,

@@ -56,3 +56,3 @@ args: [{ selector: 'mdb-popover', changeDetection: ChangeDetectionStrategy.OnPush, animations: [

]),
], standalone: false, template: "<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n <h3 *ngIf=\"title\" class=\"popover-header\">\n {{ title }}\n </h3>\n <div *ngIf=\"isContentTemplate\" class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n <div *ngIf=\"!isContentTemplate\" class=\"popover-body\">\n {{ content }}\n </div>\n</div>\n" }]
], standalone: false, template: "<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n @if (title) {\n <h3 class=\"popover-header\">\n {{ title }}\n </h3>\n } @if (isContentTemplate) {\n <div class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n } @if (!isContentTemplate) {\n <div class=\"popover-body\">\n {{ content }}\n </div>\n }\n</div>\n" }]
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { animation: [{

@@ -254,6 +254,6 @@ type: Input,

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.0", type: MdbPopoverDirective, isStandalone: false, selector: "[mdbPopover]", inputs: { animation: ["animation", "animation", booleanAttribute], delayHide: ["delayHide", "delayHide", numberAttribute], delayShow: ["delayShow", "delayShow", numberAttribute], mdbPopover: "mdbPopover", mdbPopoverData: "mdbPopoverData", mdbPopoverTitle: "mdbPopoverTitle", offset: ["offset", "offset", numberAttribute], placement: "placement", popoverDisabled: ["popoverDisabled", "popoverDisabled", booleanAttribute], trigger: "trigger" }, outputs: { popoverShow: "popoverShow", popoverShown: "popoverShown", popoverHide: "popoverHide", popoverHidden: "popoverHidden" }, exportAs: ["mdbPopover"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverDirective, deps: [{ token: i1$1.Overlay }, { token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "21.1.2", type: MdbPopoverDirective, isStandalone: false, selector: "[mdbPopover]", inputs: { animation: ["animation", "animation", booleanAttribute], delayHide: ["delayHide", "delayHide", numberAttribute], delayShow: ["delayShow", "delayShow", numberAttribute], mdbPopover: "mdbPopover", mdbPopoverData: "mdbPopoverData", mdbPopoverTitle: "mdbPopoverTitle", offset: ["offset", "offset", numberAttribute], placement: "placement", popoverDisabled: ["popoverDisabled", "popoverDisabled", booleanAttribute], trigger: "trigger" }, outputs: { popoverShow: "popoverShow", popoverShown: "popoverShown", popoverHide: "popoverHide", popoverHidden: "popoverHidden" }, exportAs: ["mdbPopover"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverDirective, decorators: [{
type: Directive,

@@ -302,7 +302,7 @@ args: [{

class MdbPopoverModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverModule, declarations: [MdbPopoverDirective, MdbPopoverComponent], imports: [CommonModule, OverlayModule], exports: [MdbPopoverDirective, MdbPopoverComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverModule, imports: [CommonModule, OverlayModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverModule, declarations: [MdbPopoverDirective, MdbPopoverComponent], imports: [CommonModule, OverlayModule], exports: [MdbPopoverDirective, MdbPopoverComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverModule, imports: [CommonModule, OverlayModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbPopoverModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbPopoverModule, decorators: [{
type: NgModule,

@@ -309,0 +309,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-popover.mjs","sources":["../../../projects/mdb-angular-ui-kit/popover/popover.component.ts","../../../projects/mdb-angular-ui-kit/popover/popover.component.html","../../../projects/mdb-angular-ui-kit/popover/popover.directive.ts","../../../projects/mdb-angular-ui-kit/popover/popover.module.ts","../../../projects/mdb-angular-ui-kit/popover/mdb-angular-ui-kit-popover.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { trigger, style, animate, transition, state, AnimationEvent } from '@angular/animations';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'mdb-popover',\n templateUrl: 'popover.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible <=> hidden', animate('150ms linear')),\n transition(':enter', animate('150ms linear')),\n ]),\n ],\n standalone: false,\n})\nexport class MdbPopoverComponent {\n @Input({ transform: booleanAttribute }) animation: boolean;\n @Input() content: string | TemplateRef<any>;\n @Input() context: any;\n @Input() title: string;\n\n get isContentTemplate(): boolean {\n return this.content instanceof TemplateRef;\n }\n\n readonly _hidden: Subject<void> = new Subject();\n\n animationState = 'hidden';\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n markForCheck(): void {\n this._cdRef.markForCheck();\n }\n\n onAnimationEnd(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this._hidden.next();\n }\n }\n}\n","<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n <h3 *ngIf=\"title\" class=\"popover-header\">\n {{ title }}\n </h3>\n <div *ngIf=\"isContentTemplate\" class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n <div *ngIf=\"!isContentTemplate\" class=\"popover-body\">\n {{ content }}\n </div>\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { MdbPopoverComponent } from './popover.component';\nimport { fromEvent, Subject } from 'rxjs';\nimport { first, takeUntil } from 'rxjs/operators';\nimport { MdbPopoverPosition } from './popover.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbPopover]',\n exportAs: 'mdbPopover',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbPopoverDirective implements OnInit, OnDestroy {\n @Input({ transform: booleanAttribute }) animation = true;\n @Input({ transform: numberAttribute }) delayHide = 0;\n @Input({ transform: numberAttribute }) delayShow = 0;\n @Input() mdbPopover: TemplateRef<any> | string = '';\n @Input() mdbPopoverData: any;\n @Input() mdbPopoverTitle = '';\n @Input({ transform: numberAttribute }) offset = 4;\n @Input() placement: MdbPopoverPosition = 'top';\n @Input({ transform: booleanAttribute }) popoverDisabled = false;\n @Input() trigger = 'click';\n\n @Output() popoverShow = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverShown = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverHide = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverHidden = new EventEmitter<MdbPopoverDirective>();\n\n private _overlayRef: OverlayRef;\n private _tooltipRef: ComponentRef<MdbPopoverComponent>;\n private _open = false;\n private _showTimeout: any = 0;\n private _hideTimeout: any = 0;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n if (this.popoverDisabled || (this.mdbPopover === '' && this.mdbPopoverTitle === '')) {\n return;\n }\n\n this._bindTriggerEvents();\n }\n\n ngOnDestroy(): void {\n if (this._open) {\n this.hide();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindTriggerEvents(): void {\n const triggers = this.trigger.split(' ');\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n fromEvent(this._elementRef.nativeElement, trigger)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n } else if (trigger !== 'manual') {\n const evIn = trigger === 'hover' ? 'mouseenter' : 'focusin';\n const evOut = trigger === 'hover' ? 'mouseleave' : 'focusout';\n\n fromEvent(this._elementRef.nativeElement, evIn)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.show());\n fromEvent(this._elementRef.nativeElement, evOut)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.hide());\n }\n });\n }\n\n private _createOverlayConfig(): OverlayConfig {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getPosition())\n .withPush(false);\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy,\n });\n\n return overlayConfig;\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _getPosition(): ConnectedPosition[] {\n let position;\n\n const positionTop = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionBottom = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionRight = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: this.offset,\n };\n\n const positionLeft = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -this.offset,\n };\n\n switch (this.placement) {\n case 'top':\n position = [positionTop, positionBottom];\n break;\n case 'bottom':\n position = [positionBottom, positionTop];\n break;\n case 'left':\n position = [positionLeft, positionRight, positionTop, positionBottom];\n break;\n case 'right':\n position = [positionRight, positionLeft, positionTop, positionBottom];\n break;\n default:\n break;\n }\n\n return position;\n }\n\n show(): void {\n if (this._hideTimeout) {\n this._overlayRef.detach();\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._createOverlay();\n\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._showTimeout = setTimeout(() => {\n const tooltipPortal = new ComponentPortal(MdbPopoverComponent);\n\n this.popoverShow.emit(this);\n this._open = true;\n\n this._tooltipRef = this._overlayRef.attach(tooltipPortal);\n\n this._tooltipRef.instance.content = this.mdbPopover;\n this._tooltipRef.instance.title = this.mdbPopoverTitle;\n this._tooltipRef.instance.animation = this.animation;\n this._tooltipRef.instance.context = this.mdbPopoverData;\n this._tooltipRef.instance.animationState = 'visible';\n this._tooltipRef.instance.markForCheck();\n\n this.popoverShown.emit(this);\n }, this.delayShow);\n }\n\n hide(): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = null;\n } else {\n return;\n }\n\n this._hideTimeout = setTimeout(() => {\n this.popoverHide.emit(this);\n if (!this._tooltipRef) {\n this._overlayRef.detach();\n this._open = false;\n this.popoverHidden.emit(this);\n } else {\n this._tooltipRef.instance._hidden.pipe(first()).subscribe(() => {\n this._overlayRef.detach();\n this._open = false;\n this.popoverHidden.emit(this);\n });\n this._tooltipRef.instance.animationState = 'hidden';\n this._tooltipRef.instance.markForCheck();\n }\n }, this.delayHide);\n }\n\n toggle(): void {\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","import { MdbPopoverDirective } from './popover.directive';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { MdbPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbPopoverDirective, MdbPopoverComponent],\n exports: [MdbPopoverDirective, MdbPopoverComponent],\n})\nexport class MdbPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-popover.mjs","sources":["../../../projects/mdb-angular-ui-kit/popover/popover.component.ts","../../../projects/mdb-angular-ui-kit/popover/popover.component.html","../../../projects/mdb-angular-ui-kit/popover/popover.directive.ts","../../../projects/mdb-angular-ui-kit/popover/popover.module.ts","../../../projects/mdb-angular-ui-kit/popover/mdb-angular-ui-kit-popover.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n TemplateRef,\n booleanAttribute,\n} from '@angular/core';\nimport { trigger, style, animate, transition, state, AnimationEvent } from '@angular/animations';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'mdb-popover',\n templateUrl: 'popover.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible <=> hidden', animate('150ms linear')),\n transition(':enter', animate('150ms linear')),\n ]),\n ],\n standalone: false,\n})\nexport class MdbPopoverComponent {\n @Input({ transform: booleanAttribute }) animation: boolean;\n @Input() content: string | TemplateRef<any>;\n @Input() context: any;\n @Input() title: string;\n\n get isContentTemplate(): boolean {\n return this.content instanceof TemplateRef;\n }\n\n readonly _hidden: Subject<void> = new Subject();\n\n animationState = 'hidden';\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n markForCheck(): void {\n this._cdRef.markForCheck();\n }\n\n onAnimationEnd(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this._hidden.next();\n }\n }\n}\n","<div\n class=\"popover\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n>\n @if (title) {\n <h3 class=\"popover-header\">\n {{ title }}\n </h3>\n } @if (isContentTemplate) {\n <div class=\"popover-body\">\n <ng-container\n [ngTemplateOutlet]=\"$any(content)\"\n [ngTemplateOutletContext]=\"context\"\n ></ng-container>\n </div>\n } @if (!isContentTemplate) {\n <div class=\"popover-body\">\n {{ content }}\n </div>\n }\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { MdbPopoverComponent } from './popover.component';\nimport { fromEvent, Subject } from 'rxjs';\nimport { first, takeUntil } from 'rxjs/operators';\nimport { MdbPopoverPosition } from './popover.types';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbPopover]',\n exportAs: 'mdbPopover',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbPopoverDirective implements OnInit, OnDestroy {\n @Input({ transform: booleanAttribute }) animation = true;\n @Input({ transform: numberAttribute }) delayHide = 0;\n @Input({ transform: numberAttribute }) delayShow = 0;\n @Input() mdbPopover: TemplateRef<any> | string = '';\n @Input() mdbPopoverData: any;\n @Input() mdbPopoverTitle = '';\n @Input({ transform: numberAttribute }) offset = 4;\n @Input() placement: MdbPopoverPosition = 'top';\n @Input({ transform: booleanAttribute }) popoverDisabled = false;\n @Input() trigger = 'click';\n\n @Output() popoverShow = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverShown = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverHide = new EventEmitter<MdbPopoverDirective>();\n @Output() popoverHidden = new EventEmitter<MdbPopoverDirective>();\n\n private _overlayRef: OverlayRef;\n private _tooltipRef: ComponentRef<MdbPopoverComponent>;\n private _open = false;\n private _showTimeout: any = 0;\n private _hideTimeout: any = 0;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n if (this.popoverDisabled || (this.mdbPopover === '' && this.mdbPopoverTitle === '')) {\n return;\n }\n\n this._bindTriggerEvents();\n }\n\n ngOnDestroy(): void {\n if (this._open) {\n this.hide();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindTriggerEvents(): void {\n const triggers = this.trigger.split(' ');\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n fromEvent(this._elementRef.nativeElement, trigger)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n } else if (trigger !== 'manual') {\n const evIn = trigger === 'hover' ? 'mouseenter' : 'focusin';\n const evOut = trigger === 'hover' ? 'mouseleave' : 'focusout';\n\n fromEvent(this._elementRef.nativeElement, evIn)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.show());\n fromEvent(this._elementRef.nativeElement, evOut)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.hide());\n }\n });\n }\n\n private _createOverlayConfig(): OverlayConfig {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getPosition())\n .withPush(false);\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy,\n });\n\n return overlayConfig;\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _getPosition(): ConnectedPosition[] {\n let position;\n\n const positionTop = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionBottom = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionRight = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: this.offset,\n };\n\n const positionLeft = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -this.offset,\n };\n\n switch (this.placement) {\n case 'top':\n position = [positionTop, positionBottom];\n break;\n case 'bottom':\n position = [positionBottom, positionTop];\n break;\n case 'left':\n position = [positionLeft, positionRight, positionTop, positionBottom];\n break;\n case 'right':\n position = [positionRight, positionLeft, positionTop, positionBottom];\n break;\n default:\n break;\n }\n\n return position;\n }\n\n show(): void {\n if (this._hideTimeout) {\n this._overlayRef.detach();\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._createOverlay();\n\n if (this._hideTimeout) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._showTimeout = setTimeout(() => {\n const tooltipPortal = new ComponentPortal(MdbPopoverComponent);\n\n this.popoverShow.emit(this);\n this._open = true;\n\n this._tooltipRef = this._overlayRef.attach(tooltipPortal);\n\n this._tooltipRef.instance.content = this.mdbPopover;\n this._tooltipRef.instance.title = this.mdbPopoverTitle;\n this._tooltipRef.instance.animation = this.animation;\n this._tooltipRef.instance.context = this.mdbPopoverData;\n this._tooltipRef.instance.animationState = 'visible';\n this._tooltipRef.instance.markForCheck();\n\n this.popoverShown.emit(this);\n }, this.delayShow);\n }\n\n hide(): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = null;\n } else {\n return;\n }\n\n this._hideTimeout = setTimeout(() => {\n this.popoverHide.emit(this);\n if (!this._tooltipRef) {\n this._overlayRef.detach();\n this._open = false;\n this.popoverHidden.emit(this);\n } else {\n this._tooltipRef.instance._hidden.pipe(first()).subscribe(() => {\n this._overlayRef.detach();\n this._open = false;\n this.popoverHidden.emit(this);\n });\n this._tooltipRef.instance.animationState = 'hidden';\n this._tooltipRef.instance.markForCheck();\n }\n }, this.delayHide);\n }\n\n toggle(): void {\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","import { MdbPopoverDirective } from './popover.directive';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { MdbPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbPopoverDirective, MdbPopoverComponent],\n exports: [MdbPopoverDirective, MdbPopoverComponent],\n})\nexport class MdbPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}

@@ -59,6 +59,6 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';

static ngAcceptInputType_disabled;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbRadioDirective, isStandalone: false, selector: "[mdbRadio]", inputs: { name: "name", checked: "checked", value: "value", disabled: "disabled" }, host: { properties: { "disabled": "this.isDisabled", "checked": "this.isChecked", "attr.name": "this.nameAttr" } }, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbRadioDirective, isStandalone: false, selector: "[mdbRadio]", inputs: { name: "name", checked: "checked", value: "value", disabled: "disabled" }, host: { properties: { "disabled": "this.isDisabled", "checked": "this.isChecked", "attr.name": "this.nameAttr" } }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioDirective, decorators: [{
type: Directive,

@@ -169,3 +169,5 @@ args: [{

this._disabled = isDisabled;
this._updateDisabled();
if (this.radios) {
this._updateDisabled();
}
}

@@ -175,6 +177,6 @@ writeValue(value) {

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbRadioGroupDirective, isStandalone: false, selector: "[mdbRadioGroup]", inputs: { value: "value", name: "name", disabled: "disabled" }, providers: [MDB_RADIO_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: MdbRadioDirective, descendants: true }], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbRadioGroupDirective, isStandalone: false, selector: "[mdbRadioGroup]", inputs: { value: "value", name: "name", disabled: "disabled" }, providers: [MDB_RADIO_GROUP_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: MdbRadioDirective, descendants: true }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioGroupDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioGroupDirective, decorators: [{
type: Directive,

@@ -199,7 +201,7 @@ args: [{

class MdbRadioModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioModule, declarations: [MdbRadioDirective, MdbRadioGroupDirective], imports: [CommonModule, FormsModule], exports: [MdbRadioDirective, MdbRadioGroupDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioModule, imports: [CommonModule, FormsModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioModule, declarations: [MdbRadioDirective, MdbRadioGroupDirective], imports: [CommonModule, FormsModule], exports: [MdbRadioDirective, MdbRadioGroupDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioModule, imports: [CommonModule, FormsModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRadioModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRadioModule, decorators: [{
type: NgModule,

@@ -206,0 +208,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-radio.mjs","sources":["../../../projects/mdb-angular-ui-kit/radio/radio-button.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio-group.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio.module.ts","../../../projects/mdb-angular-ui-kit/radio/mdb-angular-ui-kit-radio.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRadio]',\n standalone: false,\n})\nexport class MdbRadioDirective {\n @Input()\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n private _name: string;\n\n @Input('checked')\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n @Input('value')\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n }\n private _value: any = null;\n\n @Input('disabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @HostBinding('disabled')\n get isDisabled(): boolean {\n return this._disabled;\n }\n\n @HostBinding('checked')\n get isChecked(): boolean {\n return this._checked;\n }\n\n @HostBinding('attr.name')\n get nameAttr(): string {\n return this.name;\n }\n\n constructor() {}\n\n _updateName(value: string): void {\n this._name = value;\n }\n\n _updateChecked(value: boolean): void {\n this._checked = value;\n }\n\n _updateDisabledState(value: boolean): void {\n this._disabled = value;\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { from, Subject } from 'rxjs';\nimport { startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { MdbRadioDirective } from './radio-button.directive';\n\nexport const MDB_RADIO_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbRadioGroupDirective),\n multi: true,\n};\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRadioGroup]',\n providers: [MDB_RADIO_GROUP_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class MdbRadioGroupDirective implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @ContentChildren(MdbRadioDirective, { descendants: true }) radios: QueryList<MdbRadioDirective>;\n\n @Input()\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n if (this.radios) {\n this._updateChecked();\n }\n }\n private _value: any;\n\n @Input()\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n if (this.radios) {\n this._updateNames();\n }\n }\n private _name: string;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n\n if (this.radios) {\n this._updateDisabled();\n }\n }\n private _disabled = false;\n\n private _destroy$ = new Subject<void>();\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n ngAfterContentInit(): void {\n this._updateNames();\n this._updateDisabled();\n\n this.radios.changes\n .pipe(\n startWith(this.radios),\n switchMap((radios: QueryList<MdbRadioDirective>) => from(Promise.resolve(radios))),\n takeUntil(this._destroy$)\n )\n .subscribe(() => this._updateRadiosState());\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _updateRadiosState(): void {\n this._updateNames();\n this._updateChecked();\n this._updateDisabled();\n }\n\n private _updateNames(): void {\n this.radios.forEach((radio: MdbRadioDirective) => radio._updateName(this.name));\n }\n\n private _updateChecked(): void {\n this.radios.forEach((radio: MdbRadioDirective) => {\n const isChecked = radio.value === this._value;\n radio._updateChecked(isChecked);\n });\n }\n\n private _updateDisabled(): void {\n this.radios.forEach((radio: MdbRadioDirective) => radio._updateDisabledState(this._disabled));\n }\n\n // Control value accessor methods\n registerOnChange(fn: (value: any) => any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n this._updateDisabled();\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n}\n","import { MdbRadioDirective } from './radio-button.directive';\nimport { MdbRadioGroupDirective } from './radio-group.directive';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MdbRadioDirective, MdbRadioGroupDirective],\n exports: [MdbRadioDirective, MdbRadioGroupDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-radio.mjs","sources":["../../../projects/mdb-angular-ui-kit/radio/radio-button.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio-group.directive.ts","../../../projects/mdb-angular-ui-kit/radio/radio.module.ts","../../../projects/mdb-angular-ui-kit/radio/mdb-angular-ui-kit-radio.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRadio]',\n standalone: false,\n})\nexport class MdbRadioDirective {\n @Input()\n get name(): string {\n return this._name;\n }\n set name(value: string) {\n this._name = value;\n }\n private _name: string;\n\n @Input('checked')\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: boolean) {\n this._checked = coerceBooleanProperty(value);\n }\n private _checked = false;\n\n @Input('value')\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n }\n private _value: any = null;\n\n @Input('disabled')\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @HostBinding('disabled')\n get isDisabled(): boolean {\n return this._disabled;\n }\n\n @HostBinding('checked')\n get isChecked(): boolean {\n return this._checked;\n }\n\n @HostBinding('attr.name')\n get nameAttr(): string {\n return this.name;\n }\n\n constructor() {}\n\n _updateName(value: string): void {\n this._name = value;\n }\n\n _updateChecked(value: boolean): void {\n this._checked = value;\n }\n\n _updateDisabledState(value: boolean): void {\n this._disabled = value;\n }\n\n static ngAcceptInputType_checked: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","import {\n AfterContentInit,\n ContentChildren,\n Directive,\n forwardRef,\n Input,\n OnDestroy,\n QueryList,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { from, Subject } from 'rxjs';\nimport { startWith, switchMap, takeUntil } from 'rxjs/operators';\nimport { MdbRadioDirective } from './radio-button.directive';\n\nexport const MDB_RADIO_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbRadioGroupDirective),\n multi: true,\n};\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRadioGroup]',\n providers: [MDB_RADIO_GROUP_VALUE_ACCESSOR],\n standalone: false,\n})\nexport class MdbRadioGroupDirective implements ControlValueAccessor, AfterContentInit, OnDestroy {\n @ContentChildren(MdbRadioDirective, { descendants: true }) radios: QueryList<MdbRadioDirective>;\n\n @Input()\n get value(): any {\n return this._value;\n }\n set value(value: any) {\n this._value = value;\n if (this.radios) {\n this._updateChecked();\n }\n }\n private _value: any;\n\n @Input()\n get name(): string {\n return this._name;\n }\n set name(name: string) {\n this._name = name;\n if (this.radios) {\n this._updateNames();\n }\n }\n private _name: string;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: boolean) {\n this._disabled = disabled;\n\n if (this.radios) {\n this._updateDisabled();\n }\n }\n private _disabled = false;\n\n private _destroy$ = new Subject<void>();\n\n onChange = (_: any) => {};\n onTouched = () => {};\n\n ngAfterContentInit(): void {\n this._updateNames();\n this._updateDisabled();\n\n this.radios.changes\n .pipe(\n startWith(this.radios),\n switchMap((radios: QueryList<MdbRadioDirective>) => from(Promise.resolve(radios))),\n takeUntil(this._destroy$)\n )\n .subscribe(() => this._updateRadiosState());\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _updateRadiosState(): void {\n this._updateNames();\n this._updateChecked();\n this._updateDisabled();\n }\n\n private _updateNames(): void {\n this.radios.forEach((radio: MdbRadioDirective) => radio._updateName(this.name));\n }\n\n private _updateChecked(): void {\n this.radios.forEach((radio: MdbRadioDirective) => {\n const isChecked = radio.value === this._value;\n radio._updateChecked(isChecked);\n });\n }\n\n private _updateDisabled(): void {\n this.radios.forEach((radio: MdbRadioDirective) => radio._updateDisabledState(this._disabled));\n }\n\n // Control value accessor methods\n registerOnChange(fn: (value: any) => any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this._disabled = isDisabled;\n\n if (this.radios) {\n this._updateDisabled();\n }\n }\n\n writeValue(value: any): void {\n this.value = value;\n }\n}\n","import { MdbRadioDirective } from './radio-button.directive';\nimport { MdbRadioGroupDirective } from './radio-group.directive';\nimport { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [MdbRadioDirective, MdbRadioGroupDirective],\n exports: [MdbRadioDirective, MdbRadioGroupDirective],\n imports: [CommonModule, FormsModule],\n})\nexport class MdbRadioModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -83,2 +83,3 @@ import * as i0 from '@angular/core';

this.thumbPositionUpdate();
this._cdRef.markForCheck();
}, 0);

@@ -97,6 +98,6 @@ }

static ngAcceptInputType_disabled;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbRangeComponent, isStandalone: false, selector: "mdb-range", inputs: { id: "id", required: "required", name: "name", value: "value", disabled: "disabled", label: "label", min: "min", max: "max", step: "step", default: "default", defaultRangeCounterClass: "defaultRangeCounterClass" }, outputs: { rangeValueChange: "rangeValueChange" }, host: { listeners: { "change": "onchange($event)", "input": "onInput()" } }, providers: [RANGE_VALUE_ACCESOR], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "thumb", first: true, predicate: ["thumb"], descendants: true }, { propertyName: "thumbValue", first: true, predicate: ["thumbValue"], descendants: true }], ngImport: i0, template: "<label for=\"id\" class=\"form-label\">{{ label }}</label>\n<div class=\"range\">\n <input\n #input\n [name]=\"name\"\n type=\"range\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value\"\n class=\"form-range\"\n min=\"0\"\n max=\"5\"\n [id]=\"id\"\n (input)=\"thumbPositionUpdate()\"\n (blur)=\"blurRangeInput()\"\n (mousedown)=\"focusRangeInput()\"\n (mouseup)=\"blurRangeInput()\"\n (touchstart)=\"focusRangeInput()\"\n (touchend)=\"blurRangeInput()\"\n />\n <span #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" [ngClass]=\"{ 'thumb-active': this.visibility }\">\n <span #thumbValue class=\"thumb-value\">{{ value }}</span>\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbRangeComponent, isStandalone: false, selector: "mdb-range", inputs: { id: "id", required: "required", name: "name", value: "value", disabled: "disabled", label: "label", min: "min", max: "max", step: "step", default: "default", defaultRangeCounterClass: "defaultRangeCounterClass" }, outputs: { rangeValueChange: "rangeValueChange" }, host: { listeners: { "change": "onchange($event)", "input": "onInput()" } }, providers: [RANGE_VALUE_ACCESOR], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "thumb", first: true, predicate: ["thumb"], descendants: true }, { propertyName: "thumbValue", first: true, predicate: ["thumbValue"], descendants: true }], ngImport: i0, template: "<label for=\"id\" class=\"form-label\">{{ label }}</label>\n<div class=\"range\">\n <input\n #input\n [name]=\"name\"\n type=\"range\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value\"\n class=\"form-range\"\n min=\"0\"\n max=\"5\"\n [id]=\"id\"\n (input)=\"thumbPositionUpdate()\"\n (blur)=\"blurRangeInput()\"\n (mousedown)=\"focusRangeInput()\"\n (mouseup)=\"blurRangeInput()\"\n (touchstart)=\"focusRangeInput()\"\n (touchend)=\"blurRangeInput()\"\n />\n <span #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" [ngClass]=\"{ 'thumb-active': this.visibility }\">\n <span #thumbValue class=\"thumb-value\">{{ value }}</span>\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeComponent, decorators: [{
type: Component,

@@ -146,7 +147,7 @@ args: [{ selector: 'mdb-range', changeDetection: ChangeDetectionStrategy.OnPush, providers: [RANGE_VALUE_ACCESOR], standalone: false, template: "<label for=\"id\" class=\"form-label\">{{ label }}</label>\n<div class=\"range\">\n <input\n #input\n [name]=\"name\"\n type=\"range\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value\"\n class=\"form-range\"\n min=\"0\"\n max=\"5\"\n [id]=\"id\"\n (input)=\"thumbPositionUpdate()\"\n (blur)=\"blurRangeInput()\"\n (mousedown)=\"focusRangeInput()\"\n (mouseup)=\"blurRangeInput()\"\n (touchstart)=\"focusRangeInput()\"\n (touchend)=\"blurRangeInput()\"\n />\n <span #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" [ngClass]=\"{ 'thumb-active': this.visibility }\">\n <span #thumbValue class=\"thumb-value\">{{ value }}</span>\n </span>\n</div>\n" }]

class MdbRangeModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeModule, declarations: [MdbRangeComponent], imports: [CommonModule, FormsModule], exports: [MdbRangeComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeModule, imports: [CommonModule, FormsModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeModule, declarations: [MdbRangeComponent], imports: [CommonModule, FormsModule], exports: [MdbRangeComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeModule, imports: [CommonModule, FormsModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRangeModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRangeModule, decorators: [{
type: NgModule,

@@ -153,0 +154,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-range.mjs","sources":["../../../projects/mdb-angular-ui-kit/range/range.component.ts","../../../projects/mdb-angular-ui-kit/range/range.component.html","../../../projects/mdb-angular-ui-kit/range/range.module.ts","../../../projects/mdb-angular-ui-kit/range/mdb-angular-ui-kit-range.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RANGE_VALUE_ACCESOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbRangeComponent),\n multi: true,\n};\n@Component({\n selector: 'mdb-range',\n templateUrl: 'range.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RANGE_VALUE_ACCESOR],\n standalone: false,\n})\nexport class MdbRangeComponent implements ControlValueAccessor, AfterViewInit {\n @ViewChild('input') input: ElementRef;\n @ViewChild('thumb') thumb: ElementRef;\n @ViewChild('thumbValue') thumbValue: ElementRef;\n\n @Input() id: string;\n @Input() required: boolean;\n @Input() name: string;\n @Input() value: string;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean;\n\n @Input() label: string;\n @Input() min = 0;\n @Input() max = 100;\n @Input() step: number;\n\n @Input()\n get default(): boolean {\n return this._default;\n }\n set default(value: boolean) {\n this._default = value;\n }\n private _default: boolean;\n\n @Input() defaultRangeCounterClass: string;\n\n @Output() rangeValueChange = new EventEmitter<any>();\n\n public visibility = false;\n public thumbStyle: any;\n\n @HostListener('change', ['$event']) onchange(event: any): void {\n this.onChange(event.target.value);\n }\n\n @HostListener('input') onInput(): void {\n this.rangeValueChange.emit({ value: this.value });\n this.focusRangeInput();\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.thumbPositionUpdate();\n this._cdRef.detectChanges();\n }\n\n focusRangeInput(): void {\n this.input.nativeElement.focus();\n this.visibility = true;\n }\n\n blurRangeInput(): void {\n this.input.nativeElement.blur();\n this.visibility = false;\n }\n\n thumbPositionUpdate(): void {\n const rangeInput = this.input.nativeElement;\n const inputValue = rangeInput.value;\n const minValue = rangeInput.min ? rangeInput.min : 0;\n const maxValue = rangeInput.max ? rangeInput.max : 100;\n const newValue = Number(((inputValue - minValue) * 100) / (maxValue - minValue));\n\n this.value = inputValue;\n this.thumbStyle = { left: `calc(${newValue}% + (${8 - newValue * 0.15}px))` };\n }\n\n // Control Value Accessor Methods\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n\n this._cdRef.markForCheck();\n\n setTimeout(() => {\n this.thumbPositionUpdate();\n }, 0);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n static ngAcceptInputType_default: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<label for=\"id\" class=\"form-label\">{{ label }}</label>\n<div class=\"range\">\n <input\n #input\n [name]=\"name\"\n type=\"range\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value\"\n class=\"form-range\"\n min=\"0\"\n max=\"5\"\n [id]=\"id\"\n (input)=\"thumbPositionUpdate()\"\n (blur)=\"blurRangeInput()\"\n (mousedown)=\"focusRangeInput()\"\n (mouseup)=\"blurRangeInput()\"\n (touchstart)=\"focusRangeInput()\"\n (touchend)=\"blurRangeInput()\"\n />\n <span #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" [ngClass]=\"{ 'thumb-active': this.visibility }\">\n <span #thumbValue class=\"thumb-value\">{{ value }}</span>\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbRangeComponent } from './range.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [MdbRangeComponent],\n exports: [MdbRangeComponent],\n})\nexport class MdbRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-range.mjs","sources":["../../../projects/mdb-angular-ui-kit/range/range.component.ts","../../../projects/mdb-angular-ui-kit/range/range.component.html","../../../projects/mdb-angular-ui-kit/range/range.module.ts","../../../projects/mdb-angular-ui-kit/range/mdb-angular-ui-kit-range.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostListener,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RANGE_VALUE_ACCESOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MdbRangeComponent),\n multi: true,\n};\n@Component({\n selector: 'mdb-range',\n templateUrl: 'range.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [RANGE_VALUE_ACCESOR],\n standalone: false,\n})\nexport class MdbRangeComponent implements ControlValueAccessor, AfterViewInit {\n @ViewChild('input') input: ElementRef;\n @ViewChild('thumb') thumb: ElementRef;\n @ViewChild('thumbValue') thumbValue: ElementRef;\n\n @Input() id: string;\n @Input() required: boolean;\n @Input() name: string;\n @Input() value: string;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled: boolean;\n\n @Input() label: string;\n @Input() min = 0;\n @Input() max = 100;\n @Input() step: number;\n\n @Input()\n get default(): boolean {\n return this._default;\n }\n set default(value: boolean) {\n this._default = value;\n }\n private _default: boolean;\n\n @Input() defaultRangeCounterClass: string;\n\n @Output() rangeValueChange = new EventEmitter<any>();\n\n public visibility = false;\n public thumbStyle: any;\n\n @HostListener('change', ['$event']) onchange(event: any): void {\n this.onChange(event.target.value);\n }\n\n @HostListener('input') onInput(): void {\n this.rangeValueChange.emit({ value: this.value });\n this.focusRangeInput();\n }\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n ngAfterViewInit(): void {\n this.thumbPositionUpdate();\n this._cdRef.detectChanges();\n }\n\n focusRangeInput(): void {\n this.input.nativeElement.focus();\n this.visibility = true;\n }\n\n blurRangeInput(): void {\n this.input.nativeElement.blur();\n this.visibility = false;\n }\n\n thumbPositionUpdate(): void {\n const rangeInput = this.input.nativeElement;\n const inputValue = rangeInput.value;\n const minValue = rangeInput.min ? rangeInput.min : 0;\n const maxValue = rangeInput.max ? rangeInput.max : 100;\n const newValue = Number(((inputValue - minValue) * 100) / (maxValue - minValue));\n\n this.value = inputValue;\n this.thumbStyle = { left: `calc(${newValue}% + (${8 - newValue * 0.15}px))` };\n }\n\n // Control Value Accessor Methods\n onChange = (_: any) => {};\n onTouched = () => {};\n\n writeValue(value: any): void {\n this.value = value;\n\n this._cdRef.markForCheck();\n\n setTimeout(() => {\n this.thumbPositionUpdate();\n this._cdRef.markForCheck();\n }, 0);\n }\n\n registerOnChange(fn: (_: any) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n static ngAcceptInputType_default: BooleanInput;\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<label for=\"id\" class=\"form-label\">{{ label }}</label>\n<div class=\"range\">\n <input\n #input\n [name]=\"name\"\n type=\"range\"\n [disabled]=\"disabled\"\n [id]=\"id\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [value]=\"value\"\n class=\"form-range\"\n min=\"0\"\n max=\"5\"\n [id]=\"id\"\n (input)=\"thumbPositionUpdate()\"\n (blur)=\"blurRangeInput()\"\n (mousedown)=\"focusRangeInput()\"\n (mouseup)=\"blurRangeInput()\"\n (touchstart)=\"focusRangeInput()\"\n (touchend)=\"blurRangeInput()\"\n />\n <span #thumb class=\"thumb\" [ngStyle]=\"thumbStyle\" [ngClass]=\"{ 'thumb-active': this.visibility }\">\n <span #thumbValue class=\"thumb-value\">{{ value }}</span>\n </span>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MdbRangeComponent } from './range.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [MdbRangeComponent],\n exports: [MdbRangeComponent],\n})\nexport class MdbRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -255,6 +255,6 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';

static ngAcceptInputType_rippleUnbound;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbRippleDirective, isStandalone: false, selector: "[mdbRipple]", inputs: { rippleCentered: "rippleCentered", rippleColor: "rippleColor", rippleDuration: "rippleDuration", rippleRadius: "rippleRadius", rippleUnbound: "rippleUnbound" }, host: { listeners: { "click": "_createRipple($event)" }, properties: { "class.ripple-surface": "this.ripple" } }, exportAs: ["mdbRipple"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbRippleDirective, isStandalone: false, selector: "[mdbRipple]", inputs: { rippleCentered: "rippleCentered", rippleColor: "rippleColor", rippleDuration: "rippleDuration", rippleRadius: "rippleRadius", rippleUnbound: "rippleUnbound" }, host: { listeners: { "click": "_createRipple($event)" }, properties: { "class.ripple-surface": "this.ripple" } }, exportAs: ["mdbRipple"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleDirective, decorators: [{
type: Directive,

@@ -286,7 +286,7 @@ args: [{

class MdbRippleModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleModule, declarations: [MdbRippleDirective], exports: [MdbRippleDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleModule });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleModule, declarations: [MdbRippleDirective], exports: [MdbRippleDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleModule });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbRippleModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbRippleModule, decorators: [{
type: NgModule,

@@ -293,0 +293,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-ripple.mjs","sources":["../../../projects/mdb-angular-ui-kit/ripple/ripple-utils.ts","../../../projects/mdb-angular-ui-kit/ripple/ripple.directive.ts","../../../projects/mdb-angular-ui-kit/ripple/ripple.module.ts","../../../projects/mdb-angular-ui-kit/ripple/mdb-angular-ui-kit-ripple.ts"],"sourcesContent":["const DEFAULT_RIPPLE_COLOR = [0, 0, 0];\n\nexport function durationToMsNumber(time: string): number {\n return Number(time.replace('ms', '').replace('s', '000'));\n}\n\nexport function colorToRGB(color: any): number[] {\n function hexToRgb(color: any): any {\n const HEX_COLOR_LENGTH = 7;\n const IS_SHORT_HEX = color.length < HEX_COLOR_LENGTH;\n if (IS_SHORT_HEX) {\n color = `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n ];\n }\n\n function namedColorsToRgba(color: any): any {\n const tempElem = document.body.appendChild(document.createElement('fictum'));\n const flag = 'rgb(1, 2, 3)';\n tempElem.style.color = flag;\n if (tempElem.style.color !== flag) {\n return DEFAULT_RIPPLE_COLOR;\n }\n tempElem.style.color = color;\n if (tempElem.style.color === flag || tempElem.style.color === '') {\n return DEFAULT_RIPPLE_COLOR;\n } // color parse failed\n color = getComputedStyle(tempElem).color;\n document.body.removeChild(tempElem);\n return color;\n }\n\n function rgbaToRgb(color: any): any {\n color = color.match(/[.\\d]+/g).map((a) => +Number(a));\n color.length = 3;\n return color;\n }\n\n if (color.toLowerCase() === 'transparent') {\n return DEFAULT_RIPPLE_COLOR;\n }\n if (color[0] === '#') {\n return hexToRgb(color);\n }\n if (color.indexOf('rgb') === -1) {\n color = namedColorsToRgba(color);\n }\n if (color.indexOf('rgb') === 0) {\n return rgbaToRgb(color);\n }\n\n return DEFAULT_RIPPLE_COLOR;\n}\n\nexport function getDiameter({\n offsetX,\n offsetY,\n height,\n width,\n}: {\n [key: string]: number;\n}): number {\n const top = offsetY <= height / 2;\n const left = offsetX <= width / 2;\n const pythagorean = (sideA: number, sideB: number) => Math.sqrt(sideA ** 2 + sideB ** 2);\n\n const positionCenter = offsetY === height / 2 && offsetX === width / 2;\n // mouse position on the quadrants of the coordinate system\n const quadrant = {\n first: top === true && left === false,\n second: top === true && left === true,\n third: top === false && left === true,\n fourth: top === false && left === false,\n };\n\n const getCorner = {\n topLeft: pythagorean(offsetX, offsetY),\n topRight: pythagorean(width - offsetX, offsetY),\n bottomLeft: pythagorean(offsetX, height - offsetY),\n bottomRight: pythagorean(width - offsetX, height - offsetY),\n };\n\n let diameter = 0;\n\n if (positionCenter || quadrant.fourth) {\n diameter = getCorner.topLeft;\n } else if (quadrant.third) {\n diameter = getCorner.topRight;\n } else if (quadrant.second) {\n diameter = getCorner.bottomRight;\n } else if (quadrant.first) {\n diameter = getCorner.bottomLeft;\n }\n\n return diameter * 2;\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';\nimport { colorToRGB, durationToMsNumber, getDiameter } from './ripple-utils';\n\nconst TRANSITION_BREAK_OPACITY = 0.5;\n\nconst GRADIENT =\n 'rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%';\nconst BOOTSTRAP_COLORS = [\n 'primary',\n 'secondary',\n 'success',\n 'danger',\n 'warning',\n 'info',\n 'light',\n 'dark',\n];\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRipple]',\n exportAs: 'mdbRipple',\n standalone: false,\n})\nexport class MdbRippleDirective {\n @Input()\n get rippleCentered(): boolean {\n return this._rippleCentered;\n }\n set rippleCentered(value: boolean) {\n this._rippleCentered = coerceBooleanProperty(value);\n }\n private _rippleCentered = false;\n\n @Input() rippleColor = '';\n @Input() rippleDuration = '500ms';\n @Input() rippleRadius = 0;\n\n @Input()\n get rippleUnbound(): boolean {\n return this._rippleUnbound;\n }\n set rippleUnbound(value: boolean) {\n this._rippleUnbound = coerceBooleanProperty(value);\n }\n private _rippleUnbound = false;\n\n private _rippleInSpan = false;\n\n private _rippleTimer = null;\n\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {}\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n @HostBinding('class.ripple-surface') ripple = true;\n\n @HostListener('click', ['$event'])\n _createRipple(event: any): void {\n const { layerX, layerY } = event;\n const offsetX = layerX;\n const offsetY = layerY;\n const height = this.host.offsetHeight;\n const width = this.host.offsetWidth;\n const duration = durationToMsNumber(this.rippleDuration);\n const diameterOptions = {\n offsetX: this.rippleCentered ? height / 2 : offsetX,\n offsetY: this.rippleCentered ? width / 2 : offsetY,\n height,\n width,\n };\n const diameter = getDiameter(diameterOptions);\n const radiusValue = this.rippleRadius || diameter / 2;\n\n const opacity = {\n delay: duration * TRANSITION_BREAK_OPACITY,\n duration: duration - duration * TRANSITION_BREAK_OPACITY,\n };\n\n const styles = {\n left: this.rippleCentered ? `${width / 2 - radiusValue}px` : `${offsetX - radiusValue}px`,\n top: this.rippleCentered ? `${height / 2 - radiusValue}px` : `${offsetY - radiusValue}px`,\n height: `${this.rippleRadius * 2 || diameter}px`,\n width: `${this.rippleRadius * 2 || diameter}px`,\n transitionDelay: `0s, ${opacity.delay}ms`,\n transitionDuration: `${duration}ms, ${opacity.duration}ms`,\n };\n\n const rippleHTML = this._renderer.createElement('div');\n\n if (this.host.tagName.toLowerCase() === 'input') {\n this._createWrapperSpan();\n }\n\n this._createHTMLRipple(this.host, rippleHTML, styles);\n this._removeHTMLRipple(rippleHTML, duration);\n }\n\n private _createWrapperSpan(): void {\n const parent = this._renderer.parentNode(this.host);\n this._rippleInSpan = true;\n if (parent.tagName.toLowerCase() === 'span' && parent.classList.contains('ripple-surface')) {\n this._elementRef.nativeElement = parent;\n } else {\n const wrapper = this._renderer.createElement('span');\n\n this._renderer.addClass(wrapper, 'ripple-surface');\n this._renderer.addClass(wrapper, 'input-wrapper');\n\n this._renderer.setStyle(wrapper, 'border', 0);\n\n const shadow = getComputedStyle(this.host).boxShadow;\n this._renderer.setStyle(wrapper, 'box-shadow', shadow);\n\n // Put element as child\n parent.replaceChild(wrapper, this.host);\n wrapper.appendChild(this.host);\n this._elementRef.nativeElement = wrapper;\n }\n this.host.focus();\n }\n\n _removeWrapperSpan() {\n const child = this.host.firstChild;\n this.host.replaceWith(child);\n this._elementRef.nativeElement = child;\n this.host.focus();\n this._rippleInSpan = false;\n }\n\n private _createHTMLRipple(wrapper: HTMLElement, ripple: HTMLElement, styles: any): void {\n Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property]));\n this._renderer.addClass(ripple, 'ripple-wave');\n\n if (this.rippleColor !== '') {\n this._removeOldColorClasses(wrapper);\n this._addColor(ripple, wrapper);\n }\n\n this._toggleUnbound(wrapper);\n this._appendRipple(ripple, wrapper);\n }\n\n private _removeHTMLRipple(ripple: HTMLElement, duration: number): void {\n if (this._rippleTimer) {\n clearTimeout(this._rippleTimer);\n this._rippleTimer = null;\n }\n this._rippleTimer = setTimeout(() => {\n if (ripple) {\n ripple.remove();\n this.host.querySelectorAll('.ripple-wave').forEach((rippleEl) => {\n rippleEl.remove();\n });\n if (this._rippleInSpan && this.host.classList.contains('input-wrapper')) {\n this._removeWrapperSpan();\n }\n }\n }, duration);\n }\n\n _appendRipple(target: HTMLElement, parent: HTMLElement): void {\n const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations\n this._renderer.appendChild(parent, target);\n setTimeout(() => {\n this._renderer.addClass(target, 'active');\n }, FIX_ADD_RIPPLE_EFFECT);\n }\n\n _toggleUnbound(target: HTMLElement): void {\n if (this.rippleUnbound) {\n this._renderer.addClass(target, 'ripple-surface-unbound');\n } else {\n this._renderer.removeClass(target, 'ripple-surface-unbound');\n }\n }\n\n _addColor(target: HTMLElement, parent: HTMLElement): void {\n const isBootstrapColor = BOOTSTRAP_COLORS.find(\n (color) => color === this.rippleColor.toLowerCase()\n );\n\n if (isBootstrapColor) {\n this._renderer.addClass(parent, `${'ripple-surface'}-${this.rippleColor.toLowerCase()}`);\n } else {\n const rgbValue = colorToRGB(this.rippleColor).join(',');\n const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`);\n target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`;\n }\n }\n\n _removeOldColorClasses(target: HTMLElement): void {\n const REGEXP_CLASS_COLOR = new RegExp(`${'ripple-surface'}-[a-z]+`, 'gi');\n const PARENT_CLASSS_COLOR = target.classList.value.match(REGEXP_CLASS_COLOR) || [];\n PARENT_CLASSS_COLOR.forEach((className) => {\n this._renderer.removeClass(target, className);\n });\n }\n\n static ngAcceptInputType_rippleCentered: BooleanInput;\n static ngAcceptInputType_rippleUnbound: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { MdbRippleDirective } from './ripple.directive';\n\n@NgModule({\n declarations: [MdbRippleDirective],\n imports: [],\n exports: [MdbRippleDirective],\n})\nexport class MdbRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-ripple.mjs","sources":["../../../projects/mdb-angular-ui-kit/ripple/ripple-utils.ts","../../../projects/mdb-angular-ui-kit/ripple/ripple.directive.ts","../../../projects/mdb-angular-ui-kit/ripple/ripple.module.ts","../../../projects/mdb-angular-ui-kit/ripple/mdb-angular-ui-kit-ripple.ts"],"sourcesContent":["const DEFAULT_RIPPLE_COLOR = [0, 0, 0];\n\nexport function durationToMsNumber(time: string): number {\n return Number(time.replace('ms', '').replace('s', '000'));\n}\n\nexport function colorToRGB(color: any): number[] {\n function hexToRgb(color: any): any {\n const HEX_COLOR_LENGTH = 7;\n const IS_SHORT_HEX = color.length < HEX_COLOR_LENGTH;\n if (IS_SHORT_HEX) {\n color = `#${color[1]}${color[1]}${color[2]}${color[2]}${color[3]}${color[3]}`;\n }\n return [\n parseInt(color.substr(1, 2), 16),\n parseInt(color.substr(3, 2), 16),\n parseInt(color.substr(5, 2), 16),\n ];\n }\n\n function namedColorsToRgba(color: any): any {\n const tempElem = document.body.appendChild(document.createElement('fictum'));\n const flag = 'rgb(1, 2, 3)';\n tempElem.style.color = flag;\n if (tempElem.style.color !== flag) {\n return DEFAULT_RIPPLE_COLOR;\n }\n tempElem.style.color = color;\n if (tempElem.style.color === flag || tempElem.style.color === '') {\n return DEFAULT_RIPPLE_COLOR;\n } // color parse failed\n color = getComputedStyle(tempElem).color;\n document.body.removeChild(tempElem);\n return color;\n }\n\n function rgbaToRgb(color: any): any {\n color = color.match(/[.\\d]+/g).map((a) => +Number(a));\n color.length = 3;\n return color;\n }\n\n if (color.toLowerCase() === 'transparent') {\n return DEFAULT_RIPPLE_COLOR;\n }\n if (color[0] === '#') {\n return hexToRgb(color);\n }\n if (color.indexOf('rgb') === -1) {\n color = namedColorsToRgba(color);\n }\n if (color.indexOf('rgb') === 0) {\n return rgbaToRgb(color);\n }\n\n return DEFAULT_RIPPLE_COLOR;\n}\n\nexport function getDiameter({\n offsetX,\n offsetY,\n height,\n width,\n}: {\n [key: string]: number;\n}): number {\n const top = offsetY <= height / 2;\n const left = offsetX <= width / 2;\n const pythagorean = (sideA: number, sideB: number) => Math.sqrt(sideA ** 2 + sideB ** 2);\n\n const positionCenter = offsetY === height / 2 && offsetX === width / 2;\n // mouse position on the quadrants of the coordinate system\n const quadrant = {\n first: top === true && left === false,\n second: top === true && left === true,\n third: top === false && left === true,\n fourth: top === false && left === false,\n };\n\n const getCorner = {\n topLeft: pythagorean(offsetX, offsetY),\n topRight: pythagorean(width - offsetX, offsetY),\n bottomLeft: pythagorean(offsetX, height - offsetY),\n bottomRight: pythagorean(width - offsetX, height - offsetY),\n };\n\n let diameter = 0;\n\n if (positionCenter || quadrant.fourth) {\n diameter = getCorner.topLeft;\n } else if (quadrant.third) {\n diameter = getCorner.topRight;\n } else if (quadrant.second) {\n diameter = getCorner.bottomRight;\n } else if (quadrant.first) {\n diameter = getCorner.bottomLeft;\n }\n\n return diameter * 2;\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, HostBinding, HostListener, Input, Renderer2 } from '@angular/core';\nimport { colorToRGB, durationToMsNumber, getDiameter } from './ripple-utils';\n\nconst TRANSITION_BREAK_OPACITY = 0.5;\n\nconst GRADIENT =\n 'rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%';\nconst BOOTSTRAP_COLORS = [\n 'primary',\n 'secondary',\n 'success',\n 'danger',\n 'warning',\n 'info',\n 'light',\n 'dark',\n];\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbRipple]',\n exportAs: 'mdbRipple',\n standalone: false,\n})\nexport class MdbRippleDirective {\n @Input()\n get rippleCentered(): boolean {\n return this._rippleCentered;\n }\n set rippleCentered(value: boolean) {\n this._rippleCentered = coerceBooleanProperty(value);\n }\n private _rippleCentered = false;\n\n @Input() rippleColor = '';\n @Input() rippleDuration = '500ms';\n @Input() rippleRadius = 0;\n\n @Input()\n get rippleUnbound(): boolean {\n return this._rippleUnbound;\n }\n set rippleUnbound(value: boolean) {\n this._rippleUnbound = coerceBooleanProperty(value);\n }\n private _rippleUnbound = false;\n\n private _rippleInSpan = false;\n\n private _rippleTimer = null;\n\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2) {}\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n @HostBinding('class.ripple-surface') ripple = true;\n\n @HostListener('click', ['$event'])\n _createRipple(event: any): void {\n const { layerX, layerY } = event;\n const offsetX = layerX;\n const offsetY = layerY;\n const height = this.host.offsetHeight;\n const width = this.host.offsetWidth;\n const duration = durationToMsNumber(this.rippleDuration);\n const diameterOptions = {\n offsetX: this.rippleCentered ? height / 2 : offsetX,\n offsetY: this.rippleCentered ? width / 2 : offsetY,\n height,\n width,\n };\n const diameter = getDiameter(diameterOptions);\n const radiusValue = this.rippleRadius || diameter / 2;\n\n const opacity = {\n delay: duration * TRANSITION_BREAK_OPACITY,\n duration: duration - duration * TRANSITION_BREAK_OPACITY,\n };\n\n const styles = {\n left: this.rippleCentered ? `${width / 2 - radiusValue}px` : `${offsetX - radiusValue}px`,\n top: this.rippleCentered ? `${height / 2 - radiusValue}px` : `${offsetY - radiusValue}px`,\n height: `${this.rippleRadius * 2 || diameter}px`,\n width: `${this.rippleRadius * 2 || diameter}px`,\n transitionDelay: `0s, ${opacity.delay}ms`,\n transitionDuration: `${duration}ms, ${opacity.duration}ms`,\n };\n\n const rippleHTML = this._renderer.createElement('div');\n\n if (this.host.tagName.toLowerCase() === 'input') {\n this._createWrapperSpan();\n }\n\n this._createHTMLRipple(this.host, rippleHTML, styles);\n this._removeHTMLRipple(rippleHTML, duration);\n }\n\n private _createWrapperSpan(): void {\n const parent = this._renderer.parentNode(this.host);\n this._rippleInSpan = true;\n if (parent.tagName.toLowerCase() === 'span' && parent.classList.contains('ripple-surface')) {\n this._elementRef.nativeElement = parent;\n } else {\n const wrapper = this._renderer.createElement('span');\n\n this._renderer.addClass(wrapper, 'ripple-surface');\n this._renderer.addClass(wrapper, 'input-wrapper');\n\n this._renderer.setStyle(wrapper, 'border', 0);\n\n const shadow = getComputedStyle(this.host).boxShadow;\n this._renderer.setStyle(wrapper, 'box-shadow', shadow);\n\n // Put element as child\n parent.replaceChild(wrapper, this.host);\n wrapper.appendChild(this.host);\n this._elementRef.nativeElement = wrapper;\n }\n this.host.focus();\n }\n\n _removeWrapperSpan() {\n const child = this.host.firstChild;\n this.host.replaceWith(child);\n this._elementRef.nativeElement = child;\n this.host.focus();\n this._rippleInSpan = false;\n }\n\n private _createHTMLRipple(wrapper: HTMLElement, ripple: HTMLElement, styles: any): void {\n Object.keys(styles).forEach((property) => (ripple.style[property] = styles[property]));\n this._renderer.addClass(ripple, 'ripple-wave');\n\n if (this.rippleColor !== '') {\n this._removeOldColorClasses(wrapper);\n this._addColor(ripple, wrapper);\n }\n\n this._toggleUnbound(wrapper);\n this._appendRipple(ripple, wrapper);\n }\n\n private _removeHTMLRipple(ripple: HTMLElement, duration: number): void {\n if (this._rippleTimer) {\n clearTimeout(this._rippleTimer);\n this._rippleTimer = null;\n }\n this._rippleTimer = setTimeout(() => {\n if (ripple) {\n ripple.remove();\n this.host.querySelectorAll('.ripple-wave').forEach((rippleEl) => {\n rippleEl.remove();\n });\n if (this._rippleInSpan && this.host.classList.contains('input-wrapper')) {\n this._removeWrapperSpan();\n }\n }\n }, duration);\n }\n\n _appendRipple(target: HTMLElement, parent: HTMLElement): void {\n const FIX_ADD_RIPPLE_EFFECT = 50; // delay for active animations\n this._renderer.appendChild(parent, target);\n setTimeout(() => {\n this._renderer.addClass(target, 'active');\n }, FIX_ADD_RIPPLE_EFFECT);\n }\n\n _toggleUnbound(target: HTMLElement): void {\n if (this.rippleUnbound) {\n this._renderer.addClass(target, 'ripple-surface-unbound');\n } else {\n this._renderer.removeClass(target, 'ripple-surface-unbound');\n }\n }\n\n _addColor(target: HTMLElement, parent: HTMLElement): void {\n const isBootstrapColor = BOOTSTRAP_COLORS.find(\n (color) => color === this.rippleColor.toLowerCase()\n );\n\n if (isBootstrapColor) {\n this._renderer.addClass(parent, `${'ripple-surface'}-${this.rippleColor.toLowerCase()}`);\n } else {\n const rgbValue = colorToRGB(this.rippleColor).join(',');\n const gradientImage = GRADIENT.split('{{color}}').join(`${rgbValue}`);\n target.style.backgroundImage = `radial-gradient(circle, ${gradientImage})`;\n }\n }\n\n _removeOldColorClasses(target: HTMLElement): void {\n const REGEXP_CLASS_COLOR = new RegExp(`${'ripple-surface'}-[a-z]+`, 'gi');\n const PARENT_CLASSS_COLOR = target.classList.value.match(REGEXP_CLASS_COLOR) || [];\n PARENT_CLASSS_COLOR.forEach((className) => {\n this._renderer.removeClass(target, className);\n });\n }\n\n static ngAcceptInputType_rippleCentered: BooleanInput;\n static ngAcceptInputType_rippleUnbound: BooleanInput;\n}\n","import { NgModule } from '@angular/core';\nimport { MdbRippleDirective } from './ripple.directive';\n\n@NgModule({\n declarations: [MdbRippleDirective],\n imports: [],\n exports: [MdbRippleDirective],\n})\nexport class MdbRippleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -56,6 +56,6 @@ import * as i0 from '@angular/core';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyLinkDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbScrollspyLinkDirective, isStandalone: false, selector: "[mdbScrollspyLink]", inputs: { scrollIntoView: "scrollIntoView", id: ["mdbScrollspyLink", "id"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.scrollspy-link": "this.scrollspyLink", "class.active": "this.active" } }, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyLinkDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbScrollspyLinkDirective, isStandalone: false, selector: "[mdbScrollspyLink]", inputs: { scrollIntoView: "scrollIntoView", id: ["mdbScrollspyLink", "id"] }, host: { listeners: { "click": "onClick()" }, properties: { "class.scrollspy-link": "this.scrollspyLink", "class.active": "this.active" } }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyLinkDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyLinkDirective, decorators: [{
type: Directive,

@@ -146,6 +146,6 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyService });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyService, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyService, decorators: [{
type: Injectable

@@ -239,6 +239,6 @@ }] });

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyDirective, deps: [{ token: MdbScrollspyService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbScrollspyDirective, isStandalone: false, selector: "[mdbScrollspy]", inputs: { id: ["mdbScrollspy", "id"], collapsible: "collapsible" }, outputs: { activeLinkChange: "activeLinkChange" }, queries: [{ propertyName: "links", predicate: MdbScrollspyLinkDirective, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyDirective, deps: [{ token: MdbScrollspyService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbScrollspyDirective, isStandalone: false, selector: "[mdbScrollspy]", inputs: { id: ["mdbScrollspy", "id"], collapsible: "collapsible" }, outputs: { activeLinkChange: "activeLinkChange" }, queries: [{ propertyName: "links", predicate: MdbScrollspyLinkDirective, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyDirective, decorators: [{
type: Component,

@@ -274,2 +274,4 @@ args: [{

id;
_unlisten = null;
_lastInView = null;
get host() {

@@ -297,2 +299,5 @@ return this._elementRef.nativeElement;

isElementInViewport() {
if (!this.container) {
return false;
}
const scrollTop = this.container.scrollTop;

@@ -310,6 +315,16 @@ const elTop = this.host.offsetTop - this.offset;

onScroll() {
this.updateActiveState(this.scrollSpyId, this.id);
const inView = this.isElementInViewport();
if (this._lastInView === inView) {
return;
}
this._lastInView = inView;
this.ngZone.run(() => {
this.updateActiveState(this.scrollSpyId, this.id);
});
}
listenToScroll() {
this.renderer.listen(this.container, 'scroll', () => {
if (!this.container) {
return;
}
this._unlisten = this.renderer.listen(this.container, 'scroll', () => {
this.onScroll();

@@ -323,10 +338,18 @@ });

}
this.renderer.setStyle(this.container, 'position', 'relative');
this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));
if (this.container) {
this.renderer.setStyle(this.container, 'position', 'relative');
this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));
}
}
ngAfterViewInit() {
setTimeout(() => {
this.updateActiveState(this.scrollSpyId, this.id);
this._lastInView = this.isElementInViewport();
this.ngZone.run(() => {
this.updateActiveState(this.scrollSpyId, this.id);
});
}, 0);
}
ngOnDestroy() {
this._unlisten?.();
}
_getClosestEl(el, selector) {

@@ -340,6 +363,6 @@ for (; el && el !== this._document; el = el.parentNode) {

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyElementDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: MdbScrollspyService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbScrollspyElementDirective, isStandalone: false, selector: "[mdbScrollspyElement]", inputs: { container: "container", scrollSpyId: ["mdbScrollspyElement", "scrollSpyId"], offset: "offset" }, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyElementDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: MdbScrollspyService }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbScrollspyElementDirective, isStandalone: false, selector: "[mdbScrollspyElement]", inputs: { container: "container", scrollSpyId: ["mdbScrollspyElement", "scrollSpyId"], offset: "offset" }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyElementDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyElementDirective, decorators: [{
type: Directive,

@@ -370,2 +393,4 @@ args: [{

id;
_unlisten = null;
_lastInView = null;
get scrollSpyId() {

@@ -404,6 +429,13 @@ return this._scrollSpyId;

onScroll() {
this.updateActiveState(this.scrollSpyId, this.id);
const inView = this.isElementInViewport();
if (this._lastInView === inView) {
return;
}
this._lastInView = inView;
this.ngZone.run(() => {
this.updateActiveState(this.scrollSpyId, this.id);
});
}
listenToScroll() {
this.renderer.listen(window, 'scroll', () => {
this._unlisten = this.renderer.listen(window, 'scroll', () => {
this.onScroll();

@@ -418,9 +450,15 @@ });

setTimeout(() => {
this.updateActiveState(this.scrollSpyId, this.id);
this._lastInView = this.isElementInViewport();
this.ngZone.run(() => {
this.updateActiveState(this.scrollSpyId, this.id);
});
}, 0);
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyWindowDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: MdbScrollspyService }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbScrollspyWindowDirective, isStandalone: false, selector: "[mdbScrollspyWindow]", inputs: { scrollSpyId: ["mdbScrollspyWindow", "scrollSpyId"], offset: "offset" }, ngImport: i0 });
ngOnDestroy() {
this._unlisten?.();
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyWindowDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: MdbScrollspyService }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbScrollspyWindowDirective, isStandalone: false, selector: "[mdbScrollspyWindow]", inputs: { scrollSpyId: ["mdbScrollspyWindow", "scrollSpyId"], offset: "offset" }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyWindowDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyWindowDirective, decorators: [{
type: Directive,

@@ -443,4 +481,4 @@ args: [{

class MdbScrollspyModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyModule, declarations: [MdbScrollspyDirective,
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyModule, declarations: [MdbScrollspyDirective,
MdbScrollspyLinkDirective,

@@ -452,5 +490,5 @@ MdbScrollspyElementDirective,

MdbScrollspyWindowDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyModule, providers: [MdbScrollspyService] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyModule, providers: [MdbScrollspyService] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbScrollspyModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbScrollspyModule, decorators: [{
type: NgModule,

@@ -457,0 +495,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-scrollspy.mjs","sources":["../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-link.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.service.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-element.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-window.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.module.ts","../../../projects/mdb-angular-ui-kit/scrollspy/mdb-angular-ui-kit-scrollspy.ts"],"sourcesContent":["import {\n Directive,\n OnInit,\n Input,\n HostListener,\n HostBinding,\n ChangeDetectorRef,\n Inject,\n DOCUMENT,\n} from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyLink]',\n standalone: false,\n})\nexport class MdbScrollspyLinkDirective implements OnInit {\n @Input()\n get scrollIntoView(): boolean {\n return this._scrollIntoView;\n }\n set scrollIntoView(value: boolean) {\n this._scrollIntoView = value;\n }\n private _scrollIntoView = true;\n\n get section(): HTMLElement {\n return this._section;\n }\n set section(value: HTMLElement) {\n if (value) {\n this._section = value;\n }\n }\n private _section: HTMLElement;\n private _id: string;\n\n constructor(private cdRef: ChangeDetectorRef, @Inject(DOCUMENT) private document: any) {}\n\n @Input('mdbScrollspyLink')\n get id(): string {\n return this._id;\n }\n set id(newId: string) {\n if (newId) {\n this._id = newId;\n }\n }\n\n @HostBinding('class.scrollspy-link')\n scrollspyLink = true;\n\n @HostBinding('class.active')\n active = false;\n\n @HostListener('click', [])\n onClick(): void {\n if (this.section && this.scrollIntoView === true) {\n this.section.scrollIntoView();\n }\n }\n\n detectChanges(): void {\n this.cdRef.detectChanges();\n }\n\n assignSectionToId(): void {\n this.section = this.document.documentElement.querySelector(`#${this.id}`);\n }\n\n ngOnInit(): void {\n this.assignSectionToId();\n }\n}\n","import { Injectable, QueryList } from '@angular/core';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { Subject, Observable } from 'rxjs';\n\nexport interface MdbScrollspy {\n id: string;\n links: QueryList<MdbScrollspyLinkDirective>;\n}\n\n@Injectable()\nexport class MdbScrollspyService {\n scrollSpys: MdbScrollspy[] = [];\n\n private activeSubject = new Subject<MdbScrollspyLinkDirective>();\n active$: Observable<any> = this.activeSubject;\n\n addScrollspy(scrollSpy: MdbScrollspy): void {\n this.scrollSpys.push(scrollSpy);\n }\n\n removeScrollspy(scrollSpyId: string): void {\n const scrollSpyIndex = this.scrollSpys.findIndex((spy) => {\n return spy.id === scrollSpyId;\n });\n this.scrollSpys.splice(scrollSpyIndex, 1);\n }\n\n updateActiveState(scrollSpyId: string, activeLinkId: string): void {\n const scrollSpy = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n const activeLink = scrollSpy.links.find((link) => {\n return link.id === activeLinkId;\n });\n\n this.setActiveLink(activeLink);\n }\n\n removeActiveState(scrollSpyId: string, activeLinkId: string): void {\n const scrollSpy = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n const activeLink = scrollSpy.links.find((link) => {\n return link.id === activeLinkId;\n });\n\n if (!activeLink) {\n return;\n }\n\n activeLink.active = false;\n activeLink.detectChanges();\n }\n\n setActiveLink(activeLink: MdbScrollspyLinkDirective | any): void {\n if (activeLink) {\n activeLink.active = true;\n activeLink.detectChanges();\n this.activeSubject.next(activeLink);\n }\n }\n\n removeActiveLinks(scrollSpyId: string): void {\n const scrollSpy: MdbScrollspy | undefined = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n scrollSpy.links.forEach((link) => {\n link.active = false;\n link.detectChanges();\n });\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { MdbScrollspyService } from './scrollspy.service';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject, Subscription } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mdbScrollspy]',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbScrollspyDirective implements OnInit, AfterContentInit, OnDestroy {\n @ContentChildren(MdbScrollspyLinkDirective, { descendants: true })\n links: QueryList<MdbScrollspyLinkDirective>;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input('mdbScrollspy')\n get id(): string {\n return this._id;\n }\n\n set id(newId: string) {\n if (newId) {\n this._id = newId;\n }\n }\n\n private _id: string;\n\n @Input()\n get collapsible(): boolean {\n return this._collapsible;\n }\n set collapsible(value: boolean) {\n this._collapsible = coerceBooleanProperty(value);\n }\n\n private _collapsible = false;\n\n private _isBrowser: boolean;\n\n @Output() activeLinkChange: EventEmitter<any> = new EventEmitter<any>();\n\n activeSub: Subscription;\n\n constructor(\n private scrollSpyService: MdbScrollspyService,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object\n ) {\n this._isBrowser = isPlatformBrowser(platformId);\n }\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n collapsibleElementHeight = 0;\n\n ngOnInit(): void {\n if (this._isBrowser) {\n this.collapsibleElementHeight = this.host.getBoundingClientRect().height;\n }\n\n this.activeSub = this.scrollSpyService.active$\n .pipe(takeUntil(this._destroy$), distinctUntilChanged())\n .subscribe((activeLink) => {\n this.activeLinkChange.emit(activeLink);\n if (this.collapsible) {\n this.styleCollapsibleElement();\n }\n });\n }\n\n ngAfterContentInit(): void {\n this.scrollSpyService.addScrollspy({ id: this.id, links: this.links });\n }\n\n ngOnDestroy(): void {\n this.scrollSpyService.removeScrollspy(this.id);\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private styleCollapsibleElement(): void {\n this._renderer.setStyle(this.host, 'overflow', 'hidden');\n this._renderer.setStyle(this.host, 'transition', 'height 0.2s ease-in-out');\n this._renderer.setStyle(this.host, 'flex-wrap', 'nowrap');\n\n const hostSiblings = this.getAllSiblings(this.host);\n const isAnySiblingActive = hostSiblings.some((element) => {\n return element.classList.contains('active');\n });\n\n if (this.collapsible && isAnySiblingActive) {\n this._renderer.setStyle(this.host, 'height', `${this.collapsibleElementHeight}px`);\n } else if (this.collapsible && !isAnySiblingActive) {\n this._renderer.setStyle(this.host, 'height', '0px');\n }\n }\n\n private getAllSiblings(element: HTMLElement) {\n let siblings = [];\n if (!element.parentNode) {\n return siblings;\n }\n let sibling = element.parentNode.firstElementChild;\n do {\n if (sibling != element) {\n siblings.push(sibling);\n }\n } while ((sibling = sibling.nextElementSibling));\n return siblings;\n }\n}\n","import {\n Directive,\n ElementRef,\n OnInit,\n Renderer2,\n NgZone,\n Input,\n AfterViewInit,\n Inject,\n DOCUMENT,\n} from '@angular/core';\nimport { MdbScrollspyService } from './scrollspy.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyElement]',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class MdbScrollspyElementDirective implements OnInit, AfterViewInit {\n private id: string;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n @Input() container: HTMLElement;\n\n @Input('mdbScrollspyElement')\n get scrollSpyId(): string {\n return this._scrollSpyId;\n }\n set scrollSpyId(newId: string) {\n if (newId) {\n this._scrollSpyId = newId;\n }\n }\n private _scrollSpyId: string;\n\n @Input() offset = 0;\n\n constructor(\n private _elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private scrollSpyService: MdbScrollspyService,\n @Inject(DOCUMENT) private _document: any\n ) {}\n\n isElementInViewport(): boolean {\n const scrollTop = this.container.scrollTop;\n const elTop = this.host.offsetTop - this.offset;\n const elHeight = this.host.offsetHeight;\n\n return scrollTop >= elTop && scrollTop < elTop + elHeight;\n }\n\n updateActiveState(scrollSpyId: string, id: string): void {\n if (this.isElementInViewport()) {\n this.scrollSpyService.removeActiveLinks(scrollSpyId);\n this.scrollSpyService.updateActiveState(scrollSpyId, id);\n }\n }\n\n onScroll(): void {\n this.updateActiveState(this.scrollSpyId, this.id);\n }\n\n listenToScroll(): void {\n this.renderer.listen(this.container, 'scroll', () => {\n this.onScroll();\n });\n }\n\n ngOnInit(): void {\n this.id = this.host.id;\n\n if (!this.container) {\n this.container = this._getClosestEl(this.host, '.scrollspy-container');\n }\n\n this.renderer.setStyle(this.container, 'position', 'relative');\n\n this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n }, 0);\n }\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== this._document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n}\n","import {\n Directive,\n ElementRef,\n OnInit,\n Inject,\n Renderer2,\n NgZone,\n Input,\n AfterViewInit,\n DOCUMENT,\n} from '@angular/core';\n\nimport { MdbScrollspyService } from './scrollspy.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyWindow]',\n standalone: false,\n})\nexport class MdbScrollspyWindowDirective implements OnInit, AfterViewInit {\n private id: string;\n\n @Input('mdbScrollspyWindow')\n get scrollSpyId(): string {\n return this._scrollSpyId;\n }\n set scrollSpyId(newId: string) {\n if (newId) {\n this._scrollSpyId = newId;\n }\n }\n private _scrollSpyId: string;\n\n @Input() offset = 0;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private el: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private scrollSpyService: MdbScrollspyService\n ) {}\n\n isElementInViewport(): boolean {\n const scrollTop = this.document.documentElement.scrollTop || this.document.body.scrollTop;\n const elHeight = this.el.nativeElement.offsetHeight;\n const elTop = this.el.nativeElement.offsetTop - this.offset;\n const elBottom = elTop + elHeight;\n\n return scrollTop >= elTop && scrollTop <= elBottom;\n }\n\n updateActiveState(scrollSpyId: string, id: string): void {\n if (this.isElementInViewport()) {\n this.scrollSpyService.updateActiveState(scrollSpyId, id);\n } else {\n this.scrollSpyService.removeActiveState(scrollSpyId, id);\n }\n }\n\n onScroll(): void {\n this.updateActiveState(this.scrollSpyId, this.id);\n }\n\n listenToScroll(): void {\n this.renderer.listen(window, 'scroll', () => {\n this.onScroll();\n });\n }\n\n ngOnInit(): void {\n this.id = this.el.nativeElement.id;\n\n this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n }, 0);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MdbScrollspyDirective } from './scrollspy.directive';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { MdbScrollspyElementDirective } from './scrollspy-element.directive';\nimport { MdbScrollspyService } from './scrollspy.service';\nimport { MdbScrollspyWindowDirective } from './scrollspy-window.directive';\n\n@NgModule({\n declarations: [\n MdbScrollspyDirective,\n MdbScrollspyLinkDirective,\n MdbScrollspyElementDirective,\n MdbScrollspyWindowDirective,\n ],\n exports: [\n MdbScrollspyDirective,\n MdbScrollspyLinkDirective,\n MdbScrollspyElementDirective,\n MdbScrollspyWindowDirective,\n ],\n providers: [MdbScrollspyService],\n})\nexport class MdbScrollspyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MdbScrollspyService"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-scrollspy.mjs","sources":["../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-link.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.service.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-element.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy-window.directive.ts","../../../projects/mdb-angular-ui-kit/scrollspy/scrollspy.module.ts","../../../projects/mdb-angular-ui-kit/scrollspy/mdb-angular-ui-kit-scrollspy.ts"],"sourcesContent":["import {\n Directive,\n OnInit,\n Input,\n HostListener,\n HostBinding,\n ChangeDetectorRef,\n Inject,\n DOCUMENT,\n} from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyLink]',\n standalone: false,\n})\nexport class MdbScrollspyLinkDirective implements OnInit {\n @Input()\n get scrollIntoView(): boolean {\n return this._scrollIntoView;\n }\n set scrollIntoView(value: boolean) {\n this._scrollIntoView = value;\n }\n private _scrollIntoView = true;\n\n get section(): HTMLElement {\n return this._section;\n }\n set section(value: HTMLElement) {\n if (value) {\n this._section = value;\n }\n }\n private _section: HTMLElement;\n private _id: string;\n\n constructor(private cdRef: ChangeDetectorRef, @Inject(DOCUMENT) private document: any) {}\n\n @Input('mdbScrollspyLink')\n get id(): string {\n return this._id;\n }\n set id(newId: string) {\n if (newId) {\n this._id = newId;\n }\n }\n\n @HostBinding('class.scrollspy-link')\n scrollspyLink = true;\n\n @HostBinding('class.active')\n active = false;\n\n @HostListener('click', [])\n onClick(): void {\n if (this.section && this.scrollIntoView === true) {\n this.section.scrollIntoView();\n }\n }\n\n detectChanges(): void {\n this.cdRef.detectChanges();\n }\n\n assignSectionToId(): void {\n this.section = this.document.documentElement.querySelector(`#${this.id}`);\n }\n\n ngOnInit(): void {\n this.assignSectionToId();\n }\n}\n","import { Injectable, QueryList } from '@angular/core';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { Subject, Observable } from 'rxjs';\n\nexport interface MdbScrollspy {\n id: string;\n links: QueryList<MdbScrollspyLinkDirective>;\n}\n\n@Injectable()\nexport class MdbScrollspyService {\n scrollSpys: MdbScrollspy[] = [];\n\n private activeSubject = new Subject<MdbScrollspyLinkDirective>();\n active$: Observable<any> = this.activeSubject;\n\n addScrollspy(scrollSpy: MdbScrollspy): void {\n this.scrollSpys.push(scrollSpy);\n }\n\n removeScrollspy(scrollSpyId: string): void {\n const scrollSpyIndex = this.scrollSpys.findIndex((spy) => {\n return spy.id === scrollSpyId;\n });\n this.scrollSpys.splice(scrollSpyIndex, 1);\n }\n\n updateActiveState(scrollSpyId: string, activeLinkId: string): void {\n const scrollSpy = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n const activeLink = scrollSpy.links.find((link) => {\n return link.id === activeLinkId;\n });\n\n this.setActiveLink(activeLink);\n }\n\n removeActiveState(scrollSpyId: string, activeLinkId: string): void {\n const scrollSpy = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n const activeLink = scrollSpy.links.find((link) => {\n return link.id === activeLinkId;\n });\n\n if (!activeLink) {\n return;\n }\n\n activeLink.active = false;\n activeLink.detectChanges();\n }\n\n setActiveLink(activeLink: MdbScrollspyLinkDirective | any): void {\n if (activeLink) {\n activeLink.active = true;\n activeLink.detectChanges();\n this.activeSubject.next(activeLink);\n }\n }\n\n removeActiveLinks(scrollSpyId: string): void {\n const scrollSpy: MdbScrollspy | undefined = this.scrollSpys.find((spy) => {\n return spy.id === scrollSpyId;\n });\n\n if (!scrollSpy) {\n return;\n }\n\n scrollSpy.links.forEach((link) => {\n link.active = false;\n link.detectChanges();\n });\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { MdbScrollspyService } from './scrollspy.service';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { Subject, Subscription } from 'rxjs';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mdbScrollspy]',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbScrollspyDirective implements OnInit, AfterContentInit, OnDestroy {\n @ContentChildren(MdbScrollspyLinkDirective, { descendants: true })\n links: QueryList<MdbScrollspyLinkDirective>;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input('mdbScrollspy')\n get id(): string {\n return this._id;\n }\n\n set id(newId: string) {\n if (newId) {\n this._id = newId;\n }\n }\n\n private _id: string;\n\n @Input()\n get collapsible(): boolean {\n return this._collapsible;\n }\n set collapsible(value: boolean) {\n this._collapsible = coerceBooleanProperty(value);\n }\n\n private _collapsible = false;\n\n private _isBrowser: boolean;\n\n @Output() activeLinkChange: EventEmitter<any> = new EventEmitter<any>();\n\n activeSub: Subscription;\n\n constructor(\n private scrollSpyService: MdbScrollspyService,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n @Inject(PLATFORM_ID) platformId: Object\n ) {\n this._isBrowser = isPlatformBrowser(platformId);\n }\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n collapsibleElementHeight = 0;\n\n ngOnInit(): void {\n if (this._isBrowser) {\n this.collapsibleElementHeight = this.host.getBoundingClientRect().height;\n }\n\n this.activeSub = this.scrollSpyService.active$\n .pipe(takeUntil(this._destroy$), distinctUntilChanged())\n .subscribe((activeLink) => {\n this.activeLinkChange.emit(activeLink);\n if (this.collapsible) {\n this.styleCollapsibleElement();\n }\n });\n }\n\n ngAfterContentInit(): void {\n this.scrollSpyService.addScrollspy({ id: this.id, links: this.links });\n }\n\n ngOnDestroy(): void {\n this.scrollSpyService.removeScrollspy(this.id);\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private styleCollapsibleElement(): void {\n this._renderer.setStyle(this.host, 'overflow', 'hidden');\n this._renderer.setStyle(this.host, 'transition', 'height 0.2s ease-in-out');\n this._renderer.setStyle(this.host, 'flex-wrap', 'nowrap');\n\n const hostSiblings = this.getAllSiblings(this.host);\n const isAnySiblingActive = hostSiblings.some((element) => {\n return element.classList.contains('active');\n });\n\n if (this.collapsible && isAnySiblingActive) {\n this._renderer.setStyle(this.host, 'height', `${this.collapsibleElementHeight}px`);\n } else if (this.collapsible && !isAnySiblingActive) {\n this._renderer.setStyle(this.host, 'height', '0px');\n }\n }\n\n private getAllSiblings(element: HTMLElement) {\n let siblings = [];\n if (!element.parentNode) {\n return siblings;\n }\n let sibling = element.parentNode.firstElementChild;\n do {\n if (sibling != element) {\n siblings.push(sibling);\n }\n } while ((sibling = sibling.nextElementSibling));\n return siblings;\n }\n}\n","import {\n Directive,\n ElementRef,\n OnInit,\n Renderer2,\n NgZone,\n Input,\n AfterViewInit,\n OnDestroy,\n Inject,\n DOCUMENT,\n} from '@angular/core';\nimport { MdbScrollspyService } from './scrollspy.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyElement]',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class MdbScrollspyElementDirective implements OnInit, AfterViewInit, OnDestroy {\n private id: string;\n private _unlisten: (() => void) | null = null;\n private _lastInView: boolean | null = null;\n\n get host(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n @Input() container: HTMLElement;\n\n @Input('mdbScrollspyElement')\n get scrollSpyId(): string {\n return this._scrollSpyId;\n }\n set scrollSpyId(newId: string) {\n if (newId) {\n this._scrollSpyId = newId;\n }\n }\n private _scrollSpyId: string;\n\n @Input() offset = 0;\n\n constructor(\n private _elementRef: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private scrollSpyService: MdbScrollspyService,\n @Inject(DOCUMENT) private _document: any\n ) {}\n\n isElementInViewport(): boolean {\n if (!this.container) {\n return false;\n }\n\n const scrollTop = this.container.scrollTop;\n const elTop = this.host.offsetTop - this.offset;\n const elHeight = this.host.offsetHeight;\n\n return scrollTop >= elTop && scrollTop < elTop + elHeight;\n }\n\n updateActiveState(scrollSpyId: string, id: string): void {\n if (this.isElementInViewport()) {\n this.scrollSpyService.removeActiveLinks(scrollSpyId);\n this.scrollSpyService.updateActiveState(scrollSpyId, id);\n }\n }\n\n onScroll(): void {\n const inView = this.isElementInViewport();\n\n if (this._lastInView === inView) {\n return;\n }\n\n this._lastInView = inView;\n\n this.ngZone.run(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n });\n }\n\n listenToScroll(): void {\n if (!this.container) {\n return;\n }\n\n this._unlisten = this.renderer.listen(this.container, 'scroll', () => {\n this.onScroll();\n });\n }\n\n ngOnInit(): void {\n this.id = this.host.id;\n\n if (!this.container) {\n this.container = this._getClosestEl(this.host, '.scrollspy-container');\n }\n\n if (this.container) {\n this.renderer.setStyle(this.container, 'position', 'relative');\n this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));\n }\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this._lastInView = this.isElementInViewport();\n this.ngZone.run(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n });\n }, 0);\n }\n\n ngOnDestroy(): void {\n this._unlisten?.();\n }\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== this._document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n}\n","import {\n Directive,\n ElementRef,\n OnInit,\n Inject,\n Renderer2,\n NgZone,\n Input,\n AfterViewInit,\n OnDestroy,\n DOCUMENT,\n} from '@angular/core';\n\nimport { MdbScrollspyService } from './scrollspy.service';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbScrollspyWindow]',\n standalone: false,\n})\nexport class MdbScrollspyWindowDirective implements OnInit, AfterViewInit, OnDestroy {\n private id: string;\n private _unlisten: (() => void) | null = null;\n private _lastInView: boolean | null = null;\n\n @Input('mdbScrollspyWindow')\n get scrollSpyId(): string {\n return this._scrollSpyId;\n }\n set scrollSpyId(newId: string) {\n if (newId) {\n this._scrollSpyId = newId;\n }\n }\n private _scrollSpyId: string;\n\n @Input() offset = 0;\n\n constructor(\n @Inject(DOCUMENT) private document: any,\n private el: ElementRef,\n private renderer: Renderer2,\n private ngZone: NgZone,\n private scrollSpyService: MdbScrollspyService\n ) {}\n\n isElementInViewport(): boolean {\n const scrollTop = this.document.documentElement.scrollTop || this.document.body.scrollTop;\n const elHeight = this.el.nativeElement.offsetHeight;\n const elTop = this.el.nativeElement.offsetTop - this.offset;\n const elBottom = elTop + elHeight;\n\n return scrollTop >= elTop && scrollTop <= elBottom;\n }\n\n updateActiveState(scrollSpyId: string, id: string): void {\n if (this.isElementInViewport()) {\n this.scrollSpyService.updateActiveState(scrollSpyId, id);\n } else {\n this.scrollSpyService.removeActiveState(scrollSpyId, id);\n }\n }\n\n onScroll(): void {\n const inView = this.isElementInViewport();\n\n if (this._lastInView === inView) {\n return;\n }\n\n this._lastInView = inView;\n\n this.ngZone.run(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n });\n }\n\n listenToScroll(): void {\n this._unlisten = this.renderer.listen(window, 'scroll', () => {\n this.onScroll();\n });\n }\n\n ngOnInit(): void {\n this.id = this.el.nativeElement.id;\n\n this.ngZone.runOutsideAngular(this.listenToScroll.bind(this));\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n this._lastInView = this.isElementInViewport();\n this.ngZone.run(() => {\n this.updateActiveState(this.scrollSpyId, this.id);\n });\n }, 0);\n }\n\n ngOnDestroy(): void {\n this._unlisten?.();\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MdbScrollspyDirective } from './scrollspy.directive';\nimport { MdbScrollspyLinkDirective } from './scrollspy-link.directive';\nimport { MdbScrollspyElementDirective } from './scrollspy-element.directive';\nimport { MdbScrollspyService } from './scrollspy.service';\nimport { MdbScrollspyWindowDirective } from './scrollspy-window.directive';\n\n@NgModule({\n declarations: [\n MdbScrollspyDirective,\n MdbScrollspyLinkDirective,\n MdbScrollspyElementDirective,\n MdbScrollspyWindowDirective,\n ],\n exports: [\n MdbScrollspyDirective,\n MdbScrollspyLinkDirective,\n MdbScrollspyElementDirective,\n MdbScrollspyWindowDirective,\n ],\n providers: [MdbScrollspyService],\n})\nexport class MdbScrollspyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.MdbScrollspyService"],"mappings":"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"}

@@ -5,3 +5,3 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';

import * as i0 from '@angular/core';
import { InjectionToken, Directive, TemplateRef, Input, ViewChild, ContentChild, Component, DOCUMENT, Inject, EventEmitter, Output, HostBinding, ContentChildren, NgModule } from '@angular/core';
import { InjectionToken, Directive, TemplateRef, Input, ViewChild, ContentChild, Component, DOCUMENT, Inject, inject, ChangeDetectorRef, EventEmitter, Output, HostBinding, ContentChildren, NgModule } from '@angular/core';
import { Subject } from 'rxjs';

@@ -18,6 +18,6 @@ import { takeUntil } from 'rxjs/operators';

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbTabContentDirective, isStandalone: false, selector: "[mdbTabContent]", providers: [{ provide: MDB_TAB_CONTENT, useExisting: MdbTabContentDirective }], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabContentDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbTabContentDirective, isStandalone: false, selector: "[mdbTabContent]", providers: [{ provide: MDB_TAB_CONTENT, useExisting: MdbTabContentDirective }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabContentDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabContentDirective, decorators: [{
type: Directive,

@@ -38,6 +38,6 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabTitleDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbTabTitleDirective, isStandalone: false, selector: "[mdbTabTitle]", providers: [{ provide: MDB_TAB_TITLE, useExisting: MdbTabTitleDirective }], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabTitleDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbTabTitleDirective, isStandalone: false, selector: "[mdbTabTitle]", providers: [{ provide: MDB_TAB_TITLE, useExisting: MdbTabTitleDirective }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabTitleDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabTitleDirective, decorators: [{
type: Directive,

@@ -56,2 +56,3 @@ args: [{

_vcr;
_cdRef;
_lazyContent;

@@ -105,7 +106,9 @@ _titleContent;

this._show = coerceBooleanProperty(value);
this._cdRef.markForCheck();
}, SHOW_TRANSITION_DELAY + TRANSITION_PADDING);
}
_show = true;
constructor(_vcr) {
constructor(_vcr, _cdRef) {
this._vcr = _vcr;
this._cdRef = _cdRef;
}

@@ -126,9 +129,9 @@ ngOnInit() {

static ngAcceptInputType_disabled;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbTabComponent, isStandalone: false, selector: "mdb-tab", inputs: { disabled: "disabled", fade: "fade", title: "title" }, queries: [{ propertyName: "_lazyContent", first: true, predicate: MDB_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }, { propertyName: "_titleContent", first: true, predicate: MDB_TAB_TITLE, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n" });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbTabComponent, isStandalone: false, selector: "mdb-tab", inputs: { disabled: "disabled", fade: "fade", title: "title" }, queries: [{ propertyName: "_lazyContent", first: true, predicate: MDB_TAB_CONTENT, descendants: true, read: TemplateRef, static: true }, { propertyName: "_titleContent", first: true, predicate: MDB_TAB_TITLE, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "_content", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: "<ng-template><ng-content></ng-content></ng-template>\n" });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabComponent, decorators: [{
type: Component,
args: [{ selector: 'mdb-tab', standalone: false, template: "<ng-template><ng-content></ng-content></ng-template>\n" }]
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { _lazyContent: [{
}], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { _lazyContent: [{
type: ContentChild,

@@ -175,6 +178,6 @@ args: [MDB_TAB_CONTENT, { read: TemplateRef, static: true }]

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabPortalOutlet, deps: [{ token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbTabPortalOutlet, isStandalone: false, selector: "[mdbTabPortalOutlet]", inputs: { tab: "tab" }, usesInheritance: true, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabPortalOutlet, deps: [{ token: i0.ViewContainerRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbTabPortalOutlet, isStandalone: false, selector: "[mdbTabPortalOutlet]", inputs: { tab: "tab" }, usesInheritance: true, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabPortalOutlet, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabPortalOutlet, decorators: [{
type: Directive,

@@ -230,2 +233,3 @@ args: [{

contentColumnClass = 'col-9';
_cdRef = inject(ChangeDetectorRef);
get navColClass() {

@@ -239,3 +243,2 @@ return this.vertical ? this.navColumnClass : '';

activeTabChange = new EventEmitter();
constructor() { }
ngAfterContentInit() {

@@ -264,2 +267,3 @@ const firstActiveTabIndex = this.tabs.toArray().findIndex((tab) => !tab.disabled);

this.activeTabChange.emit(tabChangeEvent);
this._cdRef.markForCheck();
}

@@ -298,9 +302,9 @@ _getTabChangeEvent(index, tab) {

static ngAcceptInputType_vertical;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbTabsComponent, isStandalone: false, selector: "mdb-tabs", inputs: { fill: "fill", justified: "justified", pills: "pills", vertical: "vertical", navColumnClass: "navColumnClass", contentColumnClass: "contentColumnClass" }, outputs: { activeTabChange: "activeTabChange" }, host: { properties: { "class.row": "this.vertical" } }, queries: [{ propertyName: "tabs", predicate: MdbTabComponent }], ngImport: i0, template: "<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n <li\n *ngFor=\"let tab of tabs; let i = index\"\n (click)=\"setActiveTab(i)\"\n class=\"nav-item\"\n role=\"presentation\"\n >\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n <ng-template [ngIf]=\"tab.titleContent\">\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"!tab.titleContent\">{{ tab.title }}</ng-template>\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n </ng-container>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: MdbTabPortalOutlet, selector: "[mdbTabPortalOutlet]", inputs: ["tab"] }] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: MdbTabsComponent, isStandalone: false, selector: "mdb-tabs", inputs: { fill: "fill", justified: "justified", pills: "pills", vertical: "vertical", navColumnClass: "navColumnClass", contentColumnClass: "contentColumnClass" }, outputs: { activeTabChange: "activeTabChange" }, host: { properties: { "class.row": "this.vertical" } }, queries: [{ propertyName: "tabs", predicate: MdbTabComponent }], ngImport: i0, template: "<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <li (click)=\"setActiveTab(i)\" class=\"nav-item\" role=\"presentation\">\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n @if (tab.titleContent) {\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n } @if (!tab.titleContent) {\n {{ tab.title }}\n }\n </a>\n </li>\n }\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n @for (tab of tabs; track tab) {\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: MdbTabPortalOutlet, selector: "[mdbTabPortalOutlet]", inputs: ["tab"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsComponent, decorators: [{
type: Component,
args: [{ selector: 'mdb-tabs', standalone: false, template: "<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n <li\n *ngFor=\"let tab of tabs; let i = index\"\n (click)=\"setActiveTab(i)\"\n class=\"nav-item\"\n role=\"presentation\"\n >\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n <ng-template [ngIf]=\"tab.titleContent\">\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"!tab.titleContent\">{{ tab.title }}</ng-template>\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n </ng-container>\n</div>\n" }]
}], ctorParameters: () => [], propDecorators: { tabs: [{
args: [{ selector: 'mdb-tabs', standalone: false, template: "<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <li (click)=\"setActiveTab(i)\" class=\"nav-item\" role=\"presentation\">\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n @if (tab.titleContent) {\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n } @if (!tab.titleContent) {\n {{ tab.title }}\n }\n </a>\n </li>\n }\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n @for (tab of tabs; track tab) {\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n }\n</div>\n" }]
}], propDecorators: { tabs: [{
type: ContentChildren,

@@ -328,4 +332,4 @@ args: [MdbTabComponent]

class MdbTabsModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsModule, declarations: [MdbTabComponent,
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsModule, declarations: [MdbTabComponent,
MdbTabContentDirective,

@@ -339,5 +343,5 @@ MdbTabTitleDirective,

MdbTabsComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsModule, imports: [CommonModule, PortalModule] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsModule, imports: [CommonModule, PortalModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTabsModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTabsModule, decorators: [{
type: NgModule,

@@ -344,0 +348,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-tabs.mjs","sources":["../../../projects/mdb-angular-ui-kit/tabs/tab-content.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tab-title.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tab.component.ts","../../../projects/mdb-angular-ui-kit/tabs/tab.component.html","../../../projects/mdb-angular-ui-kit/tabs/tab-outlet.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tabs.component.ts","../../../projects/mdb-angular-ui-kit/tabs/tabs.component.html","../../../projects/mdb-angular-ui-kit/tabs/tabs.module.ts","../../../projects/mdb-angular-ui-kit/tabs/mdb-angular-ui-kit-tabs.ts"],"sourcesContent":["import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_TAB_CONTENT = new InjectionToken<MdbTabContentDirective>('MdbTabContentDirective');\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabContent]',\n providers: [{ provide: MDB_TAB_CONTENT, useExisting: MdbTabContentDirective }],\n standalone: false,\n})\nexport class MdbTabContentDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_TAB_TITLE = new InjectionToken<MdbTabTitleDirective>('MdbTabTitleDirective');\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabTitle]',\n providers: [{ provide: MDB_TAB_TITLE, useExisting: MdbTabTitleDirective }],\n standalone: false,\n})\nexport class MdbTabTitleDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n Component,\n ContentChild,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MDB_TAB_CONTENT } from './tab-content.directive';\nimport { MDB_TAB_TITLE } from './tab-title.directive';\n\nconst SHOW_TRANSITION_DELAY = 150; // Time of transition taken from styles\nconst TRANSITION_PADDING = 5; // Value from standard added via executeAfterTransition function\n\n@Component({\n selector: 'mdb-tab',\n templateUrl: './tab.component.html',\n standalone: false,\n})\nexport class MdbTabComponent implements OnInit {\n @ContentChild(MDB_TAB_CONTENT, { read: TemplateRef, static: true })\n _lazyContent: TemplateRef<any>;\n\n @ContentChild(MDB_TAB_TITLE, { read: TemplateRef, static: true })\n _titleContent: TemplateRef<any>;\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n\n readonly activeStateChange$: Subject<boolean> = new Subject<boolean>();\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input()\n get fade(): boolean {\n return this._fade;\n }\n set fade(value: boolean) {\n this._fade = coerceBooleanProperty(value);\n }\n private _fade = true;\n\n @Input() title: string;\n\n get content(): TemplatePortal | null {\n return this._contentPortal;\n }\n\n get titleContent(): TemplatePortal | null {\n return this._titlePortal;\n }\n\n get shouldAttach(): boolean {\n return this._lazyContent === undefined;\n }\n\n private _contentPortal: TemplatePortal | null = null;\n private _titlePortal: TemplatePortal | null = null;\n\n get active(): boolean {\n return this._active;\n }\n\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n this.activeStateChange$.next(value);\n }\n\n private _active = false;\n\n get show(): boolean {\n return this._show;\n }\n\n set show(value: boolean) {\n // We use setTimeout to apply delay for setting show class to reproduce standard library where\n // show class is applied after a delay to newly activated item via usage of _queueCallback and\n // executeAfterTransition functions which introduce delay equal to transition time taken from\n // element styles\n setTimeout(() => {\n this._show = coerceBooleanProperty(value);\n }, SHOW_TRANSITION_DELAY + TRANSITION_PADDING);\n }\n\n private _show = true;\n\n constructor(private _vcr: ViewContainerRef) {}\n\n ngOnInit(): void {\n this._createContentPortal();\n\n if (this._titleContent) {\n this._createTitlePortal();\n }\n }\n\n private _createContentPortal(): void {\n const content = this._lazyContent || this._content;\n this._contentPortal = new TemplatePortal(content, this._vcr);\n }\n\n private _createTitlePortal(): void {\n this._titlePortal = new TemplatePortal(this._titleContent, this._vcr);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<ng-template><ng-content></ng-content></ng-template>\n","import { CdkPortalOutlet } from '@angular/cdk/portal';\n\nimport {\n Directive,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n DOCUMENT,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MdbTabComponent } from './tab.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabPortalOutlet]',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class MdbTabPortalOutlet extends CdkPortalOutlet implements OnInit, OnDestroy {\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input() tab: MdbTabComponent;\n\n constructor(_vcr: ViewContainerRef, @Inject(DOCUMENT) _document: any) {\n super(_vcr, _document);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if ((this.tab.shouldAttach || this.tab.active) && !this.hasAttached()) {\n this.attach(this.tab.content);\n } else {\n this.tab.activeStateChange$.pipe(takeUntil(this._destroy$)).subscribe((isActive) => {\n if (isActive && !this.hasAttached()) {\n this.attach(this.tab.content);\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n super.ngOnDestroy();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MdbTabComponent } from './tab.component';\n\nexport class MdbTabChange {\n index: number;\n tab: MdbTabComponent;\n}\n\n@Component({\n selector: 'mdb-tabs',\n templateUrl: './tabs.component.html',\n standalone: false,\n})\nexport class MdbTabsComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(MdbTabComponent) tabs: QueryList<MdbTabComponent>;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input()\n get fill(): boolean {\n return this._fill;\n }\n set fill(value: boolean) {\n this._fill = coerceBooleanProperty(value);\n }\n private _fill = false;\n\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = coerceBooleanProperty(value);\n }\n private _justified = false;\n\n @Input()\n get pills(): boolean {\n return this._pills;\n }\n set pills(value: boolean) {\n this._pills = coerceBooleanProperty(value);\n }\n private _pills = false;\n\n @HostBinding('class.row')\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n private _vertical = false;\n\n @Input() navColumnClass = 'col-3';\n @Input() contentColumnClass = 'col-9';\n\n get navColClass(): string {\n return this.vertical ? this.navColumnClass : '';\n }\n\n get contentColClass(): string {\n return this.vertical ? this.contentColumnClass : '';\n }\n\n private _selectedIndex: number;\n\n @Output() activeTabChange: EventEmitter<MdbTabChange> = new EventEmitter<MdbTabChange>();\n\n constructor() {}\n\n ngAfterContentInit(): void {\n const firstActiveTabIndex = this.tabs.toArray().findIndex((tab) => !tab.disabled);\n\n this.setActiveTab(firstActiveTabIndex);\n this.tabs.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n const hasActiveTab = this.tabs.find((tab) => tab.active);\n\n if (!hasActiveTab) {\n const closestTabIndex = this._getClosestTabIndex(this._selectedIndex);\n\n if (closestTabIndex !== -1) {\n this.setActiveTab(closestTabIndex);\n }\n }\n });\n }\n\n setActiveTab(index: number): void {\n const activeTab = this.tabs.toArray()[index];\n\n if (!activeTab || (activeTab && activeTab.disabled)) {\n return;\n }\n\n this.tabs.forEach((tab) => (tab.active = tab === activeTab));\n this.tabs.forEach((tab) => (tab.show = tab === activeTab));\n\n this._selectedIndex = index;\n\n const tabChangeEvent = this._getTabChangeEvent(index, activeTab);\n this.activeTabChange.emit(tabChangeEvent);\n }\n\n private _getTabChangeEvent(index: number, tab: MdbTabComponent): MdbTabChange {\n const event = new MdbTabChange();\n event.index = index;\n event.tab = tab;\n\n return event;\n }\n\n private _getClosestTabIndex(index: number): number {\n const tabs = this.tabs.toArray();\n const tabsLength = tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let i = 1; i <= tabsLength; i += 1) {\n const prevIndex = index - i;\n const nextIndex = index + i;\n if (tabs[prevIndex] && !tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (tabs[nextIndex] && !tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n return -1;\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n static ngAcceptInputType_fill: BooleanInput;\n static ngAcceptInputType_justified: BooleanInput;\n static ngAcceptInputType_pills: BooleanInput;\n static ngAcceptInputType_vertical: BooleanInput;\n}\n","<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n <li\n *ngFor=\"let tab of tabs; let i = index\"\n (click)=\"setActiveTab(i)\"\n class=\"nav-item\"\n role=\"presentation\"\n >\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n <ng-template [ngIf]=\"tab.titleContent\">\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n </ng-template>\n\n <ng-template [ngIf]=\"!tab.titleContent\">{{ tab.title }}</ng-template>\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n </ng-container>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbTabComponent } from './tab.component';\nimport { MdbTabsComponent } from './tabs.component';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MdbTabContentDirective } from './tab-content.directive';\nimport { MdbTabPortalOutlet } from './tab-outlet.directive';\nimport { MdbTabTitleDirective } from './tab-title.directive';\n\n@NgModule({\n declarations: [\n MdbTabComponent,\n MdbTabContentDirective,\n MdbTabTitleDirective,\n MdbTabPortalOutlet,\n MdbTabsComponent,\n ],\n imports: [CommonModule, PortalModule],\n exports: [\n MdbTabComponent,\n MdbTabContentDirective,\n MdbTabTitleDirective,\n MdbTabPortalOutlet,\n MdbTabsComponent,\n ],\n})\nexport class MdbTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.MdbTabPortalOutlet"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-tabs.mjs","sources":["../../../projects/mdb-angular-ui-kit/tabs/tab-content.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tab-title.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tab.component.ts","../../../projects/mdb-angular-ui-kit/tabs/tab.component.html","../../../projects/mdb-angular-ui-kit/tabs/tab-outlet.directive.ts","../../../projects/mdb-angular-ui-kit/tabs/tabs.component.ts","../../../projects/mdb-angular-ui-kit/tabs/tabs.component.html","../../../projects/mdb-angular-ui-kit/tabs/tabs.module.ts","../../../projects/mdb-angular-ui-kit/tabs/mdb-angular-ui-kit-tabs.ts"],"sourcesContent":["import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_TAB_CONTENT = new InjectionToken<MdbTabContentDirective>('MdbTabContentDirective');\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabContent]',\n providers: [{ provide: MDB_TAB_CONTENT, useExisting: MdbTabContentDirective }],\n standalone: false,\n})\nexport class MdbTabContentDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { Directive, InjectionToken, TemplateRef } from '@angular/core';\n\nexport const MDB_TAB_TITLE = new InjectionToken<MdbTabTitleDirective>('MdbTabTitleDirective');\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabTitle]',\n providers: [{ provide: MDB_TAB_TITLE, useExisting: MdbTabTitleDirective }],\n standalone: false,\n})\nexport class MdbTabTitleDirective {\n constructor(public template: TemplateRef<any>) {}\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectorRef,\n Component,\n ContentChild,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { MDB_TAB_CONTENT } from './tab-content.directive';\nimport { MDB_TAB_TITLE } from './tab-title.directive';\n\nconst SHOW_TRANSITION_DELAY = 150; // Time of transition taken from styles\nconst TRANSITION_PADDING = 5; // Value from standard added via executeAfterTransition function\n\n@Component({\n selector: 'mdb-tab',\n templateUrl: './tab.component.html',\n standalone: false,\n})\nexport class MdbTabComponent implements OnInit {\n @ContentChild(MDB_TAB_CONTENT, { read: TemplateRef, static: true })\n _lazyContent: TemplateRef<any>;\n\n @ContentChild(MDB_TAB_TITLE, { read: TemplateRef, static: true })\n _titleContent: TemplateRef<any>;\n\n @ViewChild(TemplateRef, { static: true }) _content: TemplateRef<any>;\n\n readonly activeStateChange$: Subject<boolean> = new Subject<boolean>();\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n private _disabled = false;\n\n @Input()\n get fade(): boolean {\n return this._fade;\n }\n set fade(value: boolean) {\n this._fade = coerceBooleanProperty(value);\n }\n private _fade = true;\n\n @Input() title: string;\n\n get content(): TemplatePortal | null {\n return this._contentPortal;\n }\n\n get titleContent(): TemplatePortal | null {\n return this._titlePortal;\n }\n\n get shouldAttach(): boolean {\n return this._lazyContent === undefined;\n }\n\n private _contentPortal: TemplatePortal | null = null;\n private _titlePortal: TemplatePortal | null = null;\n\n get active(): boolean {\n return this._active;\n }\n\n set active(value: boolean) {\n this._active = coerceBooleanProperty(value);\n this.activeStateChange$.next(value);\n }\n\n private _active = false;\n\n get show(): boolean {\n return this._show;\n }\n\n set show(value: boolean) {\n // We use setTimeout to apply delay for setting show class to reproduce standard library where\n // show class is applied after a delay to newly activated item via usage of _queueCallback and\n // executeAfterTransition functions which introduce delay equal to transition time taken from\n // element styles\n setTimeout(() => {\n this._show = coerceBooleanProperty(value);\n this._cdRef.markForCheck();\n }, SHOW_TRANSITION_DELAY + TRANSITION_PADDING);\n }\n\n private _show = true;\n\n constructor(private _vcr: ViewContainerRef, private _cdRef: ChangeDetectorRef) {}\n\n ngOnInit(): void {\n this._createContentPortal();\n\n if (this._titleContent) {\n this._createTitlePortal();\n }\n }\n\n private _createContentPortal(): void {\n const content = this._lazyContent || this._content;\n this._contentPortal = new TemplatePortal(content, this._vcr);\n }\n\n private _createTitlePortal(): void {\n this._titlePortal = new TemplatePortal(this._titleContent, this._vcr);\n }\n\n static ngAcceptInputType_disabled: BooleanInput;\n}\n","<ng-template><ng-content></ng-content></ng-template>\n","import { CdkPortalOutlet } from '@angular/cdk/portal';\n\nimport {\n Directive,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n ViewContainerRef,\n DOCUMENT,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MdbTabComponent } from './tab.component';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTabPortalOutlet]',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class MdbTabPortalOutlet extends CdkPortalOutlet implements OnInit, OnDestroy {\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input() tab: MdbTabComponent;\n\n constructor(_vcr: ViewContainerRef, @Inject(DOCUMENT) _document: any) {\n super(_vcr, _document);\n }\n\n ngOnInit(): void {\n super.ngOnInit();\n\n if ((this.tab.shouldAttach || this.tab.active) && !this.hasAttached()) {\n this.attach(this.tab.content);\n } else {\n this.tab.activeStateChange$.pipe(takeUntil(this._destroy$)).subscribe((isActive) => {\n if (isActive && !this.hasAttached()) {\n this.attach(this.tab.content);\n }\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n super.ngOnDestroy();\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n AfterContentInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n QueryList,\n inject,\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { MdbTabComponent } from './tab.component';\n\nexport class MdbTabChange {\n index: number;\n tab: MdbTabComponent;\n}\n\n@Component({\n selector: 'mdb-tabs',\n templateUrl: './tabs.component.html',\n standalone: false,\n})\nexport class MdbTabsComponent implements AfterContentInit, OnDestroy {\n @ContentChildren(MdbTabComponent) tabs: QueryList<MdbTabComponent>;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n @Input()\n get fill(): boolean {\n return this._fill;\n }\n set fill(value: boolean) {\n this._fill = coerceBooleanProperty(value);\n }\n private _fill = false;\n\n @Input()\n get justified(): boolean {\n return this._justified;\n }\n set justified(value: boolean) {\n this._justified = coerceBooleanProperty(value);\n }\n private _justified = false;\n\n @Input()\n get pills(): boolean {\n return this._pills;\n }\n set pills(value: boolean) {\n this._pills = coerceBooleanProperty(value);\n }\n private _pills = false;\n\n @HostBinding('class.row')\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n private _vertical = false;\n\n @Input() navColumnClass = 'col-3';\n @Input() contentColumnClass = 'col-9';\n\n private _cdRef = inject(ChangeDetectorRef);\n\n get navColClass(): string {\n return this.vertical ? this.navColumnClass : '';\n }\n\n get contentColClass(): string {\n return this.vertical ? this.contentColumnClass : '';\n }\n\n private _selectedIndex: number;\n\n @Output() activeTabChange: EventEmitter<MdbTabChange> = new EventEmitter<MdbTabChange>();\n\n ngAfterContentInit(): void {\n const firstActiveTabIndex = this.tabs.toArray().findIndex((tab) => !tab.disabled);\n\n this.setActiveTab(firstActiveTabIndex);\n this.tabs.changes.pipe(takeUntil(this._destroy$)).subscribe(() => {\n const hasActiveTab = this.tabs.find((tab) => tab.active);\n\n if (!hasActiveTab) {\n const closestTabIndex = this._getClosestTabIndex(this._selectedIndex);\n\n if (closestTabIndex !== -1) {\n this.setActiveTab(closestTabIndex);\n }\n }\n });\n }\n\n setActiveTab(index: number): void {\n const activeTab = this.tabs.toArray()[index];\n\n if (!activeTab || (activeTab && activeTab.disabled)) {\n return;\n }\n\n this.tabs.forEach((tab) => (tab.active = tab === activeTab));\n this.tabs.forEach((tab) => (tab.show = tab === activeTab));\n\n this._selectedIndex = index;\n\n const tabChangeEvent = this._getTabChangeEvent(index, activeTab);\n this.activeTabChange.emit(tabChangeEvent);\n this._cdRef.markForCheck();\n }\n\n private _getTabChangeEvent(index: number, tab: MdbTabComponent): MdbTabChange {\n const event = new MdbTabChange();\n event.index = index;\n event.tab = tab;\n\n return event;\n }\n\n private _getClosestTabIndex(index: number): number {\n const tabs = this.tabs.toArray();\n const tabsLength = tabs.length;\n if (!tabsLength) {\n return -1;\n }\n\n for (let i = 1; i <= tabsLength; i += 1) {\n const prevIndex = index - i;\n const nextIndex = index + i;\n if (tabs[prevIndex] && !tabs[prevIndex].disabled) {\n return prevIndex;\n }\n if (tabs[nextIndex] && !tabs[nextIndex].disabled) {\n return nextIndex;\n }\n }\n return -1;\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n static ngAcceptInputType_fill: BooleanInput;\n static ngAcceptInputType_justified: BooleanInput;\n static ngAcceptInputType_pills: BooleanInput;\n static ngAcceptInputType_vertical: BooleanInput;\n}\n","<ul\n class=\"nav mb-3 flex-column {{ navColClass }}\"\n [ngClass]=\"{\n 'nav-pills': pills,\n 'nav-tabs': !pills,\n 'nav-fill': fill,\n 'nav-justified': justified,\n 'flex-column': vertical,\n 'text-center': vertical\n }\"\n role=\"tablist\"\n>\n @for (tab of tabs; track tab; let i = $index) {\n <li (click)=\"setActiveTab(i)\" class=\"nav-item\" role=\"presentation\">\n <a\n href=\"javascript:void(0)\"\n class=\"nav-link\"\n [class.active]=\"tab.active\"\n [class.disabled]=\"tab.disabled\"\n role=\"tab\"\n >\n @if (tab.titleContent) {\n <ng-template [cdkPortalOutlet]=\"tab.titleContent\"></ng-template>\n } @if (!tab.titleContent) {\n {{ tab.title }}\n }\n </a>\n </li>\n }\n</ul>\n\n<div class=\"tab-content {{ contentColClass }}\">\n <!-- <ng-content select=\"mdb-tab\"></ng-content> -->\n @for (tab of tabs; track tab) {\n <div\n class=\"tab-pane\"\n [ngClass]=\"{\n fade: tab.fade,\n active: tab.active,\n show: tab.show\n }\"\n >\n <ng-template mdbTabPortalOutlet [tab]=\"tab\"></ng-template>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbTabComponent } from './tab.component';\nimport { MdbTabsComponent } from './tabs.component';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { MdbTabContentDirective } from './tab-content.directive';\nimport { MdbTabPortalOutlet } from './tab-outlet.directive';\nimport { MdbTabTitleDirective } from './tab-title.directive';\n\n@NgModule({\n declarations: [\n MdbTabComponent,\n MdbTabContentDirective,\n MdbTabTitleDirective,\n MdbTabPortalOutlet,\n MdbTabsComponent,\n ],\n imports: [CommonModule, PortalModule],\n exports: [\n MdbTabComponent,\n MdbTabContentDirective,\n MdbTabTitleDirective,\n MdbTabPortalOutlet,\n MdbTabsComponent,\n ],\n})\nexport class MdbTabsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3.MdbTabPortalOutlet"],"mappings":"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"}
import * as i0 from '@angular/core';
import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, Output, Directive, NgModule } from '@angular/core';
import * as i1$1 from '@angular/cdk/overlay';
import { HostBinding, Input, ChangeDetectionStrategy, Component, EventEmitter, inject, ChangeDetectorRef, Output, Directive, NgModule } from '@angular/core';
import * as i1 from '@angular/cdk/overlay';
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
import { trigger, state, transition, style, animate } from '@angular/animations';
import { trigger, state, style, transition, animate } from '@angular/animations';
import { Subject, fromEvent } from 'rxjs';
import * as i1 from '@angular/common';
import { takeUntil, first } from 'rxjs/operators';
import { CommonModule } from '@angular/common';
import { takeUntil, first } from 'rxjs/operators';

@@ -26,2 +25,5 @@ class MdbTooltipComponent {

}
detectChanges() {
this._cdRef.detectChanges();
}
onAnimationEnd(event) {

@@ -32,4 +34,4 @@ if (event.toState === 'hidden') {

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbTooltipComponent, isStandalone: false, selector: "mdb-tooltip", inputs: { title: "title", html: "html", animation: "animation" }, host: { properties: { "class.tooltip": "this.tooltip" } }, ngImport: i0, template: "<div\n *ngIf=\"html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n<div\n *ngIf=\"!html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.2", type: MdbTooltipComponent, isStandalone: false, selector: "mdb-tooltip", inputs: { title: "title", html: "html", animation: "animation" }, host: { properties: { "class.tooltip": "this.tooltip" } }, ngImport: i0, template: "@if (html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n} @if (!html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n}\n", animations: [
trigger('fade', [

@@ -43,3 +45,3 @@ state('visible', style({ opacity: 1 })),

}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipComponent, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipComponent, decorators: [{
type: Component,

@@ -53,3 +55,3 @@ args: [{ selector: 'mdb-tooltip', changeDetection: ChangeDetectionStrategy.OnPush, animations: [

]),
], standalone: false, template: "<div\n *ngIf=\"html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n<div\n *ngIf=\"!html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n" }]
], standalone: false, template: "@if (html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n} @if (!html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n}\n" }]
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { title: [{

@@ -89,2 +91,3 @@ type: Input

_hideTimeout = 0;
_cdRef = inject(ChangeDetectorRef);
_destroy$ = new Subject();

@@ -208,3 +211,4 @@ constructor(_overlay, _overlayPositionBuilder, _elementRef) {

this._tooltipRef.instance.animationState = 'visible';
this._tooltipRef.instance.markForCheck();
this._tooltipRef.instance.detectChanges();
this._cdRef.markForCheck();
this.tooltipShown.emit(this);

@@ -236,3 +240,3 @@ }

this._tooltipRef.instance.animationState = 'hidden';
this._tooltipRef.instance.markForCheck();
this._tooltipRef.instance.detectChanges();
}

@@ -249,6 +253,6 @@ }, this.delayHide);

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipDirective, deps: [{ token: i1$1.Overlay }, { token: i1$1.OverlayPositionBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbTooltipDirective, isStandalone: false, selector: "[mdbTooltip]", inputs: { mdbTooltip: "mdbTooltip", tooltipDisabled: "tooltipDisabled", placement: "placement", html: "html", animation: "animation", trigger: "trigger", delayShow: "delayShow", delayHide: "delayHide", offset: "offset" }, outputs: { tooltipShow: "tooltipShow", tooltipShown: "tooltipShown", tooltipHide: "tooltipHide", tooltipHidden: "tooltipHidden" }, exportAs: ["mdbTooltip"], ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipDirective, deps: [{ token: i1.Overlay }, { token: i1.OverlayPositionBuilder }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbTooltipDirective, isStandalone: false, selector: "[mdbTooltip]", inputs: { mdbTooltip: "mdbTooltip", tooltipDisabled: "tooltipDisabled", placement: "placement", html: "html", animation: "animation", trigger: "trigger", delayShow: "delayShow", delayHide: "delayHide", offset: "offset" }, outputs: { tooltipShow: "tooltipShow", tooltipShown: "tooltipShown", tooltipHide: "tooltipHide", tooltipHidden: "tooltipHidden" }, exportAs: ["mdbTooltip"], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipDirective, decorators: [{
type: Directive,

@@ -261,3 +265,3 @@ args: [{

}]
}], ctorParameters: () => [{ type: i1$1.Overlay }, { type: i1$1.OverlayPositionBuilder }, { type: i0.ElementRef }], propDecorators: { mdbTooltip: [{
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i0.ElementRef }], propDecorators: { mdbTooltip: [{
type: Input

@@ -291,7 +295,7 @@ }], tooltipDisabled: [{

class MdbTooltipModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipModule, declarations: [MdbTooltipDirective, MdbTooltipComponent], imports: [CommonModule, OverlayModule], exports: [MdbTooltipDirective, MdbTooltipComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipModule, imports: [CommonModule, OverlayModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipModule, declarations: [MdbTooltipDirective, MdbTooltipComponent], imports: [CommonModule, OverlayModule], exports: [MdbTooltipDirective, MdbTooltipComponent] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipModule, imports: [CommonModule, OverlayModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbTooltipModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbTooltipModule, decorators: [{
type: NgModule,

@@ -298,0 +302,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-tooltip.mjs","sources":["../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.html","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.directive.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.module.ts","../../../projects/mdb-angular-ui-kit/tooltip/mdb-angular-ui-kit-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { trigger, style, animate, transition, state, AnimationEvent } from '@angular/animations';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'mdb-tooltip',\n templateUrl: 'tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible => hidden', animate('150ms linear')),\n transition(':enter', animate('150ms linear')),\n ]),\n ],\n standalone: false,\n})\nexport class MdbTooltipComponent {\n @Input() title: string;\n @Input() html: boolean;\n @Input() animation: boolean;\n\n @HostBinding('class.tooltip') tooltip = true;\n\n readonly _hidden: Subject<void> = new Subject();\n\n animationState = 'hidden';\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n markForCheck(): void {\n this._cdRef.markForCheck();\n }\n\n onAnimationEnd(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this._hidden.next();\n }\n }\n}\n","<div\n *ngIf=\"html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n<div\n *ngIf=\"!html\"\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n","import {\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { MdbTooltipComponent } from './tooltip.component';\nimport { MdbTooltipPosition } from './tooltip.types';\nimport { fromEvent, Subject } from 'rxjs';\nimport { first, takeUntil } from 'rxjs/operators';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTooltip]',\n exportAs: 'mdbTooltip',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbTooltipDirective implements OnInit, OnDestroy {\n @Input() mdbTooltip = '';\n @Input() tooltipDisabled = false;\n @Input() placement: MdbTooltipPosition = 'top';\n @Input() html = false;\n @Input() animation = true;\n @Input() trigger = 'hover focus';\n @Input() delayShow = 0;\n @Input() delayHide = 0;\n @Input() offset = 6;\n\n @Output() tooltipShow: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipShown: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipHide: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipHidden: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n\n private _overlayRef: OverlayRef;\n private _tooltipRef: ComponentRef<MdbTooltipComponent>;\n private _open = false;\n private _showTimeout: any = 0;\n private _hideTimeout: any = 0;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n if (this.tooltipDisabled || this.mdbTooltip === '') {\n return;\n }\n\n this._bindTriggerEvents();\n }\n\n ngOnDestroy(): void {\n if (this._open || this._showTimeout) {\n this.hide();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindTriggerEvents(): void {\n const triggers = this.trigger.split(' ');\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n fromEvent(this._elementRef.nativeElement, trigger)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n } else if (trigger !== 'manual') {\n const evIn = trigger === 'hover' ? 'mouseenter' : 'focusin';\n const evOut = trigger === 'hover' ? 'mouseleave' : 'focusout';\n\n fromEvent(this._elementRef.nativeElement, evIn)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.show());\n fromEvent(this._elementRef.nativeElement, evOut)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.hide());\n }\n });\n }\n\n private _createOverlayConfig(): OverlayConfig {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getPosition());\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy,\n });\n\n return overlayConfig;\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _getPosition(): ConnectedPosition[] {\n let position;\n\n const positionTop = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionBottom = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionRight = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: this.offset,\n };\n\n const positionLeft = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -this.offset,\n };\n\n switch (this.placement) {\n case 'top':\n position = [positionTop, positionBottom];\n break;\n case 'bottom':\n position = [positionBottom, positionTop];\n break;\n case 'left':\n position = [positionLeft, positionRight];\n break;\n case 'right':\n position = [positionRight, positionLeft];\n break;\n default:\n break;\n }\n\n return position;\n }\n\n show(): void {\n if (this._hideTimeout || this._open) {\n this._overlayRef.detach();\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._createOverlay();\n\n this._showTimeout = setTimeout(() => {\n if (!this._overlayRef.hasAttached()) {\n const tooltipPortal = new ComponentPortal(MdbTooltipComponent);\n\n this.tooltipShow.emit(this);\n this._open = true;\n\n this._tooltipRef = this._overlayRef.attach(tooltipPortal);\n this._tooltipRef.instance.title = this.mdbTooltip;\n this._tooltipRef.instance.html = this.html;\n this._tooltipRef.instance.animation = this.animation;\n this._tooltipRef.instance.animationState = 'visible';\n\n this._tooltipRef.instance.markForCheck();\n\n this.tooltipShown.emit(this);\n }\n }, this.delayShow);\n }\n\n hide(): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = null;\n } else {\n return;\n }\n\n this._hideTimeout = setTimeout(() => {\n this.tooltipHide.emit(this);\n\n if (!this._tooltipRef) {\n this._overlayRef.detach();\n this._open = false;\n this.tooltipHidden.emit(this);\n } else {\n this._tooltipRef.instance._hidden.pipe(first()).subscribe(() => {\n this._overlayRef.detach();\n this._open = false;\n this.tooltipHidden.emit(this);\n });\n this._tooltipRef.instance.animationState = 'hidden';\n this._tooltipRef.instance.markForCheck();\n }\n }, this.delayHide);\n }\n\n toggle(): void {\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","import { MdbTooltipDirective } from './tooltip.directive';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { MdbTooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbTooltipDirective, MdbTooltipComponent],\n exports: [MdbTooltipDirective, MdbTooltipComponent],\n})\nexport class MdbTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-tooltip.mjs","sources":["../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.component.html","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.directive.ts","../../../projects/mdb-angular-ui-kit/tooltip/tooltip.module.ts","../../../projects/mdb-angular-ui-kit/tooltip/mdb-angular-ui-kit-tooltip.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Input,\n} from '@angular/core';\nimport { trigger, style, animate, transition, state, AnimationEvent } from '@angular/animations';\nimport { Subject } from 'rxjs';\n@Component({\n selector: 'mdb-tooltip',\n templateUrl: 'tooltip.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('fade', [\n state('visible', style({ opacity: 1 })),\n state('hidden', style({ opacity: 0 })),\n transition('visible => hidden', animate('150ms linear')),\n transition(':enter', animate('150ms linear')),\n ]),\n ],\n standalone: false,\n})\nexport class MdbTooltipComponent {\n @Input() title: string;\n @Input() html: boolean;\n @Input() animation: boolean;\n\n @HostBinding('class.tooltip') tooltip = true;\n\n readonly _hidden: Subject<void> = new Subject();\n\n animationState = 'hidden';\n\n constructor(private _cdRef: ChangeDetectorRef) {}\n\n markForCheck(): void {\n this._cdRef.markForCheck();\n }\n\n detectChanges(): void {\n this._cdRef.detectChanges();\n }\n\n onAnimationEnd(event: AnimationEvent): void {\n if (event.toState === 'hidden') {\n this._hidden.next();\n }\n }\n}\n","@if (html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n [innerHTML]=\"title\"\n class=\"tooltip-inner\"\n></div>\n} @if (!html) {\n<div\n [@fade]=\"animationState\"\n (@fade.done)=\"onAnimationEnd($event)\"\n [@.disabled]=\"!animation\"\n class=\"tooltip-inner\"\n>\n {{ title }}\n</div>\n}\n","import {\n ChangeDetectorRef,\n ComponentRef,\n Directive,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n inject,\n} from '@angular/core';\nimport {\n ConnectedPosition,\n Overlay,\n OverlayConfig,\n OverlayPositionBuilder,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { MdbTooltipComponent } from './tooltip.component';\nimport { MdbTooltipPosition } from './tooltip.types';\nimport { fromEvent, Subject } from 'rxjs';\nimport { first, takeUntil } from 'rxjs/operators';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbTooltip]',\n exportAs: 'mdbTooltip',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbTooltipDirective implements OnInit, OnDestroy {\n @Input() mdbTooltip = '';\n @Input() tooltipDisabled = false;\n @Input() placement: MdbTooltipPosition = 'top';\n @Input() html = false;\n @Input() animation = true;\n @Input() trigger = 'hover focus';\n @Input() delayShow = 0;\n @Input() delayHide = 0;\n @Input() offset = 6;\n\n @Output() tooltipShow: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipShown: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipHide: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n @Output() tooltipHidden: EventEmitter<MdbTooltipDirective> = new EventEmitter();\n\n private _overlayRef: OverlayRef;\n private _tooltipRef: ComponentRef<MdbTooltipComponent>;\n private _open = false;\n private _showTimeout: any = 0;\n private _hideTimeout: any = 0;\n\n private _cdRef = inject(ChangeDetectorRef);\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(\n private _overlay: Overlay,\n private _overlayPositionBuilder: OverlayPositionBuilder,\n private _elementRef: ElementRef\n ) {}\n\n ngOnInit(): void {\n if (this.tooltipDisabled || this.mdbTooltip === '') {\n return;\n }\n\n this._bindTriggerEvents();\n }\n\n ngOnDestroy(): void {\n if (this._open || this._showTimeout) {\n this.hide();\n }\n\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private _bindTriggerEvents(): void {\n const triggers = this.trigger.split(' ');\n\n triggers.forEach((trigger) => {\n if (trigger === 'click') {\n fromEvent(this._elementRef.nativeElement, trigger)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.toggle());\n } else if (trigger !== 'manual') {\n const evIn = trigger === 'hover' ? 'mouseenter' : 'focusin';\n const evOut = trigger === 'hover' ? 'mouseleave' : 'focusout';\n\n fromEvent(this._elementRef.nativeElement, evIn)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.show());\n fromEvent(this._elementRef.nativeElement, evOut)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => this.hide());\n }\n });\n }\n\n private _createOverlayConfig(): OverlayConfig {\n const positionStrategy = this._overlayPositionBuilder\n .flexibleConnectedTo(this._elementRef)\n .withPositions(this._getPosition());\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n positionStrategy,\n });\n\n return overlayConfig;\n }\n\n private _createOverlay(): void {\n this._overlayRef = this._overlay.create(this._createOverlayConfig());\n }\n\n private _getPosition(): ConnectedPosition[] {\n let position;\n\n const positionTop = {\n originX: 'center',\n originY: 'top',\n overlayX: 'center',\n overlayY: 'bottom',\n offsetY: -this.offset,\n };\n\n const positionBottom = {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'top',\n offsetY: this.offset,\n };\n\n const positionRight = {\n originX: 'end',\n originY: 'center',\n overlayX: 'start',\n overlayY: 'center',\n offsetX: this.offset,\n };\n\n const positionLeft = {\n originX: 'start',\n originY: 'center',\n overlayX: 'end',\n overlayY: 'center',\n offsetX: -this.offset,\n };\n\n switch (this.placement) {\n case 'top':\n position = [positionTop, positionBottom];\n break;\n case 'bottom':\n position = [positionBottom, positionTop];\n break;\n case 'left':\n position = [positionLeft, positionRight];\n break;\n case 'right':\n position = [positionRight, positionLeft];\n break;\n default:\n break;\n }\n\n return position;\n }\n\n show(): void {\n if (this._hideTimeout || this._open) {\n this._overlayRef.detach();\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n this._createOverlay();\n\n this._showTimeout = setTimeout(() => {\n if (!this._overlayRef.hasAttached()) {\n const tooltipPortal = new ComponentPortal(MdbTooltipComponent);\n\n this.tooltipShow.emit(this);\n this._open = true;\n\n this._tooltipRef = this._overlayRef.attach(tooltipPortal);\n this._tooltipRef.instance.title = this.mdbTooltip;\n this._tooltipRef.instance.html = this.html;\n this._tooltipRef.instance.animation = this.animation;\n this._tooltipRef.instance.animationState = 'visible';\n\n this._tooltipRef.instance.detectChanges();\n this._cdRef.markForCheck();\n\n this.tooltipShown.emit(this);\n }\n }, this.delayShow);\n }\n\n hide(): void {\n if (this._showTimeout) {\n clearTimeout(this._showTimeout);\n this._showTimeout = null;\n } else {\n return;\n }\n\n this._hideTimeout = setTimeout(() => {\n this.tooltipHide.emit(this);\n\n if (!this._tooltipRef) {\n this._overlayRef.detach();\n this._open = false;\n this.tooltipHidden.emit(this);\n } else {\n this._tooltipRef.instance._hidden.pipe(first()).subscribe(() => {\n this._overlayRef.detach();\n this._open = false;\n this.tooltipHidden.emit(this);\n });\n this._tooltipRef.instance.animationState = 'hidden';\n this._tooltipRef.instance.detectChanges();\n }\n }, this.delayHide);\n }\n\n toggle(): void {\n if (this._open) {\n this.hide();\n } else {\n this.show();\n }\n }\n}\n","import { MdbTooltipDirective } from './tooltip.directive';\nimport { NgModule } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { MdbTooltipComponent } from './tooltip.component';\n\n@NgModule({\n imports: [CommonModule, OverlayModule],\n declarations: [MdbTooltipDirective, MdbTooltipComponent],\n exports: [MdbTooltipDirective, MdbTooltipComponent],\n})\nexport class MdbTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}

@@ -72,6 +72,6 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';

static ngAcceptInputType_validateError;
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbValidateDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.0", type: MdbValidateDirective, isStandalone: false, selector: "[mdbValidate]", inputs: { mdbValidate: "mdbValidate", validate: "validate", validateSuccess: "validateSuccess", validateError: "validateError" }, ngImport: i0 });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbValidateDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.2", type: MdbValidateDirective, isStandalone: false, selector: "[mdbValidate]", inputs: { mdbValidate: "mdbValidate", validate: "validate", validateSuccess: "validateSuccess", validateError: "validateError" }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbValidateDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbValidateDirective, decorators: [{
type: Directive,

@@ -131,6 +131,6 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbErrorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbErrorDirective, isStandalone: false, selector: "mdb-error", inputs: { id: "id" }, host: { properties: { "class.error-message": "this.errorMsg", "attr.id": "this.messageId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbErrorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbErrorDirective, isStandalone: false, selector: "mdb-error", inputs: { id: "id" }, host: { properties: { "class.error-message": "this.errorMsg", "attr.id": "this.messageId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbErrorDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbErrorDirective, decorators: [{
type: Component,

@@ -190,6 +190,6 @@ args: [{

}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbSuccessDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.0", type: MdbSuccessDirective, isStandalone: false, selector: "mdb-success", inputs: { id: "id" }, host: { properties: { "class.success-message": "this.successMsg", "attr.id": "this.messageId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbSuccessDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.2", type: MdbSuccessDirective, isStandalone: false, selector: "mdb-success", inputs: { id: "id" }, host: { properties: { "class.success-message": "this.successMsg", "attr.id": "this.messageId" } }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbSuccessDirective, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbSuccessDirective, decorators: [{
type: Component,

@@ -212,7 +212,7 @@ args: [{

class MdbValidationModule {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.0", ngImport: i0, type: MdbValidationModule, declarations: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective], imports: [CommonModule], exports: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbValidationModule, imports: [CommonModule] });
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbValidationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.1.2", ngImport: i0, type: MdbValidationModule, declarations: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective], imports: [CommonModule], exports: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective] });
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbValidationModule, imports: [CommonModule] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: MdbValidationModule, decorators: [{
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.2", ngImport: i0, type: MdbValidationModule, decorators: [{
type: NgModule,

@@ -219,0 +219,0 @@ args: [{

@@ -1,1 +0,1 @@

{"version":3,"file":"mdb-angular-ui-kit-validation.mjs","sources":["../../../projects/mdb-angular-ui-kit/validation/validate.directive.ts","../../../projects/mdb-angular-ui-kit/validation/error.directive.ts","../../../projects/mdb-angular-ui-kit/validation/success.directive.ts","../../../projects/mdb-angular-ui-kit/validation/validation.module.ts","../../../projects/mdb-angular-ui-kit/validation/mdb-angular-ui-kit-validation.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbValidate]',\n standalone: false,\n})\nexport class MdbValidateDirective implements OnInit {\n private _validate = true;\n private _validateSuccess = true;\n private _validateError = true;\n\n @Input()\n get mdbValidate(): boolean {\n return this._mdbValidate;\n }\n set mdbValidate(value: boolean) {\n this._mdbValidate = coerceBooleanProperty(value);\n }\n private _mdbValidate: boolean;\n\n @Input()\n get validate(): boolean {\n return this._validate;\n }\n set validate(value: boolean) {\n this._validate = coerceBooleanProperty(value);\n this.updateErrorClass();\n this.updateSuccessClass();\n }\n\n @Input()\n get validateSuccess(): boolean {\n return this._validateSuccess;\n }\n set validateSuccess(value: boolean) {\n this._validateSuccess = coerceBooleanProperty(value);\n this.updateSuccessClass();\n }\n\n @Input()\n get validateError(): boolean {\n return this._validateError;\n }\n set validateError(value: boolean) {\n this._validateError = coerceBooleanProperty(value);\n this.updateErrorClass();\n this.updateSuccessClass();\n }\n\n constructor(private renderer: Renderer2, private _elementRef: ElementRef) {}\n\n updateSuccessClass(): void {\n if (this.validate && this.validateSuccess) {\n this.renderer.addClass(this._elementRef.nativeElement, 'validate-success');\n } else {\n this.renderer.removeClass(this._elementRef.nativeElement, 'validate-success');\n }\n }\n\n updateErrorClass(): void {\n if (this.validate && this.validateError) {\n this.renderer.addClass(this._elementRef.nativeElement, 'validate-error');\n } else {\n this.renderer.removeClass(this._elementRef.nativeElement, 'validate-error');\n }\n }\n\n ngOnInit(): void {\n this.updateSuccessClass();\n this.updateErrorClass();\n }\n\n static ngAcceptInputType_mdbValidate: BooleanInput;\n static ngAcceptInputType_validate: BooleanInput;\n static ngAcceptInputType_validateSuccess: BooleanInput;\n static ngAcceptInputType_validateError: BooleanInput;\n}\n","import {\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n Component,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nlet defaultIdNumber = 0;\n\n@Component({\n selector: 'mdb-error',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbErrorDirective implements OnInit, OnDestroy {\n @Input() id = `mdb-error-${defaultIdNumber++}`;\n\n @HostBinding('class.error-message') errorMsg = true;\n @HostBinding('attr.id') messageId = this.id;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(private _elementRef: ElementRef, private renderer: Renderer2) {}\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n\n ngOnInit(): void {\n const textarea = this._getClosestEl(this._elementRef.nativeElement, 'textarea');\n\n if (textarea) {\n let height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n\n fromEvent(textarea, 'keyup')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import {\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n Component,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nlet defaultIdNumber = 0;\n\n@Component({\n selector: 'mdb-success',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbSuccessDirective implements OnInit, OnDestroy {\n @Input() id = `mdb-success-${defaultIdNumber++}`;\n\n @HostBinding('class.success-message') successMsg = true;\n @HostBinding('attr.id') messageId = this.id;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(private _elementRef: ElementRef, private renderer: Renderer2) {}\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n\n ngOnInit(): void {\n const textarea = this._getClosestEl(this._elementRef.nativeElement, 'textarea');\n\n if (textarea) {\n let height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n\n fromEvent(textarea, 'keyup')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbErrorDirective } from './error.directive';\nimport { MdbSuccessDirective } from './success.directive';\nimport { MdbValidateDirective } from './validate.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective],\n exports: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective],\n})\nexport class MdbValidationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultIdNumber"],"mappings":"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"}
{"version":3,"file":"mdb-angular-ui-kit-validation.mjs","sources":["../../../projects/mdb-angular-ui-kit/validation/validate.directive.ts","../../../projects/mdb-angular-ui-kit/validation/error.directive.ts","../../../projects/mdb-angular-ui-kit/validation/success.directive.ts","../../../projects/mdb-angular-ui-kit/validation/validation.module.ts","../../../projects/mdb-angular-ui-kit/validation/mdb-angular-ui-kit-validation.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: '[mdbValidate]',\n standalone: false,\n})\nexport class MdbValidateDirective implements OnInit {\n private _validate = true;\n private _validateSuccess = true;\n private _validateError = true;\n\n @Input()\n get mdbValidate(): boolean {\n return this._mdbValidate;\n }\n set mdbValidate(value: boolean) {\n this._mdbValidate = coerceBooleanProperty(value);\n }\n private _mdbValidate: boolean;\n\n @Input()\n get validate(): boolean {\n return this._validate;\n }\n set validate(value: boolean) {\n this._validate = coerceBooleanProperty(value);\n this.updateErrorClass();\n this.updateSuccessClass();\n }\n\n @Input()\n get validateSuccess(): boolean {\n return this._validateSuccess;\n }\n set validateSuccess(value: boolean) {\n this._validateSuccess = coerceBooleanProperty(value);\n this.updateSuccessClass();\n }\n\n @Input()\n get validateError(): boolean {\n return this._validateError;\n }\n set validateError(value: boolean) {\n this._validateError = coerceBooleanProperty(value);\n this.updateErrorClass();\n this.updateSuccessClass();\n }\n\n constructor(private renderer: Renderer2, private _elementRef: ElementRef) {}\n\n updateSuccessClass(): void {\n if (this.validate && this.validateSuccess) {\n this.renderer.addClass(this._elementRef.nativeElement, 'validate-success');\n } else {\n this.renderer.removeClass(this._elementRef.nativeElement, 'validate-success');\n }\n }\n\n updateErrorClass(): void {\n if (this.validate && this.validateError) {\n this.renderer.addClass(this._elementRef.nativeElement, 'validate-error');\n } else {\n this.renderer.removeClass(this._elementRef.nativeElement, 'validate-error');\n }\n }\n\n ngOnInit(): void {\n this.updateSuccessClass();\n this.updateErrorClass();\n }\n\n static ngAcceptInputType_mdbValidate: BooleanInput;\n static ngAcceptInputType_validate: BooleanInput;\n static ngAcceptInputType_validateSuccess: BooleanInput;\n static ngAcceptInputType_validateError: BooleanInput;\n}\n","import {\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n Component,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nlet defaultIdNumber = 0;\n\n@Component({\n selector: 'mdb-error',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbErrorDirective implements OnInit, OnDestroy {\n @Input() id = `mdb-error-${defaultIdNumber++}`;\n\n @HostBinding('class.error-message') errorMsg = true;\n @HostBinding('attr.id') messageId = this.id;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(private _elementRef: ElementRef, private renderer: Renderer2) {}\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n\n ngOnInit(): void {\n const textarea = this._getClosestEl(this._elementRef.nativeElement, 'textarea');\n\n if (textarea) {\n let height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n\n fromEvent(textarea, 'keyup')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import {\n Input,\n HostBinding,\n ElementRef,\n Renderer2,\n OnInit,\n OnDestroy,\n Component,\n} from '@angular/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nlet defaultIdNumber = 0;\n\n@Component({\n selector: 'mdb-success',\n template: '<ng-content></ng-content>',\n standalone: false,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbSuccessDirective implements OnInit, OnDestroy {\n @Input() id = `mdb-success-${defaultIdNumber++}`;\n\n @HostBinding('class.success-message') successMsg = true;\n @HostBinding('attr.id') messageId = this.id;\n\n readonly _destroy$: Subject<void> = new Subject<void>();\n\n constructor(private _elementRef: ElementRef, private renderer: Renderer2) {}\n\n private _getClosestEl(el: any, selector: string): HTMLElement | null {\n for (; el && el !== document; el = el.parentNode) {\n if (el.matches && el.matches(selector)) {\n return el;\n }\n }\n return null;\n }\n\n ngOnInit(): void {\n const textarea = this._getClosestEl(this._elementRef.nativeElement, 'textarea');\n\n if (textarea) {\n let height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n\n fromEvent(textarea, 'keyup')\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => {\n height = textarea.offsetHeight + 4 + 'px';\n this.renderer.setStyle(this._elementRef.nativeElement, 'top', height);\n });\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MdbErrorDirective } from './error.directive';\nimport { MdbSuccessDirective } from './success.directive';\nimport { MdbValidateDirective } from './validate.directive';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective],\n exports: [MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective],\n})\nexport class MdbValidationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["defaultIdNumber"],"mappings":"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"}

@@ -7,9 +7,9 @@ {

"license": "MIT",
"version": "9.1.0",
"version": "10.0.0",
"peerDependencies": {
"@angular/common": "^20.0.0",
"@angular/core": "^20.0.0",
"@angular/animations": "^20.0.0",
"@angular/forms": "^20.0.0",
"@angular/cdk": "^20.0.0"
"@angular/common": "^21.0.0",
"@angular/core": "^21.0.0",
"@angular/animations": "^21.0.0",
"@angular/forms": "^21.0.0",
"@angular/cdk": "^21.0.0"
},

@@ -28,63 +28,63 @@ "schematics": "./schematics/collection.json",

".": {
"types": "./index.d.ts",
"types": "./types/mdb-angular-ui-kit.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit.mjs"
},
"./accordion": {
"types": "./accordion/index.d.ts",
"types": "./types/mdb-angular-ui-kit-accordion.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-accordion.mjs"
},
"./carousel": {
"types": "./carousel/index.d.ts",
"types": "./types/mdb-angular-ui-kit-carousel.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-carousel.mjs"
},
"./checkbox": {
"types": "./checkbox/index.d.ts",
"types": "./types/mdb-angular-ui-kit-checkbox.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-checkbox.mjs"
},
"./collapse": {
"types": "./collapse/index.d.ts",
"types": "./types/mdb-angular-ui-kit-collapse.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-collapse.mjs"
},
"./dropdown": {
"types": "./dropdown/index.d.ts",
"types": "./types/mdb-angular-ui-kit-dropdown.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-dropdown.mjs"
},
"./forms": {
"types": "./forms/index.d.ts",
"types": "./types/mdb-angular-ui-kit-forms.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-forms.mjs"
},
"./modal": {
"types": "./modal/index.d.ts",
"types": "./types/mdb-angular-ui-kit-modal.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-modal.mjs"
},
"./popover": {
"types": "./popover/index.d.ts",
"types": "./types/mdb-angular-ui-kit-popover.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-popover.mjs"
},
"./radio": {
"types": "./radio/index.d.ts",
"types": "./types/mdb-angular-ui-kit-radio.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-radio.mjs"
},
"./range": {
"types": "./range/index.d.ts",
"types": "./types/mdb-angular-ui-kit-range.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-range.mjs"
},
"./ripple": {
"types": "./ripple/index.d.ts",
"types": "./types/mdb-angular-ui-kit-ripple.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-ripple.mjs"
},
"./scrollspy": {
"types": "./scrollspy/index.d.ts",
"types": "./types/mdb-angular-ui-kit-scrollspy.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-scrollspy.mjs"
},
"./tabs": {
"types": "./tabs/index.d.ts",
"types": "./types/mdb-angular-ui-kit-tabs.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-tabs.mjs"
},
"./tooltip": {
"types": "./tooltip/index.d.ts",
"types": "./types/mdb-angular-ui-kit-tooltip.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-tooltip.mjs"
},
"./validation": {
"types": "./validation/index.d.ts",
"types": "./types/mdb-angular-ui-kit-validation.d.ts",
"default": "./fesm2022/mdb-angular-ui-kit-validation.mjs"

@@ -94,4 +94,4 @@ }

"module": "fesm2022/mdb-angular-ui-kit.mjs",
"typings": "index.d.ts",
"typings": "types/mdb-angular-ui-kit.d.ts",
"sideEffects": false
}

@@ -1,2 +0,2 @@

Bootstrap 5 & Angular 20 UI KIT - 700+ components, MIT license, simple installation.
Bootstrap 5 & Angular 21 UI KIT - 700+ components, MIT license, simple installation.

@@ -20,3 +20,3 @@ MDB is a collection of free Bootstrap templates, themes, design tools & resources.

## About Material Design for Bootstrap 5 & Angular 20
## About Material Design for Bootstrap 5 & Angular 21

@@ -23,0 +23,0 @@ <p>Created by <a href="https://mdbootstrap.com"><img height="30" src="https://mdbootstrap.com/img/Marketing/general/logo/medium/mdb-angular-r.png"></a>

@@ -9,3 +9,3 @@ "use strict";

return (tree, context) => {
const angularDependencyVersion = '^20.0.0';
const angularDependencyVersion = '^21.0.0';
(0, package_1.addPackageToPackageJson)(tree, '@angular/cdk', angularDependencyVersion);

@@ -12,0 +12,0 @@ (0, package_1.addPackageToPackageJson)(tree, '@angular/forms', angularDependencyVersion);

import * as i0 from '@angular/core';
import { OnInit, TemplateRef, EventEmitter, ChangeDetectorRef, AfterContentInit, QueryList } from '@angular/core';
import * as i6 from 'mdb-angular-ui-kit/collapse';
import { MdbCollapseDirective } from 'mdb-angular-ui-kit/collapse';
import { Subject } from 'rxjs';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i5 from '@angular/common';
declare class MdbAccordionItemComponent implements OnInit {
private _cdRef;
_headerTemplate: TemplateRef<any>;
_bodyTemplate: TemplateRef<any>;
collapse: MdbCollapseDirective;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
header: string;
set collapsed(value: boolean);
id: string;
_headerId: string;
private _isInitialized;
private _shouldOpenOnInit;
itemShow: EventEmitter<MdbAccordionItemComponent>;
itemShown: EventEmitter<MdbAccordionItemComponent>;
itemHide: EventEmitter<MdbAccordionItemComponent>;
itemHidden: EventEmitter<MdbAccordionItemComponent>;
accordionItem: boolean;
accordionItemDisplayBlock: boolean;
ngOnInit(): void;
show$: Subject<MdbAccordionItemComponent>;
_collapsed: boolean;
_addCollapsedClass: boolean;
constructor(_cdRef: ChangeDetectorRef);
toggle(): void;
show(): void;
hide(): void;
onShow(): void;
onHide(): void;
onShown(): void;
onHidden(): void;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbAccordionItemComponent, "mdb-accordion-item", never, { "disabled": { "alias": "disabled"; "required": false; }; "header": { "alias": "header"; "required": false; }; "collapsed": { "alias": "collapsed"; "required": false; }; "id": { "alias": "id"; "required": false; }; }, { "itemShow": "itemShow"; "itemShown": "itemShown"; "itemHide": "itemHide"; "itemHidden": "itemHidden"; }, ["_headerTemplate", "_bodyTemplate"], never, false, never>;
}
declare class MdbAccordionComponent implements AfterContentInit {
items: QueryList<MdbAccordionItemComponent>;
get borderless(): boolean;
set borderless(value: boolean);
private _borderless;
get flush(): boolean;
set flush(value: boolean);
private _flush;
get multiple(): boolean;
set multiple(value: boolean);
private _multiple;
accordion: boolean;
get addBorderlessClass(): boolean;
get addFlushClass(): boolean;
constructor();
ngAfterContentInit(): void;
private _handleMultipleItems;
static ngAcceptInputType_borderless: BooleanInput;
static ngAcceptInputType_flush: BooleanInput;
static ngAcceptInputType_multiple: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbAccordionComponent, "mdb-accordion", never, { "borderless": { "alias": "borderless"; "required": false; }; "flush": { "alias": "flush"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; }, {}, ["items"], ["*"], false, never>;
}
declare class MdbAccordionItemHeaderDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemHeaderDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAccordionItemHeaderDirective, "[mdbAccordionItemHeader]", never, {}, {}, never, never, false, never>;
}
declare class MdbAccordionItemBodyDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionItemBodyDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAccordionItemBodyDirective, "[mdbAccordionItemBody]", never, {}, {}, never, never, false, never>;
}
declare class MdbAccordionModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAccordionModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbAccordionModule, [typeof MdbAccordionComponent, typeof MdbAccordionItemComponent, typeof MdbAccordionItemHeaderDirective, typeof MdbAccordionItemBodyDirective], [typeof i5.CommonModule, typeof i6.MdbCollapseModule], [typeof MdbAccordionComponent, typeof MdbAccordionItemComponent, typeof MdbAccordionItemHeaderDirective, typeof MdbAccordionItemBodyDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbAccordionModule>;
}
export { MdbAccordionComponent, MdbAccordionItemBodyDirective, MdbAccordionItemComponent, MdbAccordionItemHeaderDirective, MdbAccordionModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { ElementRef, AfterViewInit, OnDestroy, QueryList, EventEmitter, ChangeDetectorRef } from '@angular/core';
import * as i3 from '@angular/common';
declare class MdbCarouselItemComponent {
private _elementRef;
interval: number | null;
carouselItem: boolean;
active: boolean;
next: boolean;
prev: boolean;
start: boolean;
end: boolean;
get host(): HTMLElement;
constructor(_elementRef: ElementRef);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselItemComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbCarouselItemComponent, "mdb-carousel-item", never, { "interval": { "alias": "interval"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbCarouselComponent implements AfterViewInit, OnDestroy {
private _elementRef;
private _cdRef;
_items: QueryList<MdbCarouselItemComponent>;
get items(): MdbCarouselItemComponent[];
animation: 'slide' | 'fade';
get controls(): boolean;
set controls(value: boolean);
private _controls;
get dark(): boolean;
set dark(value: boolean);
private _dark;
get indicators(): boolean;
set indicators(value: boolean);
private _indicators;
get ride(): boolean;
set ride(value: boolean);
private _ride;
get interval(): number;
set interval(value: number);
private _interval;
keyboard: boolean;
pause: boolean;
wrap: boolean;
slide: EventEmitter<void>;
slideChange: EventEmitter<void>;
get activeSlide(): number;
set activeSlide(index: number);
private _activeSlide;
private _lastInterval;
private _isPlaying;
private _isSliding;
private readonly _destroy$;
onMouseEnter(): void;
onMouseLeave(): void;
display: boolean;
private _isBrowser;
constructor(_elementRef: ElementRef, _cdRef: ChangeDetectorRef, platformId: string);
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _setActiveSlide;
private _restartInterval;
private _resetInterval;
play(): void;
stop(): void;
to(index: number): void;
next(): void;
prev(): void;
private _slide;
private _animateSlides;
private _reflow;
private _emulateTransitionEnd;
private _getNewSlideIndex;
private _getNextSlideIndex;
private _getPrevSlideIndex;
static ngAcceptInputType_controls: BooleanInput;
static ngAcceptInputType_dark: BooleanInput;
static ngAcceptInputType_indicators: BooleanInput;
static ngAcceptInputType_ride: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbCarouselComponent, "mdb-carousel", never, { "animation": { "alias": "animation"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dark": { "alias": "dark"; "required": false; }; "indicators": { "alias": "indicators"; "required": false; }; "ride": { "alias": "ride"; "required": false; }; "interval": { "alias": "interval"; "required": false; }; "keyboard": { "alias": "keyboard"; "required": false; }; "pause": { "alias": "pause"; "required": false; }; "wrap": { "alias": "wrap"; "required": false; }; }, { "slide": "slide"; "slideChange": "slideChange"; }, ["_items"], ["*"], false, never>;
}
declare class MdbCarouselModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCarouselModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCarouselModule, [typeof MdbCarouselComponent, typeof MdbCarouselItemComponent], [typeof i3.CommonModule], [typeof MdbCarouselComponent, typeof MdbCarouselItemComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCarouselModule>;
}
export { MdbCarouselComponent, MdbCarouselItemComponent, MdbCarouselModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { EventEmitter } from '@angular/core';
import * as i2 from '@angular/common';
import * as i3 from '@angular/forms';
declare const MDB_CHECKBOX_VALUE_ACCESSOR: any;
declare class MdbCheckboxChange {
element: MdbCheckboxDirective;
checked: boolean;
}
declare class MdbCheckboxDirective {
get checked(): boolean;
set checked(value: boolean);
private _checked;
get value(): any;
set value(value: any);
private _value;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
checkboxChange: EventEmitter<MdbCheckboxChange>;
get isDisabled(): boolean;
get isChecked(): boolean;
onCheckboxClick(): void;
onBlur(): void;
constructor();
get changeEvent(): MdbCheckboxChange;
toggle(): void;
onCheckboxChange(): void;
onChange: (_: any) => void;
onTouched: () => void;
writeValue(value: any): void;
registerOnChange(fn: (_: any) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
static ngAcceptInputType_checked: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCheckboxDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbCheckboxDirective, "[mdbCheckbox]", never, { "checked": { "alias": "checked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "checkboxChange": "checkboxChange"; }, never, never, false, never>;
}
declare class MdbCheckboxModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCheckboxModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCheckboxModule, [typeof MdbCheckboxDirective], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof MdbCheckboxDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCheckboxModule>;
}
export { MDB_CHECKBOX_VALUE_ACCESSOR, MdbCheckboxChange, MdbCheckboxDirective, MdbCheckboxModule };
import * as i0 from '@angular/core';
import { ElementRef, Renderer2, EventEmitter } from '@angular/core';
declare class MdbCollapseDirective {
private _elementRef;
private _renderer;
constructor(_elementRef: ElementRef, _renderer: Renderer2);
collapseClass: boolean;
collapseShow: EventEmitter<MdbCollapseDirective>;
collapseShown: EventEmitter<MdbCollapseDirective>;
collapseHide: EventEmitter<MdbCollapseDirective>;
collapseHidden: EventEmitter<MdbCollapseDirective>;
set collapsed(collapsed: boolean);
get collapsed(): boolean;
private _collapsed;
get host(): HTMLElement;
private _isTransitioning;
show(): void;
hide(): void;
toggle(): void;
private _reflow;
private _emulateTransitionEnd;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCollapseDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbCollapseDirective, "[mdbCollapse]", ["mdbCollapse"], { "collapsed": { "alias": "collapsed"; "required": false; }; }, { "collapseShow": "collapseShow"; "collapseShown": "collapseShown"; "collapseHide": "collapseHide"; "collapseHidden": "collapseHidden"; }, never, never, false, never>;
}
declare class MdbCollapseModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbCollapseModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbCollapseModule, [typeof MdbCollapseDirective], never, [typeof MdbCollapseDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbCollapseModule>;
}
export { MdbCollapseDirective, MdbCollapseModule };
import * as i0 from '@angular/core';
import { ElementRef, Renderer2, EventEmitter, OnDestroy, AfterContentInit, TemplateRef, ViewContainerRef, ChangeDetectorRef } from '@angular/core';
import * as i5 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import { BreakpointObserver } from '@angular/cdk/layout';
import * as i4 from '@angular/common';
declare class MdbDropdownMenuDirective {
elementRef: ElementRef;
private _renderer;
constructor(elementRef: ElementRef, _renderer: Renderer2);
menuPositionClassChanged: EventEmitter<string>;
get menuPositionClass(): string;
set menuPositionClass(newClass: string);
private _menuPositionClass;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownMenuDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbDropdownMenuDirective, "[mdbDropdownMenu]", ["mdbDropdownMenu"], { "menuPositionClass": { "alias": "menuPositionClass"; "required": false; }; }, { "menuPositionClassChanged": "menuPositionClassChanged"; }, never, never, false, never>;
}
type MdbDropdownPositionClass = 'dropdown' | 'dropup' | 'dropstart' | 'dropend';
declare class MdbDropdownDirective implements OnDestroy, AfterContentInit {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
private _vcr;
private _breakpointObserver;
private _cdRef;
private _renderer;
_template: TemplateRef<any>;
_dropdownToggle: ElementRef;
_dropdownMenu: MdbDropdownMenuDirective;
animation: boolean;
closeOnEsc: boolean;
closeOnItemClick: boolean;
closeOnOutsideClick: boolean;
offset: number;
get positionClass(): MdbDropdownPositionClass;
set positionClass(newClass: MdbDropdownPositionClass);
private _positionClass;
withPush: boolean;
dropdownShow: EventEmitter<MdbDropdownDirective>;
dropdownShown: EventEmitter<MdbDropdownDirective>;
dropdownHide: EventEmitter<MdbDropdownDirective>;
dropdownHidden: EventEmitter<MdbDropdownDirective>;
private _overlayRef;
private _portal;
private _open;
private _isDropUp;
private _isDropStart;
private _isDropEnd;
private _isDropdownMenuEnd;
private _xPosition;
private _breakpoints;
private _mousedownTarget;
readonly _destroy$: Subject<void>;
get host(): HTMLElement;
_breakpointSubscription: any;
_animationState: string;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef, _vcr: ViewContainerRef, _breakpointObserver: BreakpointObserver, _cdRef: ChangeDetectorRef, _renderer: Renderer2);
ngAfterContentInit(): void;
ngOnDestroy(): void;
private _bindDropdownToggleClick;
private _listenToMenuPositionClassChange;
private _updateOverlay;
private _createOverlayConfig;
private _createOverlay;
private _createPositionStrategy;
private _getPosition;
private _listenToEscKeyup;
private _listenToMousedown;
private _listenToClick;
onAnimationEnd(event: AnimationEvent): void;
private _subscribeBrakpoints;
show(): void;
private _handleKeyboardNavigation;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbDropdownDirective, "[mdbDropdown]", never, { "animation": { "alias": "animation"; "required": false; }; "closeOnEsc": { "alias": "closeOnEsc"; "required": false; }; "closeOnItemClick": { "alias": "closeOnItemClick"; "required": false; }; "closeOnOutsideClick": { "alias": "closeOnOutsideClick"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "positionClass": { "alias": "positionClass"; "required": false; }; "withPush": { "alias": "withPush"; "required": false; }; }, { "dropdownShow": "dropdownShow"; "dropdownShown": "dropdownShown"; "dropdownHide": "dropdownHide"; "dropdownHidden": "dropdownHidden"; }, ["_dropdownToggle", "_dropdownMenu"], ["*", ".dropdown-toggle", ".dropdown-menu"], false, never>;
static ngAcceptInputType_animation: unknown;
static ngAcceptInputType_closeOnEsc: unknown;
static ngAcceptInputType_closeOnItemClick: unknown;
static ngAcceptInputType_closeOnOutsideClick: unknown;
static ngAcceptInputType_offset: unknown;
static ngAcceptInputType_withPush: unknown;
}
declare class MdbDropdownToggleDirective {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownToggleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbDropdownToggleDirective, "[mdbDropdownToggle]", ["mdbDropdownToggle"], {}, {}, never, never, false, never>;
}
declare class MdbDropdownModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbDropdownModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbDropdownModule, [typeof MdbDropdownDirective, typeof MdbDropdownToggleDirective, typeof MdbDropdownMenuDirective], [typeof i4.CommonModule, typeof i5.OverlayModule], [typeof MdbDropdownDirective, typeof MdbDropdownToggleDirective, typeof MdbDropdownMenuDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbDropdownModule>;
}
export { MdbDropdownDirective, MdbDropdownMenuDirective, MdbDropdownModule, MdbDropdownToggleDirective };
export type { MdbDropdownPositionClass };
import * as i0 from '@angular/core';
import { AfterContentInit, AfterContentChecked, OnDestroy, ElementRef, Renderer2, NgZone, DoCheck, AfterViewInit, DestroyRef } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { ContentObserver } from '@angular/cdk/observers';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i5 from '@angular/forms';
import { NgControl } from '@angular/forms';
import { AutofillMonitor } from '@angular/cdk/text-field';
import * as i4 from '@angular/common';
declare abstract class MdbAbstractFormControl<T> {
readonly stateChanges: Observable<void>;
readonly input: HTMLInputElement;
readonly labelActive: boolean;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbAbstractFormControl<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbAbstractFormControl<any>, never, never, {}, {}, never, never, true, never>;
}
declare class MdbFormControlComponent implements AfterContentInit, AfterContentChecked, OnDestroy {
private _renderer;
private _contentObserver;
private _elementRef;
private _ngZone;
_notchLeading: ElementRef;
_notchMiddle: ElementRef;
_formControl: MdbAbstractFormControl<any>;
_label: ElementRef;
outline: boolean;
display: boolean;
get input(): HTMLInputElement;
constructor(_renderer: Renderer2, _contentObserver: ContentObserver, _elementRef: ElementRef, _ngZone: NgZone);
readonly _destroy$: Subject<void>;
private _notchLeadingLength;
private _labelMarginLeft;
private _labelGapPadding;
private _labelScale;
private _recalculateGapWhenVisible;
private _previousLabel;
ngAfterContentInit(): void;
ngAfterContentChecked(): void;
ngOnDestroy(): void;
get hasLabel(): boolean;
private _getLabelWidth;
private _updateBorderGap;
private _updateLabelActiveState;
private _isLabelActive;
private _isHidden;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbFormControlComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbFormControlComponent, "mdb-form-control", never, {}, {}, ["_formControl", "_label"], ["*"], false, never>;
}
declare class MdbInputDirective implements MdbAbstractFormControl<any>, DoCheck, AfterViewInit, OnDestroy {
private _elementRef;
private _renderer;
private _ngControl;
private _autofill;
private _destroyRef;
constructor(_elementRef: ElementRef, _renderer: Renderer2, _ngControl: NgControl, _autofill: AutofillMonitor, _destroyRef: DestroyRef);
readonly stateChanges: Subject<void>;
private _focused;
private _autofilled;
private _color;
ngAfterViewInit(): void;
private _currentNativeValue;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get readonly(): boolean;
set readonly(value: boolean);
private _readonly;
get value(): string;
set value(value: string);
private _value;
private _updateTextColorForDateType;
_onFocus(): void;
_onBlur(): void;
ngDoCheck(): void;
get hasValue(): boolean;
get focused(): boolean;
get autofilled(): boolean;
get input(): HTMLInputElement;
get labelActive(): boolean;
private _hasTypeInterferingPlaceholder;
static ngAcceptInputType_disabled: BooleanInput;
static ngAcceptInputType_readonly: BooleanInput;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbInputDirective, [null, null, { optional: true; self: true; }, null, null]>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbInputDirective, "[mdbInput]", ["mdbInput"], { "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbLabelDirective {
constructor();
static ɵfac: i0.ɵɵFactoryDeclaration<MdbLabelDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbLabelDirective, "[mdbLabel]", ["mdbLabel"], {}, {}, never, never, false, never>;
}
declare class MdbFormsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbFormsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbFormsModule, [typeof MdbFormControlComponent, typeof MdbInputDirective, typeof MdbLabelDirective], [typeof i4.CommonModule, typeof i5.FormsModule], [typeof MdbFormControlComponent, typeof MdbInputDirective, typeof MdbLabelDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbFormsModule>;
}
export { MdbAbstractFormControl, MdbFormControlComponent, MdbFormsModule, MdbInputDirective, MdbLabelDirective };
export { };
import * as i0 from '@angular/core';
import { ViewContainerRef, OnInit, AfterViewInit, OnDestroy, ElementRef, Renderer2, NgZone, ComponentRef, EmbeddedViewRef, Injector, TemplateRef } from '@angular/core';
import * as i3 from '@angular/cdk/overlay';
import { OverlayRef, Overlay } from '@angular/cdk/overlay';
import { Subject, Observable } from 'rxjs';
import * as i4 from '@angular/cdk/portal';
import { CdkPortalOutlet, ComponentPortal, TemplatePortal, ComponentType } from '@angular/cdk/portal';
import { ConfigurableFocusTrapFactory } from '@angular/cdk/a11y';
import * as i2 from '@angular/common';
declare class MdbModalConfig<D = any> {
animation?: boolean;
backdrop?: boolean;
ignoreBackdropClick?: boolean;
keyboard?: boolean;
modalClass?: string;
containerClass?: string;
viewContainerRef?: ViewContainerRef;
data?: D | null;
nonInvasive?: boolean;
focusElementSelector?: string;
}
declare class MdbModalContainerComponent implements OnInit, AfterViewInit, OnDestroy {
private _document;
_elementRef: ElementRef;
private _renderer;
private _focusTrapFactory;
private _ngZone;
_portalOutlet: CdkPortalOutlet;
modalDialog: ElementRef;
modalContent: ElementRef;
readonly _destroy$: Subject<void>;
readonly backdropClick$: Subject<MouseEvent>;
_config: MdbModalConfig;
BACKDROP_TRANSITION: number;
MODAL_TRANSITION: number;
NON_INVASIVE_TRANSITION: number;
private _previouslyFocusedElement;
private _focusTrap;
modal: boolean;
get hasAnimation(): boolean;
onWindowResize(): void;
get host(): HTMLElement;
private _isScrollable;
private _isBottomRight;
private _isBottomLeft;
private _isTopRight;
private _isTopLeft;
private _isSideTopModal;
private _isSideBottomModal;
private _isSideModal;
private _isModalBottom;
private _modalContentRect;
private _modalContentComputedStyles;
private _modalDialogComputedStyles;
private _topOffset;
private _leftOffset;
private _rightOffset;
private _bottomOffset;
constructor(_document: any, _elementRef: ElementRef, _renderer: Renderer2, _focusTrapFactory: ConfigurableFocusTrapFactory, _ngZone: NgZone);
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
private _updateContainerClass;
private _onNonInvasiveModalShown;
private _setNonInvasiveStyles;
_onNonInvasiveModalHidden(): void;
private _resetNonInvasiveStyles;
private _removeNonInvasiveClass;
private _handleWindowResize;
_close(): void;
_restoreScrollbar(): void;
attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalContainerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbModalContainerComponent, "mdb-modal-container", never, {}, {}, never, never, false, never>;
}
declare class MdbModalRef<T> {
protected _overlayRef: OverlayRef;
private _container;
constructor(_overlayRef: OverlayRef, _container: MdbModalContainerComponent);
component: T;
private readonly onClose$;
readonly onClose: Observable<any>;
close(message?: any): void;
}
declare class MdbModalService {
private _document;
private _overlay;
private _injector;
constructor(_document: any, _overlay: Overlay, _injector: Injector);
open<T, D = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, config?: MdbModalConfig<D>): MdbModalRef<T>;
private _createOverlay;
private _getOverlayConfig;
private _createContainer;
private _createContent;
private _createInjector;
private _registerListeners;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MdbModalService>;
}
declare class MdbModalModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbModalModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbModalModule, [typeof MdbModalContainerComponent], [typeof i2.CommonModule, typeof i3.OverlayModule, typeof i4.PortalModule], [typeof MdbModalContainerComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbModalModule>;
}
export { MdbModalConfig, MdbModalContainerComponent, MdbModalModule, MdbModalRef, MdbModalService };
import * as i0 from '@angular/core';
import { OnInit, OnDestroy, TemplateRef, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
import * as i4 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import * as i3 from '@angular/common';
type MdbPopoverPosition = 'top' | 'right' | 'bottom' | 'left';
declare class MdbPopoverDirective implements OnInit, OnDestroy {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
animation: boolean;
delayHide: number;
delayShow: number;
mdbPopover: TemplateRef<any> | string;
mdbPopoverData: any;
mdbPopoverTitle: string;
offset: number;
placement: MdbPopoverPosition;
popoverDisabled: boolean;
trigger: string;
popoverShow: EventEmitter<MdbPopoverDirective>;
popoverShown: EventEmitter<MdbPopoverDirective>;
popoverHide: EventEmitter<MdbPopoverDirective>;
popoverHidden: EventEmitter<MdbPopoverDirective>;
private _overlayRef;
private _tooltipRef;
private _open;
private _showTimeout;
private _hideTimeout;
readonly _destroy$: Subject<void>;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef);
ngOnInit(): void;
ngOnDestroy(): void;
private _bindTriggerEvents;
private _createOverlayConfig;
private _createOverlay;
private _getPosition;
show(): void;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbPopoverDirective, "[mdbPopover]", ["mdbPopover"], { "animation": { "alias": "animation"; "required": false; }; "delayHide": { "alias": "delayHide"; "required": false; }; "delayShow": { "alias": "delayShow"; "required": false; }; "mdbPopover": { "alias": "mdbPopover"; "required": false; }; "mdbPopoverData": { "alias": "mdbPopoverData"; "required": false; }; "mdbPopoverTitle": { "alias": "mdbPopoverTitle"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "popoverDisabled": { "alias": "popoverDisabled"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; }, { "popoverShow": "popoverShow"; "popoverShown": "popoverShown"; "popoverHide": "popoverHide"; "popoverHidden": "popoverHidden"; }, never, never, false, never>;
static ngAcceptInputType_animation: unknown;
static ngAcceptInputType_delayHide: unknown;
static ngAcceptInputType_delayShow: unknown;
static ngAcceptInputType_offset: unknown;
static ngAcceptInputType_popoverDisabled: unknown;
}
declare class MdbPopoverComponent {
private _cdRef;
animation: boolean;
content: string | TemplateRef<any>;
context: any;
title: string;
get isContentTemplate(): boolean;
readonly _hidden: Subject<void>;
animationState: string;
constructor(_cdRef: ChangeDetectorRef);
markForCheck(): void;
onAnimationEnd(event: AnimationEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbPopoverComponent, "mdb-popover", never, { "animation": { "alias": "animation"; "required": false; }; "content": { "alias": "content"; "required": false; }; "context": { "alias": "context"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, false, never>;
static ngAcceptInputType_animation: unknown;
}
declare class MdbPopoverModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbPopoverModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbPopoverModule, [typeof MdbPopoverDirective, typeof MdbPopoverComponent], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof MdbPopoverDirective, typeof MdbPopoverComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbPopoverModule>;
}
export { MdbPopoverComponent, MdbPopoverDirective, MdbPopoverModule };
export type { MdbPopoverPosition };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { AfterContentInit, OnDestroy, QueryList } from '@angular/core';
import * as i4 from '@angular/forms';
import { ControlValueAccessor } from '@angular/forms';
import * as i3 from '@angular/common';
declare class MdbRadioDirective {
get name(): string;
set name(value: string);
private _name;
get checked(): boolean;
set checked(value: boolean);
private _checked;
get value(): any;
set value(value: any);
private _value;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get isDisabled(): boolean;
get isChecked(): boolean;
get nameAttr(): string;
constructor();
_updateName(value: string): void;
_updateChecked(value: boolean): void;
_updateDisabledState(value: boolean): void;
static ngAcceptInputType_checked: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRadioDirective, "[mdbRadio]", never, { "name": { "alias": "name"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
}
declare const MDB_RADIO_GROUP_VALUE_ACCESSOR: any;
declare class MdbRadioGroupDirective implements ControlValueAccessor, AfterContentInit, OnDestroy {
radios: QueryList<MdbRadioDirective>;
get value(): any;
set value(value: any);
private _value;
get name(): string;
set name(name: string);
private _name;
get disabled(): boolean;
set disabled(disabled: boolean);
private _disabled;
private _destroy$;
onChange: (_: any) => void;
onTouched: () => void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private _updateRadiosState;
private _updateNames;
private _updateChecked;
private _updateDisabled;
registerOnChange(fn: (value: any) => any): void;
registerOnTouched(fn: () => any): void;
setDisabledState(isDisabled: boolean): void;
writeValue(value: any): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioGroupDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRadioGroupDirective, "[mdbRadioGroup]", never, { "value": { "alias": "value"; "required": false; }; "name": { "alias": "name"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, ["radios"], never, false, never>;
}
declare class MdbRadioModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRadioModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRadioModule, [typeof MdbRadioDirective, typeof MdbRadioGroupDirective], [typeof i3.CommonModule, typeof i4.FormsModule], [typeof MdbRadioDirective, typeof MdbRadioGroupDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRadioModule>;
}
export { MDB_RADIO_GROUP_VALUE_ACCESSOR, MdbRadioDirective, MdbRadioGroupDirective, MdbRadioModule };
import * as i0 from '@angular/core';
import { AfterViewInit, ElementRef, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i3 from '@angular/forms';
import { ControlValueAccessor } from '@angular/forms';
import * as i2 from '@angular/common';
declare class MdbRangeComponent implements ControlValueAccessor, AfterViewInit {
private _cdRef;
input: ElementRef;
thumb: ElementRef;
thumbValue: ElementRef;
id: string;
required: boolean;
name: string;
value: string;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
label: string;
min: number;
max: number;
step: number;
get default(): boolean;
set default(value: boolean);
private _default;
defaultRangeCounterClass: string;
rangeValueChange: EventEmitter<any>;
visibility: boolean;
thumbStyle: any;
onchange(event: any): void;
onInput(): void;
constructor(_cdRef: ChangeDetectorRef);
ngAfterViewInit(): void;
focusRangeInput(): void;
blurRangeInput(): void;
thumbPositionUpdate(): void;
onChange: (_: any) => void;
onTouched: () => void;
writeValue(value: any): void;
registerOnChange(fn: (_: any) => void): void;
registerOnTouched(fn: () => void): void;
setDisabledState(isDisabled: boolean): void;
static ngAcceptInputType_default: BooleanInput;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRangeComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbRangeComponent, "mdb-range", never, { "id": { "alias": "id"; "required": false; }; "required": { "alias": "required"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "label": { "alias": "label"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "default": { "alias": "default"; "required": false; }; "defaultRangeCounterClass": { "alias": "defaultRangeCounterClass"; "required": false; }; }, { "rangeValueChange": "rangeValueChange"; }, never, never, false, never>;
}
declare class MdbRangeModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRangeModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRangeModule, [typeof MdbRangeComponent], [typeof i2.CommonModule, typeof i3.FormsModule], [typeof MdbRangeComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRangeModule>;
}
export { MdbRangeComponent, MdbRangeModule };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { ElementRef, Renderer2 } from '@angular/core';
declare class MdbRippleDirective {
private _elementRef;
private _renderer;
get rippleCentered(): boolean;
set rippleCentered(value: boolean);
private _rippleCentered;
rippleColor: string;
rippleDuration: string;
rippleRadius: number;
get rippleUnbound(): boolean;
set rippleUnbound(value: boolean);
private _rippleUnbound;
private _rippleInSpan;
private _rippleTimer;
constructor(_elementRef: ElementRef, _renderer: Renderer2);
get host(): HTMLElement;
ripple: boolean;
_createRipple(event: any): void;
private _createWrapperSpan;
_removeWrapperSpan(): void;
private _createHTMLRipple;
private _removeHTMLRipple;
_appendRipple(target: HTMLElement, parent: HTMLElement): void;
_toggleUnbound(target: HTMLElement): void;
_addColor(target: HTMLElement, parent: HTMLElement): void;
_removeOldColorClasses(target: HTMLElement): void;
static ngAcceptInputType_rippleCentered: BooleanInput;
static ngAcceptInputType_rippleUnbound: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRippleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbRippleDirective, "[mdbRipple]", ["mdbRipple"], { "rippleCentered": { "alias": "rippleCentered"; "required": false; }; "rippleColor": { "alias": "rippleColor"; "required": false; }; "rippleDuration": { "alias": "rippleDuration"; "required": false; }; "rippleRadius": { "alias": "rippleRadius"; "required": false; }; "rippleUnbound": { "alias": "rippleUnbound"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbRippleModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbRippleModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbRippleModule, [typeof MdbRippleDirective], never, [typeof MdbRippleDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbRippleModule>;
}
export { MdbRippleDirective, MdbRippleModule };
import * as i0 from '@angular/core';
import { OnInit, ChangeDetectorRef, QueryList, AfterContentInit, OnDestroy, EventEmitter, ElementRef, Renderer2, AfterViewInit, NgZone } from '@angular/core';
import { Observable, Subject, Subscription } from 'rxjs';
declare class MdbScrollspyLinkDirective implements OnInit {
private cdRef;
private document;
get scrollIntoView(): boolean;
set scrollIntoView(value: boolean);
private _scrollIntoView;
get section(): HTMLElement;
set section(value: HTMLElement);
private _section;
private _id;
constructor(cdRef: ChangeDetectorRef, document: any);
get id(): string;
set id(newId: string);
scrollspyLink: boolean;
active: boolean;
onClick(): void;
detectChanges(): void;
assignSectionToId(): void;
ngOnInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyLinkDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyLinkDirective, "[mdbScrollspyLink]", never, { "scrollIntoView": { "alias": "scrollIntoView"; "required": false; }; "id": { "alias": "mdbScrollspyLink"; "required": false; }; }, {}, never, never, false, never>;
}
interface MdbScrollspy {
id: string;
links: QueryList<MdbScrollspyLinkDirective>;
}
declare class MdbScrollspyService {
scrollSpys: MdbScrollspy[];
private activeSubject;
active$: Observable<any>;
addScrollspy(scrollSpy: MdbScrollspy): void;
removeScrollspy(scrollSpyId: string): void;
updateActiveState(scrollSpyId: string, activeLinkId: string): void;
removeActiveState(scrollSpyId: string, activeLinkId: string): void;
setActiveLink(activeLink: MdbScrollspyLinkDirective | any): void;
removeActiveLinks(scrollSpyId: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyService, never>;
static ɵprov: i0.ɵɵInjectableDeclaration<MdbScrollspyService>;
}
declare class MdbScrollspyDirective implements OnInit, AfterContentInit, OnDestroy {
private scrollSpyService;
private _elementRef;
private _renderer;
links: QueryList<MdbScrollspyLinkDirective>;
readonly _destroy$: Subject<void>;
get id(): string;
set id(newId: string);
private _id;
get collapsible(): boolean;
set collapsible(value: boolean);
private _collapsible;
private _isBrowser;
activeLinkChange: EventEmitter<any>;
activeSub: Subscription;
constructor(scrollSpyService: MdbScrollspyService, _elementRef: ElementRef, _renderer: Renderer2, platformId: Object);
get host(): HTMLElement;
collapsibleElementHeight: number;
ngOnInit(): void;
ngAfterContentInit(): void;
ngOnDestroy(): void;
private styleCollapsibleElement;
private getAllSiblings;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbScrollspyDirective, "[mdbScrollspy]", never, { "id": { "alias": "mdbScrollspy"; "required": false; }; "collapsible": { "alias": "collapsible"; "required": false; }; }, { "activeLinkChange": "activeLinkChange"; }, ["links"], ["*"], false, never>;
}
declare class MdbScrollspyElementDirective implements OnInit, AfterViewInit {
private _elementRef;
private renderer;
private ngZone;
private scrollSpyService;
private _document;
private id;
get host(): HTMLElement;
container: HTMLElement;
get scrollSpyId(): string;
set scrollSpyId(newId: string);
private _scrollSpyId;
offset: number;
constructor(_elementRef: ElementRef, renderer: Renderer2, ngZone: NgZone, scrollSpyService: MdbScrollspyService, _document: any);
isElementInViewport(): boolean;
updateActiveState(scrollSpyId: string, id: string): void;
onScroll(): void;
listenToScroll(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
private _getClosestEl;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyElementDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyElementDirective, "[mdbScrollspyElement]", never, { "container": { "alias": "container"; "required": false; }; "scrollSpyId": { "alias": "mdbScrollspyElement"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbScrollspyWindowDirective implements OnInit, AfterViewInit {
private document;
private el;
private renderer;
private ngZone;
private scrollSpyService;
private id;
get scrollSpyId(): string;
set scrollSpyId(newId: string);
private _scrollSpyId;
offset: number;
constructor(document: any, el: ElementRef, renderer: Renderer2, ngZone: NgZone, scrollSpyService: MdbScrollspyService);
isElementInViewport(): boolean;
updateActiveState(scrollSpyId: string, id: string): void;
onScroll(): void;
listenToScroll(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyWindowDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbScrollspyWindowDirective, "[mdbScrollspyWindow]", never, { "scrollSpyId": { "alias": "mdbScrollspyWindow"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbScrollspyModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbScrollspyModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbScrollspyModule, [typeof MdbScrollspyDirective, typeof MdbScrollspyLinkDirective, typeof MdbScrollspyElementDirective, typeof MdbScrollspyWindowDirective], never, [typeof MdbScrollspyDirective, typeof MdbScrollspyLinkDirective, typeof MdbScrollspyElementDirective, typeof MdbScrollspyWindowDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbScrollspyModule>;
}
export { MdbScrollspyDirective, MdbScrollspyElementDirective, MdbScrollspyLinkDirective, MdbScrollspyModule, MdbScrollspyService, MdbScrollspyWindowDirective };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i7 from '@angular/cdk/portal';
import { TemplatePortal, CdkPortalOutlet } from '@angular/cdk/portal';
import * as i0 from '@angular/core';
import { OnInit, TemplateRef, ViewContainerRef, AfterContentInit, OnDestroy, QueryList, EventEmitter } from '@angular/core';
import { Subject } from 'rxjs';
import * as i6 from '@angular/common';
declare class MdbTabComponent implements OnInit {
private _vcr;
_lazyContent: TemplateRef<any>;
_titleContent: TemplateRef<any>;
_content: TemplateRef<any>;
readonly activeStateChange$: Subject<boolean>;
get disabled(): boolean;
set disabled(value: boolean);
private _disabled;
get fade(): boolean;
set fade(value: boolean);
private _fade;
title: string;
get content(): TemplatePortal | null;
get titleContent(): TemplatePortal | null;
get shouldAttach(): boolean;
private _contentPortal;
private _titlePortal;
get active(): boolean;
set active(value: boolean);
private _active;
get show(): boolean;
set show(value: boolean);
private _show;
constructor(_vcr: ViewContainerRef);
ngOnInit(): void;
private _createContentPortal;
private _createTitlePortal;
static ngAcceptInputType_disabled: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTabComponent, "mdb-tab", never, { "disabled": { "alias": "disabled"; "required": false; }; "fade": { "alias": "fade"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, ["_lazyContent", "_titleContent"], ["*"], false, never>;
}
declare class MdbTabContentDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabContentDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabContentDirective, "[mdbTabContent]", never, {}, {}, never, never, false, never>;
}
declare class MdbTabTitleDirective {
template: TemplateRef<any>;
constructor(template: TemplateRef<any>);
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabTitleDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabTitleDirective, "[mdbTabTitle]", never, {}, {}, never, never, false, never>;
}
declare class MdbTabChange {
index: number;
tab: MdbTabComponent;
}
declare class MdbTabsComponent implements AfterContentInit, OnDestroy {
tabs: QueryList<MdbTabComponent>;
readonly _destroy$: Subject<void>;
get fill(): boolean;
set fill(value: boolean);
private _fill;
get justified(): boolean;
set justified(value: boolean);
private _justified;
get pills(): boolean;
set pills(value: boolean);
private _pills;
get vertical(): boolean;
set vertical(value: boolean);
private _vertical;
navColumnClass: string;
contentColumnClass: string;
get navColClass(): string;
get contentColClass(): string;
private _selectedIndex;
activeTabChange: EventEmitter<MdbTabChange>;
constructor();
ngAfterContentInit(): void;
setActiveTab(index: number): void;
private _getTabChangeEvent;
private _getClosestTabIndex;
ngOnDestroy(): void;
static ngAcceptInputType_fill: BooleanInput;
static ngAcceptInputType_justified: BooleanInput;
static ngAcceptInputType_pills: BooleanInput;
static ngAcceptInputType_vertical: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabsComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTabsComponent, "mdb-tabs", never, { "fill": { "alias": "fill"; "required": false; }; "justified": { "alias": "justified"; "required": false; }; "pills": { "alias": "pills"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "navColumnClass": { "alias": "navColumnClass"; "required": false; }; "contentColumnClass": { "alias": "contentColumnClass"; "required": false; }; }, { "activeTabChange": "activeTabChange"; }, ["tabs"], never, false, never>;
}
declare class MdbTabPortalOutlet extends CdkPortalOutlet implements OnInit, OnDestroy {
readonly _destroy$: Subject<void>;
tab: MdbTabComponent;
constructor(_vcr: ViewContainerRef, _document: any);
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabPortalOutlet, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTabPortalOutlet, "[mdbTabPortalOutlet]", never, { "tab": { "alias": "tab"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbTabsModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTabsModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbTabsModule, [typeof MdbTabComponent, typeof MdbTabContentDirective, typeof MdbTabTitleDirective, typeof MdbTabPortalOutlet, typeof MdbTabsComponent], [typeof i6.CommonModule, typeof i7.PortalModule], [typeof MdbTabComponent, typeof MdbTabContentDirective, typeof MdbTabTitleDirective, typeof MdbTabPortalOutlet, typeof MdbTabsComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbTabsModule>;
}
export { MdbTabChange, MdbTabComponent, MdbTabContentDirective, MdbTabPortalOutlet, MdbTabTitleDirective, MdbTabsComponent, MdbTabsModule };
import * as i0 from '@angular/core';
import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef } from '@angular/core';
import * as i4 from '@angular/cdk/overlay';
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
import { Subject } from 'rxjs';
import { AnimationEvent } from '@angular/animations';
import * as i3 from '@angular/common';
type MdbTooltipPosition = 'top' | 'right' | 'bottom' | 'left';
declare class MdbTooltipDirective implements OnInit, OnDestroy {
private _overlay;
private _overlayPositionBuilder;
private _elementRef;
mdbTooltip: string;
tooltipDisabled: boolean;
placement: MdbTooltipPosition;
html: boolean;
animation: boolean;
trigger: string;
delayShow: number;
delayHide: number;
offset: number;
tooltipShow: EventEmitter<MdbTooltipDirective>;
tooltipShown: EventEmitter<MdbTooltipDirective>;
tooltipHide: EventEmitter<MdbTooltipDirective>;
tooltipHidden: EventEmitter<MdbTooltipDirective>;
private _overlayRef;
private _tooltipRef;
private _open;
private _showTimeout;
private _hideTimeout;
readonly _destroy$: Subject<void>;
constructor(_overlay: Overlay, _overlayPositionBuilder: OverlayPositionBuilder, _elementRef: ElementRef);
ngOnInit(): void;
ngOnDestroy(): void;
private _bindTriggerEvents;
private _createOverlayConfig;
private _createOverlay;
private _getPosition;
show(): void;
hide(): void;
toggle(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbTooltipDirective, "[mdbTooltip]", ["mdbTooltip"], { "mdbTooltip": { "alias": "mdbTooltip"; "required": false; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "html": { "alias": "html"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "trigger": { "alias": "trigger"; "required": false; }; "delayShow": { "alias": "delayShow"; "required": false; }; "delayHide": { "alias": "delayHide"; "required": false; }; "offset": { "alias": "offset"; "required": false; }; }, { "tooltipShow": "tooltipShow"; "tooltipShown": "tooltipShown"; "tooltipHide": "tooltipHide"; "tooltipHidden": "tooltipHidden"; }, never, never, false, never>;
}
declare class MdbTooltipComponent {
private _cdRef;
title: string;
html: boolean;
animation: boolean;
tooltip: boolean;
readonly _hidden: Subject<void>;
animationState: string;
constructor(_cdRef: ChangeDetectorRef);
markForCheck(): void;
onAnimationEnd(event: AnimationEvent): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbTooltipComponent, "mdb-tooltip", never, { "title": { "alias": "title"; "required": false; }; "html": { "alias": "html"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbTooltipModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbTooltipModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbTooltipModule, [typeof MdbTooltipDirective, typeof MdbTooltipComponent], [typeof i3.CommonModule, typeof i4.OverlayModule], [typeof MdbTooltipDirective, typeof MdbTooltipComponent]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbTooltipModule>;
}
export { MdbTooltipComponent, MdbTooltipDirective, MdbTooltipModule };
export type { MdbTooltipPosition };
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from '@angular/core';
import { OnInit, Renderer2, ElementRef, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import * as i4 from '@angular/common';
declare class MdbValidateDirective implements OnInit {
private renderer;
private _elementRef;
private _validate;
private _validateSuccess;
private _validateError;
get mdbValidate(): boolean;
set mdbValidate(value: boolean);
private _mdbValidate;
get validate(): boolean;
set validate(value: boolean);
get validateSuccess(): boolean;
set validateSuccess(value: boolean);
get validateError(): boolean;
set validateError(value: boolean);
constructor(renderer: Renderer2, _elementRef: ElementRef);
updateSuccessClass(): void;
updateErrorClass(): void;
ngOnInit(): void;
static ngAcceptInputType_mdbValidate: BooleanInput;
static ngAcceptInputType_validate: BooleanInput;
static ngAcceptInputType_validateSuccess: BooleanInput;
static ngAcceptInputType_validateError: BooleanInput;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbValidateDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<MdbValidateDirective, "[mdbValidate]", never, { "mdbValidate": { "alias": "mdbValidate"; "required": false; }; "validate": { "alias": "validate"; "required": false; }; "validateSuccess": { "alias": "validateSuccess"; "required": false; }; "validateError": { "alias": "validateError"; "required": false; }; }, {}, never, never, false, never>;
}
declare class MdbErrorDirective implements OnInit, OnDestroy {
private _elementRef;
private renderer;
id: string;
errorMsg: boolean;
messageId: string;
readonly _destroy$: Subject<void>;
constructor(_elementRef: ElementRef, renderer: Renderer2);
private _getClosestEl;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbErrorDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbErrorDirective, "mdb-error", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbSuccessDirective implements OnInit, OnDestroy {
private _elementRef;
private renderer;
id: string;
successMsg: boolean;
messageId: string;
readonly _destroy$: Subject<void>;
constructor(_elementRef: ElementRef, renderer: Renderer2);
private _getClosestEl;
ngOnInit(): void;
ngOnDestroy(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<MdbSuccessDirective, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<MdbSuccessDirective, "mdb-success", never, { "id": { "alias": "id"; "required": false; }; }, {}, never, ["*"], false, never>;
}
declare class MdbValidationModule {
static ɵfac: i0.ɵɵFactoryDeclaration<MdbValidationModule, never>;
static ɵmod: i0.ɵɵNgModuleDeclaration<MdbValidationModule, [typeof MdbErrorDirective, typeof MdbSuccessDirective, typeof MdbValidateDirective], [typeof i4.CommonModule], [typeof MdbErrorDirective, typeof MdbSuccessDirective, typeof MdbValidateDirective]>;
static ɵinj: i0.ɵɵInjectorDeclaration<MdbValidationModule>;
}
export { MdbErrorDirective, MdbSuccessDirective, MdbValidateDirective, MdbValidationModule };