UNPKG

angular-bootstrap-md

Version:

Bootstrap 4 & Angular 15 UI KIT - 700+ components, MIT license, simple installation.

1 lines 621 kB
{"version":3,"file":"angular-bootstrap-md.mjs","sources":["../../../projects/angular-bootstrap-md/src/lib/free/badge/mdb-badge.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/badge/mdb-badge.component.html","../../../projects/angular-bootstrap-md/src/lib/free/badge/badge.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/breadcrumbs/mdb-breadcrumb.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/breadcrumbs/mdb-breadcrumb.component.html","../../../projects/angular-bootstrap-md/src/lib/free/breadcrumbs/mdb-breadcrumb-item.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/breadcrumbs/mdb-breadcrumb-item.component.html","../../../projects/angular-bootstrap-md/src/lib/free/breadcrumbs/breadcrumb.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/buttons/buttons.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/buttons/checkbox.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/buttons/radio.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/buttons/fixed-caption.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/buttons/buttons.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-footer.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-footer.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-title.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-title.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-text.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-text.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-body.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-body.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-image.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-image.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-header.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/cards/mdb-card-header.component.html","../../../projects/angular-bootstrap-md/src/lib/free/cards/cards.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/facade/browser.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/ng2-bootstrap-config.ts","../../../projects/angular-bootstrap-md/src/lib/free/carousel/slide.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/keyboard-navigation.ts","../../../projects/angular-bootstrap-md/src/lib/free/carousel/carousel.config.ts","../../../projects/angular-bootstrap-md/src/lib/free/carousel/carousel.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/carousel/carousel.component.html","../../../projects/angular-bootstrap-md/src/lib/free/carousel/carousel.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/charts/chart.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/charts/chart.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/checkbox/checkbox.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/checkbox/checkbox.component.html","../../../projects/angular-bootstrap-md/src/lib/free/checkbox/checkbox.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/collapse/collapse.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/collapse/collapse.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown.state.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/trigger.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/triggers.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/facade/browser.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/theme-provider.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/linked-list.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/decorators.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/utils.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utilities/warn-once.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/component-loader/content-ref.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/component-loader/component-loader.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getStyleComputedProperty.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getParentNode.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getScrollParent.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isBrowser.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isIE.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOffsetParent.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isOffsetContainer.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getRoot.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/findCommonOffsetParent.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getBordersSize.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getWindowSizes.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getScroll.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getClientRect.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getBoundingClientRect.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/includeScroll.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOffsetRectRelativeToArbitraryNode.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isFixed.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getFixedPositionOffsetParent.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getBoundaries.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/computeAutoPlacement.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOffsets.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOppositePlacement.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOppositeVariation.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getOuterSizes.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getReferenceOffsets.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/getTargetOffsets.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isModifierEnabled.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/isNumeric.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/setStyles.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/utils/setAllStyles.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/modifiers/arrow.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/modifiers/flip.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/modifiers/initData.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/modifiers/preventOverflow.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/modifiers/shift.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/ng-positioning.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/positioning/positioning.service.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/component-loader/component-loader.factory.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown.config.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown-menu.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown-toggle.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/dropdown/dropdown.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/decorators.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/linked-list.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/trigger.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/utils/utils.class.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/icon.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/icon.component.html","../../../projects/angular-bootstrap-md/src/lib/free/icons/directives/fal.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/directives/far.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/directives/fas.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/directives/fab.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/directives/fad.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/icons/icon.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/input-utilities/error.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/input-utilities/success.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/input-utilities/validate.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/input-utilities/input-utilities.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/inputs/equal-validator.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/inputs/mdb-input.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/inputs/input.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/inputs/inputs.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modal.options.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modalBackdrop.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modal.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modalContainer.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modalContainer.component.html","../../../projects/angular-bootstrap-md/src/lib/free/modals/modal.service.ts","../../../projects/angular-bootstrap-md/src/lib/free/modals/modal.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/navbar.service.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/links.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/navbar.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/navbar.component.html","../../../projects/angular-bootstrap-md/src/lib/free/navbars/logo.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/navlinks.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/navbars/navbar.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/popover/popover.config.ts","../../../projects/angular-bootstrap-md/src/lib/free/popover/popover-container.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/popover/popover.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/popover/popover.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/directives/mdb-table.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/directives/mdb-table-sort.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/directives/mdb-table-scroll.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/directives/mdb-table-row.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/services/mdb-table.service.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/components/mdb-table-pagination.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/tables/components/mdb-table-pagination.component.html","../../../projects/angular-bootstrap-md/src/lib/free/tables/tables.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/tooltip/tooltip.service.ts","../../../projects/angular-bootstrap-md/src/lib/free/tooltip/tooltip.component.ts","../../../projects/angular-bootstrap-md/src/lib/free/tooltip/tooltip.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/tooltip/tooltip.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/waves/waves-effect.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/waves/waves.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/sticky-header/sticky-header.directive.ts","../../../projects/angular-bootstrap-md/src/lib/free/sticky-header/sticky-header.module.ts","../../../projects/angular-bootstrap-md/src/lib/free/mdb-free.module.ts","../../../projects/angular-bootstrap-md/src/public_api.ts","../../../projects/angular-bootstrap-md/src/angular-bootstrap-md.ts"],"sourcesContent":["import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n ElementRef,\n HostBinding,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'mdb-badge',\n templateUrl: './mdb-badge.component.html',\n styleUrls: ['./badge-module.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MDBBadgeComponent implements OnInit {\n @Input()\n @HostBinding('class.badge-default')\n get default(): boolean {\n return this._default;\n }\n set default(value: BooleanInput) {\n this._default = coerceBooleanProperty(value);\n }\n private _default = false;\n\n @Input()\n @HostBinding('class.badge-primary')\n get primary(): boolean {\n return this._primary;\n }\n set primary(value: BooleanInput) {\n this._primary = coerceBooleanProperty(value);\n }\n private _primary = false;\n\n @Input()\n @HostBinding('class.badge-secondary')\n get secondary(): boolean {\n return this._secondary;\n }\n set secondary(value: BooleanInput) {\n this._secondary = coerceBooleanProperty(value);\n }\n private _secondary = false;\n\n @Input()\n @HostBinding('class.badge-success')\n get success(): boolean {\n return this._success;\n }\n set success(value: BooleanInput) {\n this._success = coerceBooleanProperty(value);\n }\n private _success = false;\n\n @Input()\n @HostBinding('class.badge-info')\n get info(): boolean {\n return this._info;\n }\n set info(value: BooleanInput) {\n this._info = coerceBooleanProperty(value);\n }\n private _info = false;\n\n @Input()\n @HostBinding('class.badge-warning')\n get warning(): boolean {\n return this._warning;\n }\n set warning(value: BooleanInput) {\n this._warning = coerceBooleanProperty(value);\n }\n private _warning = false;\n\n @Input()\n @HostBinding('class.badge-danger')\n get danger(): boolean {\n return this._danger;\n }\n set danger(value: BooleanInput) {\n this._danger = coerceBooleanProperty(value);\n }\n private _danger = false;\n\n @Input()\n @HostBinding('class.badge-pill')\n get pill(): boolean {\n return this._pill;\n }\n set pill(value: BooleanInput) {\n this._pill = coerceBooleanProperty(value);\n }\n private _pill = false;\n\n @Input() classInside: string;\n\n @Input() color: string;\n @Input() class: string;\n\n constructor(private _el: ElementRef, private _renderer: Renderer2) {}\n\n ngOnInit() {\n this._renderer.addClass(this._el.nativeElement, 'badge');\n if (this.color) {\n const customClassArr = this.color.split(' ');\n\n customClassArr.forEach((el: string) => {\n this._renderer.addClass(this._el.nativeElement, el);\n });\n }\n }\n}\n","<span class=\"{{class}} {{classInside}}\">\n <ng-content></ng-content>\n</span>\n","import { MDBBadgeComponent } from './mdb-badge.component';\nimport { NgModule } from '@angular/core';\n\n\n@NgModule({\n declarations: [MDBBadgeComponent],\n exports: [MDBBadgeComponent]\n})\n\nexport class BadgeModule {\n\n}\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mdb-breadcrumb',\n templateUrl: './mdb-breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbBreadcrumbComponent {\n @Input() customClass: string;\n @Input() textTransform: string;\n}\n","<ol class=\"breadcrumb list-inline list-unstyled {{customClass}} text-{{textTransform}}\">\n <ng-content></ng-content>\n</ol>\n","import { Component, ElementRef, Input, OnInit, Renderer2, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'mdb-breadcrumb-item',\n templateUrl: './mdb-breadcrumb-item.component.html',\n styleUrls: ['./_breadcrumbs.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class MdbBreadcrumbItemComponent implements OnInit {\n @Input() fontWeight: string;\n\n constructor(private _el: ElementRef, private _renderer: Renderer2) {}\n\n ngOnInit() {\n this._renderer.addClass(this._el.nativeElement, 'breadcrumb-item');\n }\n}\n","<li class=\"list-inline-item breadcrumb-item font-weight-{{fontWeight}}\">\n <ng-content></ng-content>\n</li>\n","import { CommonModule } from '@angular/common';\nimport { MdbBreadcrumbComponent } from './mdb-breadcrumb.component';\nimport { MdbBreadcrumbItemComponent } from './mdb-breadcrumb-item.component';\nimport { NgModule } from '@angular/core';\n\n\n@NgModule({\n imports: [CommonModule],\n declarations: [MdbBreadcrumbComponent, MdbBreadcrumbItemComponent],\n exports: [MdbBreadcrumbComponent, MdbBreadcrumbItemComponent]\n})\n\nexport class BreadcrumbModule {\n\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewEncapsulation,\n SimpleChanges,\n OnChanges,\n} from '@angular/core';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mdbBtn]',\n template: '<ng-content></ng-content>',\n styleUrls: ['./buttons-module.scss'],\n encapsulation: ViewEncapsulation.None,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport class MdbBtnDirective implements OnInit, OnChanges {\n @Input() color = '';\n\n @Input()\n get rounded(): boolean {\n return this._rounded;\n }\n set rounded(value: BooleanInput) {\n this._rounded = coerceBooleanProperty(value);\n }\n private _rounded = false;\n\n @Input() gradient = '';\n\n @Input()\n get outline(): boolean {\n return this._outline;\n }\n set outline(value: BooleanInput) {\n this._outline = coerceBooleanProperty(value);\n }\n private _outline = false;\n\n @Input()\n get flat(): boolean {\n return this._flat;\n }\n set flat(value: BooleanInput) {\n this._flat = coerceBooleanProperty(value);\n }\n private _flat = false;\n\n @Input() size = '';\n\n @Input()\n get block(): boolean {\n return this._block;\n }\n set block(value: BooleanInput) {\n this._block = coerceBooleanProperty(value);\n }\n private _block = false;\n\n @Input()\n get floating(): boolean {\n return this._floating;\n }\n set floating(value: BooleanInput) {\n this._floating = coerceBooleanProperty(value);\n }\n private _floating = false;\n\n public simpleChange: string;\n public simpleChangeValue: string;\n\n private colorClass: string;\n private gradientClass: string;\n private outlineClass: string;\n private flatClass: string;\n private roundedClass: string;\n private sizeClass: string;\n private blockClass: string;\n private floatingClass: string;\n\n constructor(private el: ElementRef, private renderer: Renderer2) {}\n\n ngOnInit() {\n this.colorClass = 'btn-' + this.color;\n this.gradientClass = this.gradient + '-gradient';\n this.outlineClass = 'btn-outline-' + this.color;\n this.flatClass = 'btn-flat';\n this.roundedClass = 'btn-rounded';\n this.sizeClass = 'btn-' + this.size;\n this.blockClass = 'btn-block';\n this.floatingClass = 'btn-floating';\n this.renderer.addClass(this.el.nativeElement, 'btn');\n\n this.initClasses();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes.color) {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n if (this.color && this.color !== '') {\n this.colorClass = 'btn-' + this.color;\n this.renderer.addClass(this.el.nativeElement, this.colorClass);\n }\n\n if (this.outline) {\n const currentOutlineClass = this.outlineClass;\n this.outlineClass = 'btn-outline-' + this.color;\n this.renderer.removeClass(this.el.nativeElement, currentOutlineClass);\n this.renderer.addClass(this.el.nativeElement, this.outlineClass);\n }\n }\n if (changes.gradient) {\n this.renderer.removeClass(this.el.nativeElement, this.gradientClass);\n if (this.gradient !== '') {\n this.gradientClass = this.gradient + '-gradient';\n this.renderer.addClass(this.el.nativeElement, this.gradientClass);\n }\n }\n if (changes.outline) {\n if (!this.outline) {\n this.renderer.removeClass(this.el.nativeElement, this.outlineClass);\n }\n if (this.outline) {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n this.renderer.addClass(this.el.nativeElement, this.outlineClass);\n }\n this.outlineClass = 'btn-outline-' + this.color;\n }\n if (changes.flat) {\n this.renderer.removeClass(this.el.nativeElement, this.flatClass);\n if (this.flat) {\n if (this.color) {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n }\n if (this.gradient) {\n this.renderer.removeClass(this.el.nativeElement, this.gradientClass);\n }\n if (this.outline) {\n this.renderer.removeClass(this.el.nativeElement, this.outlineClass);\n }\n if (this.rounded) {\n this.renderer.removeClass(this.el.nativeElement, this.roundedClass);\n }\n this.renderer.addClass(this.el.nativeElement, this.flatClass);\n }\n }\n\n if (changes.rounded) {\n this.renderer.removeClass(this.el.nativeElement, this.roundedClass);\n if (this.rounded) {\n this.roundedClass = 'btn-rounded';\n this.renderer.addClass(this.el.nativeElement, this.roundedClass);\n }\n }\n if (changes.size) {\n this.renderer.removeClass(this.el.nativeElement, this.sizeClass);\n if (this.size !== '') {\n this.sizeClass = 'btn-' + this.size;\n this.renderer.addClass(this.el.nativeElement, this.sizeClass);\n }\n }\n if (changes.block) {\n this.renderer.removeClass(this.el.nativeElement, this.blockClass);\n if (this.block) {\n this.blockClass = 'btn-block';\n this.renderer.addClass(this.el.nativeElement, this.blockClass);\n }\n }\n if (changes.floating) {\n if (!this.floating) {\n this.renderer.removeClass(this.el.nativeElement, this.floatingClass);\n this.renderer.addClass(this.el.nativeElement, 'btn');\n }\n\n if (this.floating) {\n this.floatingClass = 'btn-floating';\n this.renderer.addClass(this.el.nativeElement, this.floatingClass);\n this.renderer.removeClass(this.el.nativeElement, 'btn');\n }\n }\n }\n\n initClasses() {\n if (this.color !== '') {\n this.renderer.addClass(this.el.nativeElement, this.colorClass);\n }\n\n if (this.rounded) {\n this.renderer.addClass(this.el.nativeElement, this.roundedClass);\n }\n\n if (this.gradient) {\n if (this.color !== '') {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n }\n this.renderer.addClass(this.el.nativeElement, this.gradientClass);\n }\n\n if (this.outline) {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n this.renderer.addClass(this.el.nativeElement, this.outlineClass);\n }\n\n if (this.flat) {\n if (this.color) {\n this.renderer.removeClass(this.el.nativeElement, this.colorClass);\n }\n if (this.gradient) {\n this.renderer.removeClass(this.el.nativeElement, this.gradientClass);\n }\n if (this.outline) {\n this.renderer.removeClass(this.el.nativeElement, this.outlineClass);\n }\n if (this.rounded) {\n this.renderer.removeClass(this.el.nativeElement, this.roundedClass);\n }\n this.renderer.addClass(this.el.nativeElement, this.flatClass);\n }\n\n if (this.size) {\n this.renderer.addClass(this.el.nativeElement, this.sizeClass);\n }\n\n if (this.block) {\n this.renderer.addClass(this.el.nativeElement, this.blockClass);\n }\n\n if (this.floating) {\n this.renderer.addClass(this.el.nativeElement, this.floatingClass);\n this.renderer.removeClass(this.el.nativeElement, 'btn');\n }\n }\n}\n","import { Directive, HostBinding, HostListener, Input, OnInit, forwardRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const CHECKBOX_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: forwardRef(() => ButtonCheckboxDirective),\n multi: true,\n};\n\n/**\n * Add checkbox functionality to any element\n */\n@Directive({ selector: '[mdbCheckbox]', providers: [CHECKBOX_CONTROL_VALUE_ACCESSOR] })\nexport class ButtonCheckboxDirective implements ControlValueAccessor, OnInit {\n /** Truthy value, will be set to ngModel */\n @Input() public btnCheckboxTrue: any = true;\n /** Falsy value, will be set to ngModel */\n @Input() public btnCheckboxFalse: any = false;\n\n @HostBinding('class.active') public state = false;\n\n protected value: any;\n protected isDisabled: boolean;\n\n protected onChange: any = Function.prototype;\n protected onTouched: any = Function.prototype;\n\n // view -> model\n @HostListener('click')\n public onClick(): void {\n if (this.isDisabled) {\n return;\n }\n\n this.toggle(!this.state);\n this.onChange(this.value);\n }\n\n public ngOnInit(): any {\n this.toggle(this.trueValue === this.value);\n }\n\n protected get trueValue(): boolean {\n return typeof this.btnCheckboxTrue !== 'undefined' ? this.btnCheckboxTrue : true;\n }\n\n protected get falseValue(): boolean {\n return typeof this.btnCheckboxFalse !== 'undefined' ? this.btnCheckboxFalse : false;\n }\n\n public toggle(state: boolean): void {\n this.state = state;\n this.value = this.state ? this.trueValue : this.falseValue;\n }\n\n // ControlValueAccessor\n // model -> view\n public writeValue(value: any): void {\n this.state = this.trueValue === value;\n this.value = value ? this.trueValue : this.falseValue;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n }\n\n public registerOnChange(fn: (_: any) => {}): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: () => {}): void {\n this.onTouched = fn;\n }\n}\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n HostBinding,\n forwardRef,\n HostListener,\n Input,\n OnInit,\n Renderer2,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n\nexport const RADIO_CONTROL_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n useExisting: forwardRef(() => ButtonRadioDirective),\n multi: true,\n};\n\n/**\n * Create radio buttons or groups of buttons.\n * A value of a selected button is bound to a variable specified via ngModel.\n */\n@Directive({ selector: '[mdbRadio]', providers: [RADIO_CONTROL_VALUE_ACCESSOR] })\nexport class ButtonRadioDirective implements ControlValueAccessor, OnInit {\n public onChange: any = Function.prototype;\n public onTouched: any = Function.prototype;\n\n radioElementsArray: Array<any> = [];\n /** Radio button value, will be set to `ngModel` */\n @Input() public mdbRadio: any;\n /** If `true` — radio button can be unchecked */\n @Input()\n get uncheckable(): boolean {\n return this._uncheckable;\n }\n set uncheckable(value: BooleanInput) {\n this._uncheckable = coerceBooleanProperty(value);\n }\n private _uncheckable = false;\n /** Current value of radio component or group */\n @Input() public value: any;\n\n @HostBinding('class.disabled')\n @Input()\n disabled = false;\n\n @HostBinding('class.active')\n public get isActive(): boolean {\n return this.mdbRadio === this.value;\n }\n\n @HostListener('click', ['$event'])\n public onClick(event?: any): void {\n if (this.disabled) {\n return;\n }\n try {\n this.el.nativeElement.parentElement.childNodes.forEach((element: any) => {\n this.radioElementsArray.push(element);\n });\n this.radioElementsArray.forEach((element) => {\n this.renderer.removeClass(element, 'active');\n });\n this.renderer.addClass(event.target, 'active');\n } catch (error) {}\n if (this.el.nativeElement.attributes.disabled) {\n return;\n }\n\n if (this.uncheckable && this.mdbRadio === this.value) {\n this.value = undefined;\n } else {\n this.value = this.mdbRadio;\n }\n\n this.onTouched();\n this.onChange(this.value);\n }\n\n public constructor(protected el: ElementRef, private renderer: Renderer2) {}\n\n public ngOnInit(): void {\n this.uncheckable = typeof this.uncheckable !== 'undefined';\n }\n\n public onBlur(): void {\n this.onTouched();\n }\n\n // ControlValueAccessor\n // model -> view\n public writeValue(value: any): void {\n this.value = value;\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n}\n","import { Directive, ElementRef, Input, OnInit, Renderer2 } from '@angular/core';\n\n@Directive({ selector: '[mdbFixedCaption]' })\nexport class FixedButtonCaptionDirective implements OnInit {\n @Input('mdbFixedCaption') caption: string;\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('collapseButton') collapseButtonActivator: any;\n private paragraphEl: any;\n constructor(private renderer: Renderer2, private el: ElementRef) {}\n\n ngOnInit() {\n this.createCaptionElement();\n }\n\n createCaptionElement() {\n const paragraph = this.renderer.createElement('p');\n const text = this.renderer.createText(this.caption);\n this.renderer.appendChild(paragraph, text);\n this.renderer.appendChild(this.el.nativeElement, paragraph);\n this.paragraphEl = paragraph;\n }\n\n showCaption() {\n this.renderer.addClass(this.paragraphEl, 'fixed-button-caption');\n this.renderer.setStyle(this.paragraphEl, 'position', 'absolute');\n this.renderer.setStyle(this.paragraphEl, 'right', `60px`);\n this.renderer.setStyle(this.paragraphEl, 'top', '10px');\n this.renderer.setStyle(this.el.nativeElement, 'overflow', 'visible');\n }\n}\n","import { MdbBtnDirective } from './buttons.directive';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ButtonCheckboxDirective } from './checkbox.directive';\nimport { ButtonRadioDirective } from './radio.directive';\nimport { FixedButtonCaptionDirective } from './fixed-caption.directive';\n\n@NgModule({\n declarations: [\n ButtonCheckboxDirective,\n ButtonRadioDirective,\n MdbBtnDirective,\n FixedButtonCaptionDirective,\n ],\n exports: [\n ButtonCheckboxDirective,\n ButtonRadioDirective,\n MdbBtnDirective,\n FixedButtonCaptionDirective,\n ],\n})\nexport class ButtonsModule {\n public static forRoot(): ModuleWithProviders<ButtonsModule> {\n return { ngModule: ButtonsModule, providers: [] };\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\n@Component({\n selector: 'mdb-card-footer',\n templateUrl: './mdb-card-footer.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbCardFooterComponent implements OnInit {\n constructor(private _el: ElementRef, private _r: Renderer2) {}\n\n ngOnInit() {\n this._r.addClass(this._el.nativeElement, 'card-footer');\n }\n}\n","<ng-content></ng-content>\n","import { Component, OnInit, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mdb-card-title',\n templateUrl: './mdb-card-title.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbCardTitleComponent implements OnInit {\n constructor(private _el: ElementRef, private _r: Renderer2) {}\n\n ngOnInit() {\n this._r.addClass(this._el.nativeElement, 'card-title');\n }\n}\n","<ng-content></ng-content>","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mdb-card-text',\n templateUrl: './mdb-card-text.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbCardTextComponent {\n @Input() class: string;\n}\n","<p class=\"card-text {{class}} \">\n <ng-content></ng-content>\n</p>","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Component,\n Input,\n ElementRef,\n Renderer2,\n OnInit,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\n@Component({\n selector: 'mdb-card-body',\n templateUrl: './mdb-card-body.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbCardBodyComponent implements OnInit {\n @Input() class: string;\n\n @Input() set cascade(value: BooleanInput) {\n const cascade = coerceBooleanProperty(value);\n\n if (cascade) {\n this._r.addClass(this._el.nativeElement, 'card-body-cascade');\n }\n }\n\n constructor(private _el: ElementRef, private _r: Renderer2) {}\n\n ngOnInit() {\n this._r.addClass(this._el.nativeElement, 'card-body');\n if (this.class) {\n this.class.split(' ').forEach((element: any) => {\n this._r.addClass(this._el.nativeElement, element);\n });\n }\n }\n}\n","<ng-content></ng-content>\n","import { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnInit,\n Renderer2,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\n@Component({\n selector: 'mdb-card',\n templateUrl: './mdb-card.component.html',\n styleUrls: ['./cards-module.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MdbCardComponent implements OnInit {\n @Input() class: string;\n\n @Input()\n get cascade(): boolean {\n return this._cascade;\n }\n set cascade(value: BooleanInput) {\n this._cascade = coerceBooleanProperty(value);\n }\n private _cascade = false;\n\n @Input()\n get wider(): boolean {\n return this._wider;\n }\n set wider(value: BooleanInput) {\n this._wider = coerceBooleanProperty(value);\n }\n private _wider = false;\n\n @Input() imageBackground: string;\n\n @ViewChild('card', { static: true }) card: ElementRef;\n\n @Input() set narrower(value: BooleanInput) {\n const narrower = coerceBooleanProperty(value);\n\n if (narrower) {\n this._r.addClass(this._el.nativeElement, 'narrower');\n } else if (!narrower && this._el.nativeElement.classList.contains('narrower')) {\n this._r.removeClass(this._el.nativeElement, 'narrower');\n }\n }\n\n @Input() set reverse(value: BooleanInput) {\n const reverse = coerceBooleanProperty(value);\n\n if (reverse) {\n this._r.addClass(this._el.nativeElement, 'reverse');\n } else if (!reverse && this._el.nativeElement.classList.contains('reserse')) {\n this._r.removeClass(this._el.nativeElement, 'reverse');\n }\n }\n\n @Input() set dark(value: BooleanInput) {\n const dark = coerceBooleanProperty(value);\n\n if (dark) {\n this._r.addClass(this._el.nativeElement, 'card-dark');\n } else if (!dark && this._el.nativeElement.classList.contains('card-dark')) {\n this._r.removeClass(this._el.nativeElement, 'card-dark');\n }\n }\n\n @Input() set bgColor(color: string) {\n if (color) {\n this._r.addClass(this._el.nativeElement, color);\n }\n }\n\n @Input() set borderColor(color: string) {\n if (color) {\n this._r.addClass(this._el.nativeElement, color);\n }\n }\n\n constructor(private _el: ElementRef, private _r: Renderer2) {}\n\n ngOnInit() {\n this._r.addClass(this._el.nativeElement, 'card');\n if (this.cascade) {\n this._r.addClass(this._el.nativeElement, 'card-cascade');\n }\n if (this.wider) {\n this._r.addClass(this._el.nativeElement, 'wider');\n }\n if (this.narrower) {\n this._r.addClass(this._el.nativeElement, 'narrower');\n }\n if (this.class) {\n this.class.split(' ').forEach((element: any) => {\n this._r.addClass(this._el.nativeElement, element);\n });\n }\n }\n}\n","<ng-content></ng-content>\n","import { Component, Input, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mdb-card-img',\n templateUrl: './mdb-card-image.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MdbCardImageComponent {\n @Input() src: string;\n @Input() alt: string;\n}\n","<img class=\"img-fluid\" [src]=\"src\" [alt]=\"alt\">","import { Component, Input, OnInit, ElementRef, Renderer2, ChangeDetectionStrategy } from '@angular/core';\n\n@Component({\n selector: 'mdb-card-header',\n templateUrl: './mdb-card-header.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class MdbCardHeaderComponent implements OnInit {\n @Input() class: string;\n constructor(private _el: ElementRef, private _r: Renderer2) { }\n\n ngOnInit() {\n this._r.addClass(this._el.nativeElement, 'card-header');\n if (this.class) {\n this.class.split(' ').forEach((element: any) => {\n this._r.addClass(this._el.nativeElement, element);\n });\n }\n }\n}\n","<ng-content></ng-content>","import { MdbCardFooterComponent } from './mdb-card-footer.component';\nimport { MdbCardTitleComponent } from './mdb-card-title.component';\nimport { MdbCardTextComponent } from './mdb-card-text.component';\nimport { MdbCardBodyComponent } from './mdb-card-body.component';\nimport { MdbCardComponent } from './mdb-card.component';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { MdbCardImageComponent } from './mdb-card-image.component';\nimport { MdbCardHeaderComponent } from './mdb-card-header.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [\n MdbCardComponent,\n MdbCardBodyComponent,\n MdbCardImageComponent,\n MdbCardTextComponent,\n MdbCardTitleComponent,\n MdbCardFooterComponent,\n MdbCardHeaderComponent,\n ],\n exports: [\n MdbCardComponent,\n MdbCardBodyComponent,\n MdbCardImageComponent,\n MdbCardTextComponent,\n MdbCardTitleComponent,\n MdbCardFooterComponent,\n MdbCardHeaderComponent,\n ],\n})\nexport class CardsModule {\n public static forRoot(): ModuleWithProviders<CardsModule> {\n return { ngModule: CardsModule, providers: [] };\n }\n}\n","/* eslint-disable */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\nvar win = typeof window !== 'undefined' && window || <any>{};\n\nexport {win as window};\nexport var document = win.document;\nexport var location = win.location;\nexport var gc = win['gc'] ? () => win['gc']() : (): any => null;\nexport var performance = win['performance'] ? win['performance'] : null;\nexport const Event = win['Event'];\nexport const MouseEvent = win['MouseEvent'];\nexport const KeyboardEvent = win['KeyboardEvent'];\nexport const EventTarget = win['EventTarget'];\nexport const History = win['History'];\nexport const Location = win['Location'];\nexport const EventListener = win['EventListener'];\nexport const navigator = win['navigator'];\n","import { window } from './facade/browser';\n\nexport function isBs3(): boolean {\n return window.__theme === 'bs4';\n}\n","import { Component, HostBinding, Input, ElementRef } from '@angular/core';\n\n@Component({\n selector: 'mdb-slide, mdb-carousel-item',\n template: `\n <ng-content></ng-content>\n `,\n})\nexport class SlideComponent {\n /** Is current slide active */\n @HostBinding('class.active')\n @Input()\n public active: boolean;\n @HostBinding('class.animated') animated = false;\n @HostBinding('class.carousel-item-next') directionNext = false;\n @HostBinding('class.carousel-item-left') directionLeft = false;\n @HostBinding('class.carousel-item-prev') directionPrev = false;\n @HostBinding('class.carousel-item-right') directionRight = false;\n /** Wraps element by appropriate CSS classes */\n @HostBinding('class.carousel-item')\n\n /** Link to Parent(container-collection) component */\n public el: ElementRef | any = null;\n\n public constructor(el: ElementRef) {\n this.el = el;\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const MAC_ENTER = 3;\nexport const BACKSPACE = 8;\nexport const TAB = 9;\nexport const NUM_CENTER = 12;\nexport const ENTER = 13;\nexport const SHIFT = 16;\nexport const CONTROL = 17;\nexport const ALT = 18;\nexport const PAUSE = 19;\nexport const CAPS_LOCK = 20;\nexport const ESCAPE = 27;\nexport const SPACE = 32;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const END = 35;\nexport const HOME = 36;\nexport const LEFT_ARROW = 37;\nexport const UP_ARROW = 38;\nexport const RIGHT_ARROW = 39;\nexport const DOWN_ARROW = 40;\nexport const PLUS_SIGN = 43;\nexport const PRINT_SCREEN = 44;\nexport const INSERT = 45;\nexport const DELETE = 46;\nexport const ZERO = 48;\nexport const ONE = 49;\nexport const TWO = 50;\nexport const THREE = 51;\nexport const FOUR = 52;\nexport const FIVE = 53;\nexport const SIX = 54;\nexport const SEVEN = 55;\nexport const EIGHT = 56;\nexport const NINE = 57;\nexport const FF_SEMICOLON = 59; // Firefox (Gecko) fires this for semicolon instead of 186\nexport const FF_EQUALS = 61; // Firefox (Gecko) fires this for equals instead of 187\nexport const QUESTION_MARK = 63;\nexport const AT_SIGN = 64;\nexport const A = 65;\nexport const B = 66;\nexport const C = 67;\nexport const D = 68;\nexport const E = 69;\nexport const F = 70;\nexport const G = 71;\nexport const H = 72;\nexport const I = 73;\nexport const J = 74;\nexport const K = 75;\nexport const L = 76;\nexport const M = 77;\nexport const N = 78;\nexport const O = 79;\nexport const P = 80;\nexport const Q = 81;\nexport const R = 82;\nexport const S = 83;\nexport const T = 84;\nexport const U = 85;\nexport const V = 86;\nexport const W = 87;\nexport const X = 88;\nexport const Y = 89;\nexport const Z = 90;\nexport const META = 91; // WIN_KEY_LEFT\nexport const MAC_WK_CMD_LEFT = 91;\nexport const MAC_WK_CMD_RIGHT = 93;\nexport const CONTEXT_MENU = 93;\nexport const NUMPAD_ZERO = 96;\nexport const NUMPAD_ONE = 97;\nexport const NUMPAD_TWO = 98;\nexport const NUMPAD_THREE = 99;\nexport const NUMPAD_FOUR = 100;\nexport const NUMPAD_FIVE = 101;\nexport const NUMPAD_SIX = 102;\nexport const NUMPAD_SEVEN = 103;\nexport const NUMPAD_EIGHT = 104;\nexport const NUMPAD_NINE = 105;\nexport const NUMPAD_MULTIPLY = 106;\nexport const NUMPAD_PLUS = 107;\nexport const NUMPAD_MINUS = 109;\nexport const NUMPAD_PERIOD = 110;\nexport const NUMPAD_DIVIDE = 111;\nexport const F1 = 112;\nexport const F2 = 113;\nexport const F3 = 114;\nexport const F4 = 115;\nexport const F5 = 116;\nexport const F6 = 117;\nexport const F7 = 118;\nexport const F8 = 119;\nexport const F9 = 120;\nexport const F10 = 121;\nexport const F11 = 122;\nexport const F12 = 123;\nexport const NUM_LOCK = 144;\nexport const SCROLL_LOCK = 145;\nexport const FIRST_MEDIA = 166;\nexport const FF_MINUS = 173;\nexport const MUTE = 173; // Firefox (Gecko) fires 181 for MUTE\nexport const VOLUME_DOWN = 174; // Firefox (Gecko) fires 182 for VOLUME_DOWN\nexport const VOLUME_UP = 175; // Firefox (Gecko) fires 183 for VOLUME_UP\nexport const FF_MUTE = 181;\nexport const FF_VOLUME_DOWN = 182;\nexport const LAST_MEDIA = 183;\nexport const FF_VOLUME_UP = 183;\nexport const SEMICOLON = 186; // Firefox (Gecko) fires 59 for SEMICOLON\nexport const EQUALS = 187; // Firefox (Gecko) fires 61 for EQUALS\nexport const COMMA = 188;\nexport const DASH = 189; // Firefox (Gecko) fires 173 for DASH/MINUS\nexport const SLASH = 191;\nexport const APOSTROPHE = 192;\nexport const TILDE = 192;\nexport const OPEN_SQUARE_BRACKET = 219;\nexport const BACKSLASH = 220;\nexport const CLOSE_SQUARE_BRACKET = 221;\nexport const SINGLE_QUOTE = 222;\nexport const MAC_META = 224;\n","import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class CarouselConfig {\n /** Default interval of auto changing of slides */\n public interval = 5000;\n\n /** Is loop of auto changing of slides can be paused */\n public noPause = false;\n\n /** Is slides can wrap from the last to the first slide */\n public noWrap = false;\n\n public keyboard = false;\n}\n","import {\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n QueryList,\n Renderer2,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n} from '@angular/core';\n\nimport { isBs3 } from '../utils/ng2-bootstrap-config';\nimport { SlideComponent } from './slide.component';\nimport { CarouselConfig } from './carousel.config';\nimport { isPlatformBrowser } from '@angular/common';\nimport { LEFT_ARROW, RIGHT_ARROW } from '../utils/keyboard-navigation';\nimport { takeUntil } from 'rxjs/operators';\nimport { Subject } from 'rxjs';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\n\nexport enum Direction {\n UNKNOWN,\n NEXT,\n PREV,\n}\n\n/**\n * Base element to create carousel\n */\n@Component({\n selector: 'mdb-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel-module.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CarouselComponent implements OnDestroy, AfterViewInit {\n SWIPE_ACTION = { LEFT: 'swipeleft', RIGHT: 'swiperight' };\n\n @ContentChildren(SlideComponent) _slidesList: QueryList<SlideComponent>;\n public get slides(): SlideComponent[] {\n return this._slidesList.toArray();\n }\n\n private _destroy$: Subject<void> = new Subject();\n\n protected currentInterval: any;\n protected isPlaying: boolean;\n protected destroyed = false;\n\n protected animationEnd = true;\n protected _currentActiveSlide: number;\n protected carouselIndicators: any;\n\n isBrowser: any = false;\n\n @Input()\n get noWrap(): boolean {\n return this._noWrap;\n }\n set noWrap(value: BooleanInput) {\n this._noWrap = coerceBooleanProperty(value);\n }\n private _noWrap = false;\n\n @Input()\n get noPause(): boolean {\n return this._noPause;\n }\n set noPause(value: BooleanInput) {\n this._noPause = coerceBooleanProperty(value);\n }\n private _noPause = false;\n\n @Input()\n get isControls(): boolean {\n return this._isControls;\n }\n set isControls(value: BooleanInput) {\n this._isControls = coerceBooleanProperty(value);\n }\n private _isControls = true;\n\n @Input()\n get keyboard(): boolean {\n return this._keyboard;\n }\n set keyboard(value: BooleanInput) {\n this._keyboard = coerceBooleanProperty(value);\n }\n private _keyboard = false;\n\n @Input() public class: string = '';\n @Input() public type: string = '';\n @Input() public animation: string = '';\n\n @Input()\n get activeSlideIndex(): number {\n return this._activeSlideIndex;\n }\n set activeSlideIndex(value: NumberInput) {\n this._activeSlideIndex = coerceNumberProperty(value);\n }\n private _activeSlideIndex: number;\n\n @Input()\n get allowSwipe(): boolean {\n return this._allowSwipe;\n }\n set allowSwipe(value: BooleanInput) {\n this._allowSwipe = coerceBooleanProperty(value);\n }\n private _allowSwipe = true;\n\n @Output() public activeSlideChange: EventE