ngx-bootstrap 11.0.1 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/esm2022/accordion-group.component.mjs +6 -6
- package/accordion/esm2022/accordion.component.mjs +5 -5
- package/accordion/esm2022/accordion.config.mjs +3 -3
- package/accordion/esm2022/accordion.module.mjs +4 -4
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs +16 -16
- package/accordion/fesm2022/ngx-bootstrap-accordion.mjs.map +1 -1
- package/alert/esm2022/alert.component.mjs +5 -5
- package/alert/esm2022/alert.config.mjs +3 -3
- package/alert/esm2022/alert.module.mjs +4 -4
- package/alert/fesm2022/ngx-bootstrap-alert.mjs +12 -12
- package/alert/fesm2022/ngx-bootstrap-alert.mjs.map +1 -1
- package/buttons/esm2022/button-checkbox.directive.mjs +3 -3
- package/buttons/esm2022/button-radio-group.directive.mjs +5 -5
- package/buttons/esm2022/button-radio.directive.mjs +6 -6
- package/buttons/esm2022/buttons.module.mjs +4 -4
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs +16 -16
- package/buttons/fesm2022/ngx-bootstrap-buttons.mjs.map +1 -1
- package/carousel/esm2022/carousel.component.mjs +6 -6
- package/carousel/esm2022/carousel.config.mjs +3 -3
- package/carousel/esm2022/carousel.module.mjs +4 -4
- package/carousel/esm2022/slide.component.mjs +5 -5
- package/carousel/esm2022/utils.mjs +3 -3
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs +18 -18
- package/carousel/fesm2022/ngx-bootstrap-carousel.mjs.map +1 -1
- package/carousel/utils.d.ts +1 -1
- package/collapse/esm2022/collapse.directive.mjs +5 -5
- package/collapse/esm2022/collapse.module.mjs +4 -4
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +8 -8
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/component-loader/esm2022/component-loader.factory.mjs +5 -5
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +5 -5
- package/datepicker/bs-datepicker-input.directive.d.ts +3 -4
- package/datepicker/esm2022/bs-datepicker-inline.component.mjs +5 -5
- package/datepicker/esm2022/bs-datepicker-inline.config.mjs +3 -3
- package/datepicker/esm2022/bs-datepicker-input.directive.mjs +42 -40
- package/datepicker/esm2022/bs-datepicker.component.mjs +5 -5
- package/datepicker/esm2022/bs-datepicker.config.mjs +3 -3
- package/datepicker/esm2022/bs-datepicker.module.mjs +4 -4
- package/datepicker/esm2022/bs-daterangepicker-inline.component.mjs +5 -5
- package/datepicker/esm2022/bs-daterangepicker-inline.config.mjs +3 -3
- package/datepicker/esm2022/bs-daterangepicker-input.directive.mjs +5 -5
- package/datepicker/esm2022/bs-daterangepicker.component.mjs +5 -5
- package/datepicker/esm2022/bs-daterangepicker.config.mjs +3 -3
- package/datepicker/esm2022/bs-locale.service.mjs +3 -3
- package/datepicker/esm2022/reducer/bs-datepicker.actions.mjs +3 -3
- package/datepicker/esm2022/reducer/bs-datepicker.effects.mjs +4 -4
- package/datepicker/esm2022/reducer/bs-datepicker.store.mjs +4 -4
- package/datepicker/esm2022/themes/bs/bs-calendar-layout.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-current-date-view.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-custom-dates-view.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-datepicker-container.component.mjs +17 -13
- package/datepicker/esm2022/themes/bs/bs-datepicker-day-decorator.directive.mjs +5 -5
- package/datepicker/esm2022/themes/bs/bs-datepicker-inline-container.component.mjs +5 -5
- package/datepicker/esm2022/themes/bs/bs-datepicker-navigation-view.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-container.component.mjs +24 -23
- package/datepicker/esm2022/themes/bs/bs-daterangepicker-inline-container.component.mjs +5 -5
- package/datepicker/esm2022/themes/bs/bs-days-calendar-view.component.mjs +5 -5
- package/datepicker/esm2022/themes/bs/bs-months-calendar-view.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-timepicker-view.component.mjs +3 -3
- package/datepicker/esm2022/themes/bs/bs-years-calendar-view.component.mjs +3 -3
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +170 -163
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/dropdown/bs-dropdown.directive.d.ts +1 -1
- package/dropdown/esm2022/bs-dropdown-container.component.mjs +4 -4
- package/dropdown/esm2022/bs-dropdown-menu.directive.mjs +4 -4
- package/dropdown/esm2022/bs-dropdown-toggle.directive.mjs +5 -5
- package/dropdown/esm2022/bs-dropdown.config.mjs +3 -3
- package/dropdown/esm2022/bs-dropdown.directive.mjs +14 -12
- package/dropdown/esm2022/bs-dropdown.module.mjs +4 -4
- package/dropdown/esm2022/bs-dropdown.state.mjs +4 -4
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +36 -34
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/focus-trap/esm2022/focus-trap-manager.mjs +3 -3
- package/focus-trap/esm2022/focus-trap.mjs +11 -11
- package/focus-trap/esm2022/focus-trap.module.mjs +4 -4
- package/focus-trap/esm2022/interactivity-checker.mjs +4 -4
- package/focus-trap/esm2022/platform.mjs +5 -5
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs +26 -26
- package/focus-trap/fesm2022/ngx-bootstrap-focus-trap.mjs.map +1 -1
- package/modal/esm2022/bs-modal-ref.service.mjs +3 -3
- package/modal/esm2022/bs-modal.service.mjs +5 -5
- package/modal/esm2022/modal-backdrop.component.mjs +4 -4
- package/modal/esm2022/modal-container.component.mjs +5 -5
- package/modal/esm2022/modal-options.class.mjs +3 -3
- package/modal/esm2022/modal.directive.mjs +6 -6
- package/modal/esm2022/modal.module.mjs +4 -4
- package/modal/fesm2022/ngx-bootstrap-modal.mjs +28 -28
- package/modal/fesm2022/ngx-bootstrap-modal.mjs.map +1 -1
- package/package.json +51 -99
- package/pagination/esm2022/pager.component.mjs +5 -5
- package/pagination/esm2022/pagination.component.mjs +5 -5
- package/pagination/esm2022/pagination.config.mjs +3 -3
- package/pagination/esm2022/pagination.module.mjs +4 -4
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs +15 -15
- package/pagination/fesm2022/ngx-bootstrap-pagination.mjs.map +1 -1
- package/popover/esm2022/popover-container.component.mjs +5 -6
- package/popover/esm2022/popover.config.mjs +3 -3
- package/popover/esm2022/popover.directive.mjs +7 -12
- package/popover/esm2022/popover.module.mjs +4 -4
- package/popover/fesm2022/ngx-bootstrap-popover.mjs +17 -23
- package/popover/fesm2022/ngx-bootstrap-popover.mjs.map +1 -1
- package/popover/popover-container.component.d.ts +3 -3
- package/popover/popover.directive.d.ts +3 -3
- package/positioning/esm2022/models/index.mjs +1 -1
- package/positioning/esm2022/positioning.service.mjs +5 -5
- package/positioning/esm2022/public_api.mjs +1 -1
- package/positioning/esm2022/utils/checkMargin.mjs +1 -1
- package/positioning/esm2022/utils/getOffsetRectRelativeToArbitraryNode.mjs +1 -3
- package/positioning/esm2022/utils/getWindowSizes.mjs +4 -6
- package/positioning/esm2022/utils/isNumeric.mjs +1 -2
- package/positioning/esm2022/utils/updateContainerClass.mjs +4 -2
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs +50 -52
- package/positioning/fesm2022/ngx-bootstrap-positioning.mjs.map +1 -1
- package/positioning/models/index.d.ts +7 -1
- package/positioning/public_api.d.ts +1 -1
- package/positioning/utils/checkMargin.d.ts +3 -3
- package/positioning/utils/isNumeric.d.ts +1 -1
- package/progressbar/esm2022/bar.component.mjs +5 -5
- package/progressbar/esm2022/progressbar.component.mjs +5 -5
- package/progressbar/esm2022/progressbar.config.mjs +3 -3
- package/progressbar/esm2022/progressbar.module.mjs +4 -4
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs +15 -15
- package/progressbar/fesm2022/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/rating/esm2022/rating.component.mjs +5 -5
- package/rating/esm2022/rating.config.mjs +3 -3
- package/rating/esm2022/rating.module.mjs +4 -4
- package/rating/fesm2022/ngx-bootstrap-rating.mjs +11 -11
- package/rating/fesm2022/ngx-bootstrap-rating.mjs.map +1 -1
- package/schematics/utils/addStyles.d.ts +2 -2
- package/schematics/utils/addStyles.js +3 -3
- package/schematics/utils/addStyles.js.map +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/schematics/utils/getVersions.js +1 -2
- package/schematics/utils/getVersions.js.map +1 -1
- package/schematics/utils/index.d.ts +2 -2
- package/schematics/utils/index.js +6 -9
- package/schematics/utils/index.js.map +1 -1
- package/sortable/esm2022/draggable-item.service.mjs +3 -3
- package/sortable/esm2022/sortable.component.mjs +5 -5
- package/sortable/esm2022/sortable.module.mjs +4 -4
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs +11 -11
- package/sortable/fesm2022/ngx-bootstrap-sortable.mjs.map +1 -1
- package/tabs/esm2022/ng-transclude.directive.mjs +5 -5
- package/tabs/esm2022/tab-heading.directive.mjs +4 -4
- package/tabs/esm2022/tab.directive.mjs +5 -5
- package/tabs/esm2022/tabs.module.mjs +4 -4
- package/tabs/esm2022/tabset.component.mjs +5 -5
- package/tabs/esm2022/tabset.config.mjs +3 -3
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs +23 -23
- package/tabs/fesm2022/ngx-bootstrap-tabs.mjs.map +1 -1
- package/timepicker/esm2022/reducer/timepicker.actions.mjs +3 -3
- package/timepicker/esm2022/reducer/timepicker.store.mjs +4 -4
- package/timepicker/esm2022/timepicker.component.mjs +5 -5
- package/timepicker/esm2022/timepicker.config.mjs +3 -3
- package/timepicker/esm2022/timepicker.module.mjs +4 -4
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs +18 -18
- package/timepicker/fesm2022/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/tooltip/esm2022/tooltip-container.component.mjs +4 -4
- package/tooltip/esm2022/tooltip.config.mjs +3 -3
- package/tooltip/esm2022/tooltip.directive.mjs +8 -12
- package/tooltip/esm2022/tooltip.module.mjs +4 -4
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs +19 -23
- package/tooltip/fesm2022/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/tooltip/tooltip.directive.d.ts +4 -4
- package/typeahead/esm2022/typeahead-container.component.mjs +5 -5
- package/typeahead/esm2022/typeahead-match.class.mjs +2 -2
- package/typeahead/esm2022/typeahead.config.mjs +3 -3
- package/typeahead/esm2022/typeahead.directive.mjs +28 -34
- package/typeahead/esm2022/typeahead.module.mjs +4 -4
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +41 -47
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/typeahead-match.class.d.ts +3 -3
- package/typeahead/typeahead.directive.d.ts +3 -3
- package/accordion/package.json +0 -28
- package/alert/package.json +0 -28
- package/buttons/package.json +0 -27
- package/carousel/package.json +0 -28
- package/chronos/package.json +0 -23
- package/collapse/package.json +0 -28
- package/component-loader/package.json +0 -27
- package/datepicker/package.json +0 -33
- package/dropdown/package.json +0 -30
- package/focus-trap/package.json +0 -28
- package/locale/package.json +0 -26
- package/mini-ngrx/package.json +0 -26
- package/modal/package.json +0 -28
- package/pagination/package.json +0 -28
- package/popover/package.json +0 -29
- package/positioning/esm2022/utils/includeScroll.mjs +0 -24
- package/positioning/package.json +0 -30
- package/positioning/utils/includeScroll.d.ts +0 -2
- package/progressbar/package.json +0 -27
- package/rating/package.json +0 -28
- package/schematics/package.json +0 -11
- package/sortable/package.json +0 -30
- package/tabs/package.json +0 -27
- package/timepicker/package.json +0 -30
- package/tooltip/package.json +0 -30
- package/typeahead/package.json +0 -32
- package/utils/package.json +0 -26
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-carousel.mjs","sources":["../../../../src/carousel/carousel.config.ts","../../../../src/carousel/utils.ts","../../../../src/carousel/carousel.component.ts","../../../../src/carousel/carousel.component.html","../../../../src/carousel/slide.component.ts","../../../../src/carousel/carousel.module.ts","../../../../src/carousel/ngx-bootstrap-carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CarouselConfig {\n /* Default interval of auto changing of slides */\n interval = 5000;\n\n /* Is loop of auto changing of slides can be paused */\n noPause = false;\n\n /* Is slides can wrap from the last to the first slide */\n noWrap = false;\n\n /* Show carousel-indicators */\n showIndicators = true;\n\n /* Slides can be paused on focus */\n pauseOnFocus = false;\n\n /* If `true` - carousel indicators indicate slides chunks works ONLY if singleSlideOffset = FALSE */\n indicatorsByChunk = false;\n\n /* If value more then 1 — carousel works in multilist mode */\n itemsPerSlide = 1;\n\n /* If `true` — carousel shifts by one element. By default carousel shifts by number\n of visible elements (itemsPerSlide field) */\n singleSlideOffset = false;\n}\n","/**\n * Returns the index of the last element in the array where predicate is true, and -1\n * otherwise.\n * @param array The source array to search in\n * @param predicate find calls predicate once for each element of the array, in descending\n * order, until it finds one where predicate returns true. If such an element is found,\n * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n */\nexport function findLastIndex<T>(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): number {\n let l = array.length;\n\n while (l--) {\n if (predicate(array[l], l, array)) {\n return l;\n }\n }\n\n return -1;\n}\n\nexport function chunkByNumber<T>(array: T[], size: number): T[][] {\n const out = [];\n const n = Math.ceil((array.length) / size);\n let i = 0;\n\n while (i < n) {\n const chunk = array.splice(\n 0,\n (i === n - 1) && size < array.length ? array.length : size\n );\n\n out.push(chunk);\n i++;\n }\n\n return out;\n}\n\nexport function isNumber(value?: any): value is number {\n return typeof value === 'number' || Object.prototype.toString.call(value) === '[object Number]';\n}\n","/***\n * pause (not yet supported) (?string='hover') - event group name which pauses\n * the cycling of the carousel, if hover pauses on mouseenter and resumes on\n * mouseleave keyboard (not yet supported) (?boolean=true) - if false\n * carousel will not react to keyboard events\n * note: swiping not yet supported\n */\n/****\n * Problems:\n * 1) if we set an active slide via model changes, .active class remains on a\n * current slide.\n * 2) if we have only one slide, we shouldn't show prev/next nav buttons\n * 3) if first or last slide is active and noWrap is true, there should be\n * \"disabled\" class on the nav buttons.\n * 4) default interval should be equal 5000\n */\n\nimport {\n Component, EventEmitter, Input, NgZone, OnDestroy, Output, AfterViewInit, Inject, PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { LinkedList, getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { SlideComponent } from './slide.component';\nimport { CarouselConfig } from './carousel.config';\nimport { findLastIndex, chunkByNumber, isNumber } from './utils';\nimport { SlideWithIndex, IndexedSlideList } from './models';\n\nexport enum Direction {\n UNKNOWN,\n NEXT,\n PREV\n}\n\nlet _currentId = 1;\n\n/**\n * Base element to create carousel\n */\n@Component({\n selector: 'carousel',\n templateUrl: './carousel.component.html'\n})\nexport class CarouselComponent implements AfterViewInit, OnDestroy {\n /* If `true` — carousel will not cycle continuously and will have hard stops (prevent looping) */\n @Input() noWrap = false;\n /* If `true` — will disable pausing on carousel mouse hover */\n @Input() noPause = false;\n /* If `true` — carousel-indicators are visible */\n @Input() showIndicators = true;\n /* If `true` - autoplay will be stopped on focus */\n @Input() pauseOnFocus = false;\n /* If `true` - carousel indicators indicate slides chunks\n works ONLY if singleSlideOffset = FALSE */\n @Input() indicatorsByChunk = false;\n /* If value more then 1 — carousel works in multilist mode */\n @Input() itemsPerSlide = 1;\n /* If `true` — carousel shifts by one element. By default carousel shifts by number\n of visible elements (itemsPerSlide field) */\n @Input() singleSlideOffset = false;\n /** Turn on/off animation. Animation doesn't work for multilist carousel */\n @Input() isAnimated = false;\n\n /** Will be emitted when active slide has been changed. Part of two-way-bindable [(activeSlide)] property */\n @Output()\n activeSlideChange = new EventEmitter<number>(false);\n\n /** Will be emitted when active slides has been changed in multilist mode */\n @Output()\n slideRangeChange = new EventEmitter<number[]|void>();\n\n /** Index of currently displayed slide(started for 0) */\n @Input()\n set activeSlide(index: number) {\n if (this.multilist) {\n return;\n }\n\n if (isNumber(index)) {\n this.customActiveSlide = index;\n }\n\n if (this._slides.length && index !== this._currentActiveSlide) {\n this._select(index);\n }\n }\n\n get activeSlide(): number {\n return this._currentActiveSlide || 0;\n }\n\n /* Index to start display slides from it */\n @Input()\n startFromIndex = 0;\n\n /**\n * Delay of item cycling in milliseconds. If false, carousel won't cycle\n * automatically.\n */\n @Input()\n get interval(): number {\n return this._interval;\n }\n\n set interval(value: number) {\n this._interval = value;\n this.restartTimer();\n }\n\n get slides(): SlideComponent[] {\n return this._slides.toArray();\n }\n\n get isFirstSlideVisible(): boolean {\n const indexes = this.getVisibleIndexes();\n if (!indexes || (indexes instanceof Array && !indexes.length)) {\n return false;\n }\n\n return indexes.includes(0);\n }\n\n get isLastSlideVisible(): boolean {\n const indexes = this.getVisibleIndexes();\n if (!indexes || (indexes instanceof Array && !indexes.length)) {\n return false;\n }\n\n return indexes.includes(this._slides.length -1);\n }\n\n protected currentInterval?: number;\n protected _currentActiveSlide?: number;\n protected _interval = 5000;\n protected _slides: LinkedList<SlideComponent> = new LinkedList<SlideComponent>();\n protected _chunkedSlides?: SlideWithIndex[][];\n protected _slidesWithIndexes?: SlideWithIndex[];\n protected _currentVisibleSlidesIndex = 0;\n protected isPlaying = false;\n protected destroyed = false;\n private customActiveSlide?: number;\n currentId = 0;\n\n get _bsVer(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: CarouselConfig, private ngZone: NgZone, @Inject(PLATFORM_ID) public platformId: number) {\n Object.assign(this, config);\n this.currentId = _currentId++;\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n if (this.singleSlideOffset) {\n this.indicatorsByChunk = false;\n }\n if (this.multilist) {\n this._chunkedSlides = chunkByNumber(\n this.mapSlidesAndIndexes(),\n this.itemsPerSlide\n );\n this.selectInitialSlides();\n }\n\n if (this.customActiveSlide && !this.multilist) {\n this._select(this.customActiveSlide);\n }\n }, 0);\n }\n\n ngOnDestroy(): void {\n this.destroyed = true;\n }\n\n /**\n * Adds new slide. If this slide is first in collection - set it as active\n * and starts auto changing\n * @param slide\n */\n addSlide(slide: SlideComponent): void {\n this._slides.add(slide);\n\n if (this.multilist && this._slides.length <= this.itemsPerSlide) {\n slide.active = true;\n }\n\n if (!this.multilist && this.isAnimated) {\n slide.isAnimated = true;\n }\n\n if (!this.multilist && this._slides.length === 1) {\n this._currentActiveSlide = undefined;\n if (!this.customActiveSlide) {\n this.activeSlide = 0;\n }\n this.play();\n }\n\n if (this.multilist && this._slides.length > this.itemsPerSlide) {\n this.play();\n }\n }\n\n /**\n * Removes specified slide. If this slide is active - will roll to another\n * slide\n * @param slide\n */\n removeSlide(slide: SlideComponent): void {\n const remIndex = this._slides.indexOf(slide);\n\n if (this._currentActiveSlide === remIndex) {\n // removing of active slide\n let nextSlideIndex: number;\n if (this._slides.length > 1) {\n // if this slide last - will roll to first slide, if noWrap flag is\n // FALSE or to previous, if noWrap is TRUE in case, if this slide in\n // middle of collection, index of next slide is same to removed\n nextSlideIndex = !this.isLast(remIndex)\n ? remIndex\n : this.noWrap ? remIndex - 1 : 0;\n }\n this._slides.remove(remIndex);\n\n // prevents exception with changing some value after checking\n setTimeout(() => {\n this._select(nextSlideIndex);\n }, 0);\n } else {\n this._slides.remove(remIndex);\n const currentSlideIndex = this.getCurrentSlideIndex();\n setTimeout(() => {\n // after removing, need to actualize index of current active slide\n this._currentActiveSlide = currentSlideIndex;\n this.activeSlideChange.emit(this._currentActiveSlide);\n }, 0);\n }\n }\n\n nextSlideFromInterval(force = false): void {\n this.move(Direction.NEXT, force);\n }\n\n /**\n * Rolling to next slide\n * @param force: {boolean} if true - will ignore noWrap flag\n */\n nextSlide(force = false): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n this.move(Direction.NEXT, force);\n }\n\n /**\n * Rolling to previous slide\n * @param force: {boolean} if true - will ignore noWrap flag\n */\n previousSlide(force = false): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n this.move(Direction.PREV, force);\n }\n\n getFirstVisibleIndex(): number {\n return this.slides.findIndex(this.getActive);\n }\n\n getLastVisibleIndex(): number {\n return findLastIndex(this.slides, this.getActive);\n }\n\n getActive = (slide: SlideComponent) => slide.active;\n\n move(direction: Direction, force = false): void {\n const firstVisibleIndex = this.getFirstVisibleIndex();\n const lastVisibleIndex = this.getLastVisibleIndex();\n\n if (this.noWrap) {\n if (\n direction === Direction.NEXT &&\n this.isLast(lastVisibleIndex) ||\n direction === Direction.PREV &&\n firstVisibleIndex === 0\n ) {\n return;\n }\n }\n\n if (!this.multilist) {\n this.activeSlide = this.findNextSlideIndex(direction, force) || 0;\n } else {\n this.moveMultilist(direction);\n }\n }\n\n /**\n * Swith slides by enter, space and arrows keys\n * @internal\n */\n keydownPress(event: KeyboardEvent) {\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n this.nextSlide();\n event.preventDefault();\n\n return;\n }\n\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n this.previousSlide();\n\n return;\n }\n\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n this.nextSlide();\n\n return;\n }\n }\n\n /**\n * Play on mouse leave\n * @internal\n */\n onMouseLeave(): void {\n if (!this.pauseOnFocus) {\n this.play();\n }\n }\n\n /**\n * Play on mouse up\n * @internal\n */\n onMouseUp(): void {\n if (!this.pauseOnFocus) {\n this.play();\n }\n }\n\n /**\n * When slides on focus autoplay is stopped(optional)\n * @internal\n */\n pauseFocusIn(): void {\n if (this.pauseOnFocus) {\n this.isPlaying = false;\n this.resetTimer();\n }\n }\n\n /**\n * When slides out of focus autoplay is started\n * @internal\n */\n pauseFocusOut(): void {\n this.play();\n }\n\n /**\n * Rolling to specified slide\n * @param index: {number} index of slide, which must be shown\n */\n selectSlide(index: number): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n\n if (!this.multilist) {\n this.activeSlide = this.indicatorsByChunk ? index * this.itemsPerSlide : index;\n } else {\n this.selectSlideRange(this.indicatorsByChunk ? index * this.itemsPerSlide : index);\n }\n }\n\n /**\n * Starts a auto changing of slides\n */\n play(): void {\n if (!this.isPlaying) {\n this.isPlaying = true;\n this.restartTimer();\n }\n }\n\n /**\n * Stops a auto changing of slides\n */\n pause(): void {\n if (!this.noPause) {\n this.isPlaying = false;\n this.resetTimer();\n }\n }\n\n /**\n * Finds and returns index of currently displayed slide\n */\n getCurrentSlideIndex(): number {\n return this._slides.findIndex(this.getActive);\n }\n\n /**\n * Defines, whether the specified index is last in collection\n * @param index\n */\n isLast(index: number): boolean {\n return index + 1 >= this._slides.length;\n }\n\n /**\n * Defines, whether the specified index is first in collection\n * @param index\n */\n isFirst(index: number): boolean {\n return index === 0;\n }\n\n indicatorsSlides(): SlideComponent[] {\n return this.slides.filter(\n (slide: SlideComponent, index: number) => !this.indicatorsByChunk || index % this.itemsPerSlide === 0\n );\n }\n\n private selectInitialSlides(): void {\n const startIndex = this.startFromIndex <= this._slides.length\n ? this.startFromIndex\n : 0;\n\n this.hideSlides();\n\n if (this.singleSlideOffset) {\n this._slidesWithIndexes = this.mapSlidesAndIndexes();\n\n if (this._slides.length - startIndex < this.itemsPerSlide) {\n const slidesToAppend = this._slidesWithIndexes.slice(0, startIndex);\n\n this._slidesWithIndexes = [\n ...this._slidesWithIndexes,\n ...slidesToAppend\n ]\n .slice(slidesToAppend.length)\n .slice(0, this.itemsPerSlide);\n } else {\n this._slidesWithIndexes = this._slidesWithIndexes.slice(\n startIndex,\n startIndex + this.itemsPerSlide\n );\n }\n\n this._slidesWithIndexes.forEach((slide: SlideWithIndex) => slide.item.active = true);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n } else {\n this.selectRangeByNestedIndex(startIndex);\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n\n /**\n * Defines next slide index, depending of direction\n * @param direction: Direction(UNKNOWN|PREV|NEXT)\n * @param force: {boolean} if TRUE - will ignore noWrap flag, else will\n * return undefined if next slide require wrapping\n */\n private findNextSlideIndex(direction: Direction, force: boolean): number | void {\n let nextSlideIndex = 0;\n\n if (\n !force &&\n (this.isLast(this.activeSlide) &&\n direction !== Direction.PREV &&\n this.noWrap)\n ) {\n return;\n }\n\n switch (direction) {\n case Direction.NEXT:\n // if this is last slide, not force, looping is disabled\n // and need to going forward - select current slide, as a next\n if (typeof this._currentActiveSlide === 'undefined') {\n nextSlideIndex = 0;\n break;\n }\n if (!this.isLast(this._currentActiveSlide)) {\n nextSlideIndex = this._currentActiveSlide + 1;\n break;\n }\n nextSlideIndex = !force && this.noWrap ? this._currentActiveSlide : 0;\n break;\n case Direction.PREV:\n // if this is first slide, not force, looping is disabled\n // and need to going backward - select current slide, as a next\n if (typeof this._currentActiveSlide === 'undefined') {\n nextSlideIndex = 0;\n break;\n }\n if (this._currentActiveSlide > 0) {\n nextSlideIndex = this._currentActiveSlide - 1;\n break;\n }\n if (!force && this.noWrap) {\n nextSlideIndex = this._currentActiveSlide;\n break;\n }\n nextSlideIndex = this._slides.length - 1;\n break;\n default:\n throw new Error('Unknown direction');\n }\n\n return nextSlideIndex;\n }\n\n private mapSlidesAndIndexes(): SlideWithIndex[] {\n return this.slides\n .slice()\n .map((slide: SlideComponent, index: number) => {\n return {\n index,\n item: slide\n };\n });\n }\n\n\n private selectSlideRange(index: number): void {\n if (this.isIndexInRange(index)) {\n return;\n }\n\n this.hideSlides();\n\n if (!this.singleSlideOffset) {\n this.selectRangeByNestedIndex(index);\n } else {\n const startIndex = this.isIndexOnTheEdges(index)\n ? index\n : index - this.itemsPerSlide + 1;\n\n const endIndex = this.isIndexOnTheEdges(index)\n ? index + this.itemsPerSlide\n : index + 1;\n\n this._slidesWithIndexes = this.mapSlidesAndIndexes().slice(startIndex, endIndex);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n\n this._slidesWithIndexes.forEach((slide: SlideWithIndex) => slide.item.active = true);\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n\n private selectRangeByNestedIndex(index: number): void {\n if (!this._chunkedSlides) {\n return;\n }\n\n const selectedRange = this._chunkedSlides\n .map((slidesList, i: number) => {\n return {\n index: i,\n list: slidesList\n };\n })\n .find(\n (slidesList: IndexedSlideList) => {\n return slidesList.list.find(slide => slide.index === index) !== undefined;\n }\n );\n\n if (!selectedRange) {\n return;\n }\n\n this._currentVisibleSlidesIndex = selectedRange.index;\n\n this._chunkedSlides[selectedRange.index].forEach((slide: SlideWithIndex) => {\n slide.item.active = true;\n });\n }\n\n private isIndexOnTheEdges(index: number): boolean {\n return (\n index + 1 - this.itemsPerSlide <= 0 ||\n index + this.itemsPerSlide <= this._slides.length\n );\n }\n\n private isIndexInRange(index: number): boolean {\n if (this.singleSlideOffset && this._slidesWithIndexes) {\n const visibleIndexes = this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index);\n\n return visibleIndexes.indexOf(index) >= 0;\n }\n\n return (\n index <= this.getLastVisibleIndex() &&\n index >= this.getFirstVisibleIndex()\n );\n }\n\n private hideSlides(): void {\n this.slides.forEach((slide: SlideComponent) => slide.active = false);\n }\n\n private isVisibleSlideListLast(): boolean {\n if (!this._chunkedSlides) {\n return false;\n }\n\n return this._currentVisibleSlidesIndex === this._chunkedSlides.length - 1;\n }\n\n private isVisibleSlideListFirst(): boolean {\n return this._currentVisibleSlidesIndex === 0;\n }\n\n private moveSliderByOneItem(direction: Direction): void {\n let firstVisibleIndex: number;\n let lastVisibleIndex: number;\n let indexToHide: number;\n let indexToShow: number;\n\n if (this.noWrap) {\n firstVisibleIndex = this.getFirstVisibleIndex();\n lastVisibleIndex = this.getLastVisibleIndex();\n\n indexToHide = direction === Direction.NEXT\n ? firstVisibleIndex\n : lastVisibleIndex;\n\n indexToShow = direction !== Direction.NEXT\n ? firstVisibleIndex - 1\n : !this.isLast(lastVisibleIndex)\n ? lastVisibleIndex + 1 : 0;\n\n const slideToHide = this._slides.get(indexToHide);\n if (slideToHide) {\n slideToHide.active = false;\n }\n\n const slideToShow = this._slides.get(indexToShow);\n if (slideToShow) {\n slideToShow.active = true;\n }\n\n const slidesToReorder = this.mapSlidesAndIndexes().filter(\n (slide: SlideWithIndex) => slide.item.active\n );\n\n this.makeSlidesConsistent(slidesToReorder);\n if (this.singleSlideOffset) {\n this._slidesWithIndexes = slidesToReorder;\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n return;\n }\n\n if (!this._slidesWithIndexes || !this._slidesWithIndexes[0]) {\n return;\n }\n\n let index: number;\n\n firstVisibleIndex = this._slidesWithIndexes[0].index;\n lastVisibleIndex = this._slidesWithIndexes[this._slidesWithIndexes.length - 1].index;\n\n if (direction === Direction.NEXT) {\n this._slidesWithIndexes.shift();\n\n index = this.isLast(lastVisibleIndex)\n ? 0\n : lastVisibleIndex + 1;\n\n const item = this._slides.get(index);\n\n if (item) {\n this._slidesWithIndexes.push({ index, item });\n }\n } else {\n this._slidesWithIndexes.pop();\n index = this.isFirst(firstVisibleIndex)\n ? this._slides.length - 1\n : firstVisibleIndex - 1;\n\n const item = this._slides.get(index);\n if (item) {\n this._slidesWithIndexes = [{ index, item }, ...this._slidesWithIndexes];\n }\n }\n\n this.hideSlides();\n\n this._slidesWithIndexes.forEach(slide => slide.item.active = true);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n\n this.slideRangeChange.emit(\n this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index)\n );\n }\n\n private makeSlidesConsistent = (slides: SlideWithIndex[]): void => {\n slides.forEach((slide: SlideWithIndex, index: number) => slide.item.order = index);\n };\n\n private moveMultilist(direction: Direction): void {\n if (this.singleSlideOffset) {\n this.moveSliderByOneItem(direction);\n } else {\n this.hideSlides();\n\n if (this.noWrap) {\n this._currentVisibleSlidesIndex = direction === Direction.NEXT\n ? this._currentVisibleSlidesIndex + 1\n : this._currentVisibleSlidesIndex - 1;\n } else if (direction === Direction.NEXT) {\n this._currentVisibleSlidesIndex = this.isVisibleSlideListLast()\n ? 0\n : this._currentVisibleSlidesIndex + 1;\n } else {\n if (this.isVisibleSlideListFirst()) {\n this._currentVisibleSlidesIndex = this._chunkedSlides\n ? this._chunkedSlides.length - 1\n : 0;\n } else {\n this._currentVisibleSlidesIndex = this._currentVisibleSlidesIndex - 1;\n }\n }\n\n if (this._chunkedSlides) {\n this._chunkedSlides[this._currentVisibleSlidesIndex].forEach(\n (slide: SlideWithIndex) => slide.item.active = true\n );\n }\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n }\n\n private getVisibleIndexes(): number[] | void {\n if (!this.singleSlideOffset && this._chunkedSlides) {\n return this._chunkedSlides[this._currentVisibleSlidesIndex]\n .map((slide: SlideWithIndex) => slide.index);\n }\n\n if (this._slidesWithIndexes) {\n return this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index);\n }\n }\n\n /**\n * Sets a slide, which specified through index, as active\n * @param index\n */\n private _select(index: number): void {\n if (isNaN(index)) {\n this.pause();\n\n return;\n }\n\n if (!this.multilist && typeof this._currentActiveSlide !== 'undefined') {\n const currentSlide = this._slides.get(this._currentActiveSlide);\n if (typeof currentSlide !== 'undefined') {\n currentSlide.active = false;\n }\n }\n\n const nextSlide = this._slides.get(index);\n\n if (typeof nextSlide !== 'undefined') {\n this._currentActiveSlide = index;\n nextSlide.active = true;\n this.activeSlide = index;\n this.activeSlideChange.emit(index);\n }\n }\n\n /**\n * Starts loop of auto changing of slides\n */\n private restartTimer() {\n this.resetTimer();\n const interval = +this.interval;\n if (!isNaN(interval) && interval > 0 && isPlatformBrowser(this.platformId)) {\n this.currentInterval = this.ngZone.runOutsideAngular<number>(() => {\n return window.setInterval(() => {\n const nInterval = +this.interval;\n this.ngZone.run(() => {\n if (\n this.isPlaying &&\n !isNaN(this.interval) &&\n nInterval > 0 &&\n this.slides.length\n ) {\n this.nextSlideFromInterval();\n } else {\n this.pause();\n }\n });\n }, interval);\n });\n }\n }\n\n get multilist(): boolean {\n return this.itemsPerSlide > 1;\n }\n\n /**\n * Stops loop of auto changing of slides\n */\n private resetTimer(): void {\n if (this.currentInterval) {\n clearInterval(this.currentInterval);\n this.currentInterval = void 0;\n }\n }\n\n checkDisabledClass(buttonType: 'prev' | 'next'): boolean {\n if (buttonType === 'prev') {\n return (this.activeSlide === 0 && this.noWrap && !this.multilist) || (this.isFirstSlideVisible && this.noWrap && this.multilist);\n }\n\n return (this.isLast(this.activeSlide) && this.noWrap && !this.multilist) || (this.isLastSlideVisible && this.noWrap && this.multilist);\n }\n}\n","<div (mouseenter)=\"pause()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseup)=\"onMouseUp()\"\n (keydown)=\"keydownPress($event)\"\n (focusin)=\"pauseFocusIn()\"\n (focusout)=\"pauseFocusOut()\"\n [id]=\"'carousel' + currentId\"\n class=\"carousel slide\" tabindex=\"0\">\n <ng-container *ngIf=\"!_bsVer.isBs5 && showIndicators && slides.length > 1\">\n <ol class=\"carousel-indicators\">\n <li *ngFor=\"let slide of indicatorsSlides(); let i = index;\"\n [class.active]=\"slide.active === true\"\n (click)=\"selectSlide(i)\">\n </li>\n </ol>\n </ng-container>\n <ng-container *ngIf=\"_bsVer.isBs5 && showIndicators && slides.length > 1\">\n <div class=\"carousel-indicators\">\n <button\n *ngFor=\"let slide of indicatorsSlides(); let i = index;\"\n [class.active]=\"slide.active === true\"\n (click)=\"selectSlide(i)\"\n type=\"button\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n [attr.data-bs-slide-to]=\"i\" aria-current=\"true\"\n >\n </button>\n </div>\n </ng-container>\n <div class=\"carousel-inner\" [ngStyle]=\"{'display': multilist ? 'flex' : 'block'}\">\n <ng-content></ng-content>\n </div>\n <a class=\"left carousel-control carousel-control-prev\"\n href=\"javascript:void(0);\"\n [class.disabled]=\"checkDisabledClass('prev')\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n *ngIf=\"slides.length > 1\"\n (click)=\"previousSlide()\"\n tabindex=\"0\" role=\"button\">\n <span class=\"icon-prev carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only visually-hidden\">Previous</span>\n </a>\n\n <a class=\"right carousel-control carousel-control-next\"\n href=\"javascript:void(0);\"\n *ngIf=\"slides.length > 1\"\n (click)=\"nextSlide()\"\n [class.disabled]=\"checkDisabledClass('next')\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n tabindex=\"0\" role=\"button\">\n <span class=\"icon-next carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only visually-hidden\">Next</span>\n </a>\n</div>\n","import {\n Component,\n HostBinding,\n OnDestroy,\n Input,\n OnInit\n} from '@angular/core';\n\nimport { CarouselComponent } from './carousel.component';\n\n@Component({\n selector: 'slide',\n template: `\n <div [class.active]=\"active\" class=\"item\">\n <ng-content></ng-content>\n </div>\n `,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.aria-hidden]': '!active',\n '[class.multilist-margin]': 'multilist'\n },\n styles: [`\n :host.carousel-animation {\n transition: opacity 0.6s ease, visibility 0.6s ease;\n float: left;\n }\n :host.carousel-animation.active {\n opacity: 1;\n visibility: visible;\n }\n :host.carousel-animation:not(.active) {\n display: block;\n position: absolute;\n opacity: 0;\n visibility: hidden;\n }\n :host.multilist-margin {\n margin-right: auto;\n }\n :host.carousel-item {\n perspective: 1000px;\n }\n `]\n})\nexport class SlideComponent implements OnInit, OnDestroy {\n /** Is current slide active */\n @HostBinding('class.active')\n @Input()\n active = false;\n\n @HostBinding('style.width') itemWidth = '100%';\n @HostBinding('style.order') order = 0;\n @HostBinding('class.carousel-animation') isAnimated = false;\n\n /** Wraps element by appropriate CSS classes */\n @HostBinding('class.item')\n @HostBinding('class.carousel-item')\n addClass = true;\n\n /** Link to Parent(container-collection) component */\n protected carousel: CarouselComponent;\n multilist = false;\n constructor(carousel: CarouselComponent) {\n this.carousel = carousel;\n }\n\n /** Fires changes in container collection after adding a new slide instance */\n ngOnInit(): void {\n this.carousel.addSlide(this);\n this.itemWidth = `${100 / this.carousel.itemsPerSlide}%`;\n this.multilist = this.carousel?.itemsPerSlide > 1;\n }\n\n /** Fires changes in container collection after removing of this slide instance */\n ngOnDestroy(): void {\n this.carousel.removeSlide(this);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CarouselComponent } from './carousel.component';\nimport { SlideComponent } from './slide.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SlideComponent, CarouselComponent],\n exports: [SlideComponent, CarouselComponent]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CarouselComponent"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-carousel.mjs","sources":["../../../../src/carousel/carousel.config.ts","../../../../src/carousel/utils.ts","../../../../src/carousel/carousel.component.ts","../../../../src/carousel/carousel.component.html","../../../../src/carousel/slide.component.ts","../../../../src/carousel/carousel.module.ts","../../../../src/carousel/ngx-bootstrap-carousel.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CarouselConfig {\n /* Default interval of auto changing of slides */\n interval = 5000;\n\n /* Is loop of auto changing of slides can be paused */\n noPause = false;\n\n /* Is slides can wrap from the last to the first slide */\n noWrap = false;\n\n /* Show carousel-indicators */\n showIndicators = true;\n\n /* Slides can be paused on focus */\n pauseOnFocus = false;\n\n /* If `true` - carousel indicators indicate slides chunks works ONLY if singleSlideOffset = FALSE */\n indicatorsByChunk = false;\n\n /* If value more then 1 — carousel works in multilist mode */\n itemsPerSlide = 1;\n\n /* If `true` — carousel shifts by one element. By default carousel shifts by number\n of visible elements (itemsPerSlide field) */\n singleSlideOffset = false;\n}\n","/**\n * Returns the index of the last element in the array where predicate is true, and -1\n * otherwise.\n * @param array The source array to search in\n * @param predicate find calls predicate once for each element of the array, in descending\n * order, until it finds one where predicate returns true. If such an element is found,\n * findLastIndex immediately returns that element index. Otherwise, findLastIndex returns -1.\n */\nexport function findLastIndex<T>(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): number {\n let l = array.length;\n\n while (l--) {\n if (predicate(array[l], l, array)) {\n return l;\n }\n }\n\n return -1;\n}\n\nexport function chunkByNumber<T>(array: T[], size: number): T[][] {\n const out = [];\n const n = Math.ceil(array.length / size);\n let i = 0;\n\n while (i < n) {\n const chunk = array.splice(0, i === n - 1 && size < array.length ? array.length : size);\n\n out.push(chunk);\n i++;\n }\n\n return out;\n}\n\nexport function isNumber(value?: unknown): value is number {\n return typeof value === 'number' || Object.prototype.toString.call(value) === '[object Number]';\n}\n","/***\n * pause (not yet supported) (?string='hover') - event group name which pauses\n * the cycling of the carousel, if hover pauses on mouseenter and resumes on\n * mouseleave keyboard (not yet supported) (?boolean=true) - if false\n * carousel will not react to keyboard events\n * note: swiping not yet supported\n */\n/****\n * Problems:\n * 1) if we set an active slide via model changes, .active class remains on a\n * current slide.\n * 2) if we have only one slide, we shouldn't show prev/next nav buttons\n * 3) if first or last slide is active and noWrap is true, there should be\n * \"disabled\" class on the nav buttons.\n * 4) default interval should be equal 5000\n */\n\nimport {\n Component, EventEmitter, Input, NgZone, OnDestroy, Output, AfterViewInit, Inject, PLATFORM_ID\n} from '@angular/core';\nimport { isPlatformBrowser } from '@angular/common';\n\nimport { LinkedList, getBsVer, IBsVersion } from 'ngx-bootstrap/utils';\nimport { SlideComponent } from './slide.component';\nimport { CarouselConfig } from './carousel.config';\nimport { findLastIndex, chunkByNumber, isNumber } from './utils';\nimport { SlideWithIndex, IndexedSlideList } from './models';\n\nexport enum Direction {\n UNKNOWN,\n NEXT,\n PREV\n}\n\nlet _currentId = 1;\n\n/**\n * Base element to create carousel\n */\n@Component({\n selector: 'carousel',\n templateUrl: './carousel.component.html'\n})\nexport class CarouselComponent implements AfterViewInit, OnDestroy {\n /* If `true` — carousel will not cycle continuously and will have hard stops (prevent looping) */\n @Input() noWrap = false;\n /* If `true` — will disable pausing on carousel mouse hover */\n @Input() noPause = false;\n /* If `true` — carousel-indicators are visible */\n @Input() showIndicators = true;\n /* If `true` - autoplay will be stopped on focus */\n @Input() pauseOnFocus = false;\n /* If `true` - carousel indicators indicate slides chunks\n works ONLY if singleSlideOffset = FALSE */\n @Input() indicatorsByChunk = false;\n /* If value more then 1 — carousel works in multilist mode */\n @Input() itemsPerSlide = 1;\n /* If `true` — carousel shifts by one element. By default carousel shifts by number\n of visible elements (itemsPerSlide field) */\n @Input() singleSlideOffset = false;\n /** Turn on/off animation. Animation doesn't work for multilist carousel */\n @Input() isAnimated = false;\n\n /** Will be emitted when active slide has been changed. Part of two-way-bindable [(activeSlide)] property */\n @Output()\n activeSlideChange = new EventEmitter<number>(false);\n\n /** Will be emitted when active slides has been changed in multilist mode */\n @Output()\n slideRangeChange = new EventEmitter<number[]|void>();\n\n /** Index of currently displayed slide(started for 0) */\n @Input()\n set activeSlide(index: number) {\n if (this.multilist) {\n return;\n }\n\n if (isNumber(index)) {\n this.customActiveSlide = index;\n }\n\n if (this._slides.length && index !== this._currentActiveSlide) {\n this._select(index);\n }\n }\n\n get activeSlide(): number {\n return this._currentActiveSlide || 0;\n }\n\n /* Index to start display slides from it */\n @Input()\n startFromIndex = 0;\n\n /**\n * Delay of item cycling in milliseconds. If false, carousel won't cycle\n * automatically.\n */\n @Input()\n get interval(): number {\n return this._interval;\n }\n\n set interval(value: number) {\n this._interval = value;\n this.restartTimer();\n }\n\n get slides(): SlideComponent[] {\n return this._slides.toArray();\n }\n\n get isFirstSlideVisible(): boolean {\n const indexes = this.getVisibleIndexes();\n if (!indexes || (indexes instanceof Array && !indexes.length)) {\n return false;\n }\n\n return indexes.includes(0);\n }\n\n get isLastSlideVisible(): boolean {\n const indexes = this.getVisibleIndexes();\n if (!indexes || (indexes instanceof Array && !indexes.length)) {\n return false;\n }\n\n return indexes.includes(this._slides.length -1);\n }\n\n protected currentInterval?: number;\n protected _currentActiveSlide?: number;\n protected _interval = 5000;\n protected _slides: LinkedList<SlideComponent> = new LinkedList<SlideComponent>();\n protected _chunkedSlides?: SlideWithIndex[][];\n protected _slidesWithIndexes?: SlideWithIndex[];\n protected _currentVisibleSlidesIndex = 0;\n protected isPlaying = false;\n protected destroyed = false;\n private customActiveSlide?: number;\n currentId = 0;\n\n get _bsVer(): IBsVersion {\n return getBsVer();\n }\n\n constructor(config: CarouselConfig, private ngZone: NgZone, @Inject(PLATFORM_ID) public platformId: number) {\n Object.assign(this, config);\n this.currentId = _currentId++;\n }\n\n ngAfterViewInit(): void {\n setTimeout(() => {\n if (this.singleSlideOffset) {\n this.indicatorsByChunk = false;\n }\n if (this.multilist) {\n this._chunkedSlides = chunkByNumber(\n this.mapSlidesAndIndexes(),\n this.itemsPerSlide\n );\n this.selectInitialSlides();\n }\n\n if (this.customActiveSlide && !this.multilist) {\n this._select(this.customActiveSlide);\n }\n }, 0);\n }\n\n ngOnDestroy(): void {\n this.destroyed = true;\n }\n\n /**\n * Adds new slide. If this slide is first in collection - set it as active\n * and starts auto changing\n * @param slide\n */\n addSlide(slide: SlideComponent): void {\n this._slides.add(slide);\n\n if (this.multilist && this._slides.length <= this.itemsPerSlide) {\n slide.active = true;\n }\n\n if (!this.multilist && this.isAnimated) {\n slide.isAnimated = true;\n }\n\n if (!this.multilist && this._slides.length === 1) {\n this._currentActiveSlide = undefined;\n if (!this.customActiveSlide) {\n this.activeSlide = 0;\n }\n this.play();\n }\n\n if (this.multilist && this._slides.length > this.itemsPerSlide) {\n this.play();\n }\n }\n\n /**\n * Removes specified slide. If this slide is active - will roll to another\n * slide\n * @param slide\n */\n removeSlide(slide: SlideComponent): void {\n const remIndex = this._slides.indexOf(slide);\n\n if (this._currentActiveSlide === remIndex) {\n // removing of active slide\n let nextSlideIndex: number;\n if (this._slides.length > 1) {\n // if this slide last - will roll to first slide, if noWrap flag is\n // FALSE or to previous, if noWrap is TRUE in case, if this slide in\n // middle of collection, index of next slide is same to removed\n nextSlideIndex = !this.isLast(remIndex)\n ? remIndex\n : this.noWrap ? remIndex - 1 : 0;\n }\n this._slides.remove(remIndex);\n\n // prevents exception with changing some value after checking\n setTimeout(() => {\n this._select(nextSlideIndex);\n }, 0);\n } else {\n this._slides.remove(remIndex);\n const currentSlideIndex = this.getCurrentSlideIndex();\n setTimeout(() => {\n // after removing, need to actualize index of current active slide\n this._currentActiveSlide = currentSlideIndex;\n this.activeSlideChange.emit(this._currentActiveSlide);\n }, 0);\n }\n }\n\n nextSlideFromInterval(force = false): void {\n this.move(Direction.NEXT, force);\n }\n\n /**\n * Rolling to next slide\n * @param force: {boolean} if true - will ignore noWrap flag\n */\n nextSlide(force = false): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n this.move(Direction.NEXT, force);\n }\n\n /**\n * Rolling to previous slide\n * @param force: {boolean} if true - will ignore noWrap flag\n */\n previousSlide(force = false): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n this.move(Direction.PREV, force);\n }\n\n getFirstVisibleIndex(): number {\n return this.slides.findIndex(this.getActive);\n }\n\n getLastVisibleIndex(): number {\n return findLastIndex(this.slides, this.getActive);\n }\n\n getActive = (slide: SlideComponent) => slide.active;\n\n move(direction: Direction, force = false): void {\n const firstVisibleIndex = this.getFirstVisibleIndex();\n const lastVisibleIndex = this.getLastVisibleIndex();\n\n if (this.noWrap) {\n if (\n direction === Direction.NEXT &&\n this.isLast(lastVisibleIndex) ||\n direction === Direction.PREV &&\n firstVisibleIndex === 0\n ) {\n return;\n }\n }\n\n if (!this.multilist) {\n this.activeSlide = this.findNextSlideIndex(direction, force) || 0;\n } else {\n this.moveMultilist(direction);\n }\n }\n\n /**\n * Swith slides by enter, space and arrows keys\n * @internal\n */\n keydownPress(event: KeyboardEvent) {\n if (event.keyCode === 13 || event.key === 'Enter' || event.keyCode === 32 || event.key === 'Space') {\n this.nextSlide();\n event.preventDefault();\n\n return;\n }\n\n if (event.keyCode === 37 || event.key === 'LeftArrow') {\n this.previousSlide();\n\n return;\n }\n\n if (event.keyCode === 39 || event.key === 'RightArrow') {\n this.nextSlide();\n\n return;\n }\n }\n\n /**\n * Play on mouse leave\n * @internal\n */\n onMouseLeave(): void {\n if (!this.pauseOnFocus) {\n this.play();\n }\n }\n\n /**\n * Play on mouse up\n * @internal\n */\n onMouseUp(): void {\n if (!this.pauseOnFocus) {\n this.play();\n }\n }\n\n /**\n * When slides on focus autoplay is stopped(optional)\n * @internal\n */\n pauseFocusIn(): void {\n if (this.pauseOnFocus) {\n this.isPlaying = false;\n this.resetTimer();\n }\n }\n\n /**\n * When slides out of focus autoplay is started\n * @internal\n */\n pauseFocusOut(): void {\n this.play();\n }\n\n /**\n * Rolling to specified slide\n * @param index: {number} index of slide, which must be shown\n */\n selectSlide(index: number): void {\n if (this.isPlaying) {\n this.restartTimer();\n }\n\n if (!this.multilist) {\n this.activeSlide = this.indicatorsByChunk ? index * this.itemsPerSlide : index;\n } else {\n this.selectSlideRange(this.indicatorsByChunk ? index * this.itemsPerSlide : index);\n }\n }\n\n /**\n * Starts a auto changing of slides\n */\n play(): void {\n if (!this.isPlaying) {\n this.isPlaying = true;\n this.restartTimer();\n }\n }\n\n /**\n * Stops a auto changing of slides\n */\n pause(): void {\n if (!this.noPause) {\n this.isPlaying = false;\n this.resetTimer();\n }\n }\n\n /**\n * Finds and returns index of currently displayed slide\n */\n getCurrentSlideIndex(): number {\n return this._slides.findIndex(this.getActive);\n }\n\n /**\n * Defines, whether the specified index is last in collection\n * @param index\n */\n isLast(index: number): boolean {\n return index + 1 >= this._slides.length;\n }\n\n /**\n * Defines, whether the specified index is first in collection\n * @param index\n */\n isFirst(index: number): boolean {\n return index === 0;\n }\n\n indicatorsSlides(): SlideComponent[] {\n return this.slides.filter(\n (slide: SlideComponent, index: number) => !this.indicatorsByChunk || index % this.itemsPerSlide === 0\n );\n }\n\n private selectInitialSlides(): void {\n const startIndex = this.startFromIndex <= this._slides.length\n ? this.startFromIndex\n : 0;\n\n this.hideSlides();\n\n if (this.singleSlideOffset) {\n this._slidesWithIndexes = this.mapSlidesAndIndexes();\n\n if (this._slides.length - startIndex < this.itemsPerSlide) {\n const slidesToAppend = this._slidesWithIndexes.slice(0, startIndex);\n\n this._slidesWithIndexes = [\n ...this._slidesWithIndexes,\n ...slidesToAppend\n ]\n .slice(slidesToAppend.length)\n .slice(0, this.itemsPerSlide);\n } else {\n this._slidesWithIndexes = this._slidesWithIndexes.slice(\n startIndex,\n startIndex + this.itemsPerSlide\n );\n }\n\n this._slidesWithIndexes.forEach((slide: SlideWithIndex) => slide.item.active = true);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n } else {\n this.selectRangeByNestedIndex(startIndex);\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n\n /**\n * Defines next slide index, depending of direction\n * @param direction: Direction(UNKNOWN|PREV|NEXT)\n * @param force: {boolean} if TRUE - will ignore noWrap flag, else will\n * return undefined if next slide require wrapping\n */\n private findNextSlideIndex(direction: Direction, force: boolean): number | void {\n let nextSlideIndex = 0;\n\n if (\n !force &&\n (this.isLast(this.activeSlide) &&\n direction !== Direction.PREV &&\n this.noWrap)\n ) {\n return;\n }\n\n switch (direction) {\n case Direction.NEXT:\n // if this is last slide, not force, looping is disabled\n // and need to going forward - select current slide, as a next\n if (typeof this._currentActiveSlide === 'undefined') {\n nextSlideIndex = 0;\n break;\n }\n if (!this.isLast(this._currentActiveSlide)) {\n nextSlideIndex = this._currentActiveSlide + 1;\n break;\n }\n nextSlideIndex = !force && this.noWrap ? this._currentActiveSlide : 0;\n break;\n case Direction.PREV:\n // if this is first slide, not force, looping is disabled\n // and need to going backward - select current slide, as a next\n if (typeof this._currentActiveSlide === 'undefined') {\n nextSlideIndex = 0;\n break;\n }\n if (this._currentActiveSlide > 0) {\n nextSlideIndex = this._currentActiveSlide - 1;\n break;\n }\n if (!force && this.noWrap) {\n nextSlideIndex = this._currentActiveSlide;\n break;\n }\n nextSlideIndex = this._slides.length - 1;\n break;\n default:\n throw new Error('Unknown direction');\n }\n\n return nextSlideIndex;\n }\n\n private mapSlidesAndIndexes(): SlideWithIndex[] {\n return this.slides\n .slice()\n .map((slide: SlideComponent, index: number) => {\n return {\n index,\n item: slide\n };\n });\n }\n\n\n private selectSlideRange(index: number): void {\n if (this.isIndexInRange(index)) {\n return;\n }\n\n this.hideSlides();\n\n if (!this.singleSlideOffset) {\n this.selectRangeByNestedIndex(index);\n } else {\n const startIndex = this.isIndexOnTheEdges(index)\n ? index\n : index - this.itemsPerSlide + 1;\n\n const endIndex = this.isIndexOnTheEdges(index)\n ? index + this.itemsPerSlide\n : index + 1;\n\n this._slidesWithIndexes = this.mapSlidesAndIndexes().slice(startIndex, endIndex);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n\n this._slidesWithIndexes.forEach((slide: SlideWithIndex) => slide.item.active = true);\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n\n private selectRangeByNestedIndex(index: number): void {\n if (!this._chunkedSlides) {\n return;\n }\n\n const selectedRange = this._chunkedSlides\n .map((slidesList, i: number) => {\n return {\n index: i,\n list: slidesList\n };\n })\n .find(\n (slidesList: IndexedSlideList) => {\n return slidesList.list.find(slide => slide.index === index) !== undefined;\n }\n );\n\n if (!selectedRange) {\n return;\n }\n\n this._currentVisibleSlidesIndex = selectedRange.index;\n\n this._chunkedSlides[selectedRange.index].forEach((slide: SlideWithIndex) => {\n slide.item.active = true;\n });\n }\n\n private isIndexOnTheEdges(index: number): boolean {\n return (\n index + 1 - this.itemsPerSlide <= 0 ||\n index + this.itemsPerSlide <= this._slides.length\n );\n }\n\n private isIndexInRange(index: number): boolean {\n if (this.singleSlideOffset && this._slidesWithIndexes) {\n const visibleIndexes = this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index);\n\n return visibleIndexes.indexOf(index) >= 0;\n }\n\n return (\n index <= this.getLastVisibleIndex() &&\n index >= this.getFirstVisibleIndex()\n );\n }\n\n private hideSlides(): void {\n this.slides.forEach((slide: SlideComponent) => slide.active = false);\n }\n\n private isVisibleSlideListLast(): boolean {\n if (!this._chunkedSlides) {\n return false;\n }\n\n return this._currentVisibleSlidesIndex === this._chunkedSlides.length - 1;\n }\n\n private isVisibleSlideListFirst(): boolean {\n return this._currentVisibleSlidesIndex === 0;\n }\n\n private moveSliderByOneItem(direction: Direction): void {\n let firstVisibleIndex: number;\n let lastVisibleIndex: number;\n let indexToHide: number;\n let indexToShow: number;\n\n if (this.noWrap) {\n firstVisibleIndex = this.getFirstVisibleIndex();\n lastVisibleIndex = this.getLastVisibleIndex();\n\n indexToHide = direction === Direction.NEXT\n ? firstVisibleIndex\n : lastVisibleIndex;\n\n indexToShow = direction !== Direction.NEXT\n ? firstVisibleIndex - 1\n : !this.isLast(lastVisibleIndex)\n ? lastVisibleIndex + 1 : 0;\n\n const slideToHide = this._slides.get(indexToHide);\n if (slideToHide) {\n slideToHide.active = false;\n }\n\n const slideToShow = this._slides.get(indexToShow);\n if (slideToShow) {\n slideToShow.active = true;\n }\n\n const slidesToReorder = this.mapSlidesAndIndexes().filter(\n (slide: SlideWithIndex) => slide.item.active\n );\n\n this.makeSlidesConsistent(slidesToReorder);\n if (this.singleSlideOffset) {\n this._slidesWithIndexes = slidesToReorder;\n }\n\n this.slideRangeChange.emit(this.getVisibleIndexes());\n return;\n }\n\n if (!this._slidesWithIndexes || !this._slidesWithIndexes[0]) {\n return;\n }\n\n let index: number;\n\n firstVisibleIndex = this._slidesWithIndexes[0].index;\n lastVisibleIndex = this._slidesWithIndexes[this._slidesWithIndexes.length - 1].index;\n\n if (direction === Direction.NEXT) {\n this._slidesWithIndexes.shift();\n\n index = this.isLast(lastVisibleIndex)\n ? 0\n : lastVisibleIndex + 1;\n\n const item = this._slides.get(index);\n\n if (item) {\n this._slidesWithIndexes.push({ index, item });\n }\n } else {\n this._slidesWithIndexes.pop();\n index = this.isFirst(firstVisibleIndex)\n ? this._slides.length - 1\n : firstVisibleIndex - 1;\n\n const item = this._slides.get(index);\n if (item) {\n this._slidesWithIndexes = [{ index, item }, ...this._slidesWithIndexes];\n }\n }\n\n this.hideSlides();\n\n this._slidesWithIndexes.forEach(slide => slide.item.active = true);\n this.makeSlidesConsistent(this._slidesWithIndexes);\n\n this.slideRangeChange.emit(\n this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index)\n );\n }\n\n private makeSlidesConsistent = (slides: SlideWithIndex[]): void => {\n slides.forEach((slide: SlideWithIndex, index: number) => slide.item.order = index);\n };\n\n private moveMultilist(direction: Direction): void {\n if (this.singleSlideOffset) {\n this.moveSliderByOneItem(direction);\n } else {\n this.hideSlides();\n\n if (this.noWrap) {\n this._currentVisibleSlidesIndex = direction === Direction.NEXT\n ? this._currentVisibleSlidesIndex + 1\n : this._currentVisibleSlidesIndex - 1;\n } else if (direction === Direction.NEXT) {\n this._currentVisibleSlidesIndex = this.isVisibleSlideListLast()\n ? 0\n : this._currentVisibleSlidesIndex + 1;\n } else {\n if (this.isVisibleSlideListFirst()) {\n this._currentVisibleSlidesIndex = this._chunkedSlides\n ? this._chunkedSlides.length - 1\n : 0;\n } else {\n this._currentVisibleSlidesIndex = this._currentVisibleSlidesIndex - 1;\n }\n }\n\n if (this._chunkedSlides) {\n this._chunkedSlides[this._currentVisibleSlidesIndex].forEach(\n (slide: SlideWithIndex) => slide.item.active = true\n );\n }\n this.slideRangeChange.emit(this.getVisibleIndexes());\n }\n }\n\n private getVisibleIndexes(): number[] | void {\n if (!this.singleSlideOffset && this._chunkedSlides) {\n return this._chunkedSlides[this._currentVisibleSlidesIndex]\n .map((slide: SlideWithIndex) => slide.index);\n }\n\n if (this._slidesWithIndexes) {\n return this._slidesWithIndexes.map((slide: SlideWithIndex) => slide.index);\n }\n }\n\n /**\n * Sets a slide, which specified through index, as active\n * @param index\n */\n private _select(index: number): void {\n if (isNaN(index)) {\n this.pause();\n\n return;\n }\n\n if (!this.multilist && typeof this._currentActiveSlide !== 'undefined') {\n const currentSlide = this._slides.get(this._currentActiveSlide);\n if (typeof currentSlide !== 'undefined') {\n currentSlide.active = false;\n }\n }\n\n const nextSlide = this._slides.get(index);\n\n if (typeof nextSlide !== 'undefined') {\n this._currentActiveSlide = index;\n nextSlide.active = true;\n this.activeSlide = index;\n this.activeSlideChange.emit(index);\n }\n }\n\n /**\n * Starts loop of auto changing of slides\n */\n private restartTimer() {\n this.resetTimer();\n const interval = +this.interval;\n if (!isNaN(interval) && interval > 0 && isPlatformBrowser(this.platformId)) {\n this.currentInterval = this.ngZone.runOutsideAngular<number>(() => {\n return window.setInterval(() => {\n const nInterval = +this.interval;\n this.ngZone.run(() => {\n if (\n this.isPlaying &&\n !isNaN(this.interval) &&\n nInterval > 0 &&\n this.slides.length\n ) {\n this.nextSlideFromInterval();\n } else {\n this.pause();\n }\n });\n }, interval);\n });\n }\n }\n\n get multilist(): boolean {\n return this.itemsPerSlide > 1;\n }\n\n /**\n * Stops loop of auto changing of slides\n */\n private resetTimer(): void {\n if (this.currentInterval) {\n clearInterval(this.currentInterval);\n this.currentInterval = void 0;\n }\n }\n\n checkDisabledClass(buttonType: 'prev' | 'next'): boolean {\n if (buttonType === 'prev') {\n return (this.activeSlide === 0 && this.noWrap && !this.multilist) || (this.isFirstSlideVisible && this.noWrap && this.multilist);\n }\n\n return (this.isLast(this.activeSlide) && this.noWrap && !this.multilist) || (this.isLastSlideVisible && this.noWrap && this.multilist);\n }\n}\n","<div (mouseenter)=\"pause()\"\n (mouseleave)=\"onMouseLeave()\"\n (mouseup)=\"onMouseUp()\"\n (keydown)=\"keydownPress($event)\"\n (focusin)=\"pauseFocusIn()\"\n (focusout)=\"pauseFocusOut()\"\n [id]=\"'carousel' + currentId\"\n class=\"carousel slide\" tabindex=\"0\">\n <ng-container *ngIf=\"!_bsVer.isBs5 && showIndicators && slides.length > 1\">\n <ol class=\"carousel-indicators\">\n <li *ngFor=\"let slide of indicatorsSlides(); let i = index;\"\n [class.active]=\"slide.active === true\"\n (click)=\"selectSlide(i)\">\n </li>\n </ol>\n </ng-container>\n <ng-container *ngIf=\"_bsVer.isBs5 && showIndicators && slides.length > 1\">\n <div class=\"carousel-indicators\">\n <button\n *ngFor=\"let slide of indicatorsSlides(); let i = index;\"\n [class.active]=\"slide.active === true\"\n (click)=\"selectSlide(i)\"\n type=\"button\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n [attr.data-bs-slide-to]=\"i\" aria-current=\"true\"\n >\n </button>\n </div>\n </ng-container>\n <div class=\"carousel-inner\" [ngStyle]=\"{'display': multilist ? 'flex' : 'block'}\">\n <ng-content></ng-content>\n </div>\n <a class=\"left carousel-control carousel-control-prev\"\n href=\"javascript:void(0);\"\n [class.disabled]=\"checkDisabledClass('prev')\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n *ngIf=\"slides.length > 1\"\n (click)=\"previousSlide()\"\n tabindex=\"0\" role=\"button\">\n <span class=\"icon-prev carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only visually-hidden\">Previous</span>\n </a>\n\n <a class=\"right carousel-control carousel-control-next\"\n href=\"javascript:void(0);\"\n *ngIf=\"slides.length > 1\"\n (click)=\"nextSlide()\"\n [class.disabled]=\"checkDisabledClass('next')\"\n [attr.data-bs-target]=\"'#carousel' + currentId\"\n tabindex=\"0\" role=\"button\">\n <span class=\"icon-next carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"sr-only visually-hidden\">Next</span>\n </a>\n</div>\n","import {\n Component,\n HostBinding,\n OnDestroy,\n Input,\n OnInit\n} from '@angular/core';\n\nimport { CarouselComponent } from './carousel.component';\n\n@Component({\n selector: 'slide',\n template: `\n <div [class.active]=\"active\" class=\"item\">\n <ng-content></ng-content>\n </div>\n `,\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[attr.aria-hidden]': '!active',\n '[class.multilist-margin]': 'multilist'\n },\n styles: [`\n :host.carousel-animation {\n transition: opacity 0.6s ease, visibility 0.6s ease;\n float: left;\n }\n :host.carousel-animation.active {\n opacity: 1;\n visibility: visible;\n }\n :host.carousel-animation:not(.active) {\n display: block;\n position: absolute;\n opacity: 0;\n visibility: hidden;\n }\n :host.multilist-margin {\n margin-right: auto;\n }\n :host.carousel-item {\n perspective: 1000px;\n }\n `]\n})\nexport class SlideComponent implements OnInit, OnDestroy {\n /** Is current slide active */\n @HostBinding('class.active')\n @Input()\n active = false;\n\n @HostBinding('style.width') itemWidth = '100%';\n @HostBinding('style.order') order = 0;\n @HostBinding('class.carousel-animation') isAnimated = false;\n\n /** Wraps element by appropriate CSS classes */\n @HostBinding('class.item')\n @HostBinding('class.carousel-item')\n addClass = true;\n\n /** Link to Parent(container-collection) component */\n protected carousel: CarouselComponent;\n multilist = false;\n constructor(carousel: CarouselComponent) {\n this.carousel = carousel;\n }\n\n /** Fires changes in container collection after adding a new slide instance */\n ngOnInit(): void {\n this.carousel.addSlide(this);\n this.itemWidth = `${100 / this.carousel.itemsPerSlide}%`;\n this.multilist = this.carousel?.itemsPerSlide > 1;\n }\n\n /** Fires changes in container collection after removing of this slide instance */\n ngOnDestroy(): void {\n this.carousel.removeSlide(this);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CarouselComponent } from './carousel.component';\nimport { SlideComponent } from './slide.component';\n\n@NgModule({\n imports: [CommonModule],\n declarations: [SlideComponent, CarouselComponent],\n exports: [SlideComponent, CarouselComponent]\n})\nexport class CarouselModule {\n static forRoot(): ModuleWithProviders<CarouselModule> {\n return { ngModule: CarouselModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CarouselComponent"],"mappings":"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"}
|
package/carousel/utils.d.ts
CHANGED
@@ -8,4 +8,4 @@
|
|
8
8
|
*/
|
9
9
|
export declare function findLastIndex<T>(array: T[], predicate: (value: T, index: number, obj: T[]) => boolean): number;
|
10
10
|
export declare function chunkByNumber<T>(array: T[], size: number): T[][];
|
11
|
-
export declare function isNumber(value?:
|
11
|
+
export declare function isNumber(value?: unknown): value is number;
|
@@ -122,10 +122,10 @@ export class CollapseDirective {
|
|
122
122
|
this._player.play();
|
123
123
|
return (callback) => this._player?.onDone(callback);
|
124
124
|
}
|
125
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
126
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
125
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Directive }); }
|
126
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: CollapseDirective, selector: "[collapse]", inputs: { display: "display", isAnimated: "isAnimated", collapse: "collapse" }, outputs: { collapsed: "collapsed", collapses: "collapses", expanded: "expanded", expands: "expands" }, host: { properties: { "class.collapse": "this.isCollapse", "class.in": "this.isExpanded", "class.show": "this.isExpanded", "attr.aria-hidden": "this.isCollapsed", "class.collapsing": "this.isCollapsing" } }, exportAs: ["bs-collapse"], ngImport: i0 }); }
|
127
127
|
}
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseDirective, decorators: [{
|
129
129
|
type: Directive,
|
130
130
|
args: [{
|
131
131
|
selector: '[collapse]',
|
@@ -135,7 +135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
135
135
|
'[class.collapse]': 'true'
|
136
136
|
}
|
137
137
|
}]
|
138
|
-
}], ctorParameters:
|
138
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.AnimationBuilder }], propDecorators: { collapsed: [{
|
139
139
|
type: Output
|
140
140
|
}], collapses: [{
|
141
141
|
type: Output
|
@@ -165,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
165
165
|
}], collapse: [{
|
166
166
|
type: Input
|
167
167
|
}] } });
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbGxhcHNlL2NvbGxhcHNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBR2pCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDaEIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBVS9CLE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCLElBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFJRCxnRUFBZ0U7SUFDaEUsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQWFELFlBQ1Us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QVc7dUJBQUMsVUFBVTs7c0JBQ3RCLFdBQVc7dUJBQUMsWUFBWTtnQkFLUSxXQUFXO3NCQUEzQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFQSxVQUFVO3NCQUF4QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFSSxZQUFZO3NCQUE1QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFHM0IsT0FBTztzQkFEVixLQUFLO2dCQVlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uQnVpbGRlcixcbiAgQW5pbWF0aW9uRmFjdG9yeSxcbiAgQW5pbWF0aW9uUGxheWVyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgY29sbGFwc2VBbmltYXRpb24sXG4gIGV4cGFuZEFuaW1hdGlvblxufSBmcm9tICcuL2NvbGxhcHNlLWFuaW1hdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY29sbGFwc2VdJyxcbiAgZXhwb3J0QXM6ICdicy1jb2xsYXBzZScsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jb2xsYXBzZV0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAvKiogVGhpcyBldmVudCBmaXJlcyBhcyBzb29uIGFzIGNvbnRlbnQgY29sbGFwc2VzICovXG4gIEBPdXRwdXQoKSBjb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxDb2xsYXBzZURpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBUaGlzIGV2ZW50IGZpcmVzIHdoZW4gY29sbGFwc2luZyBpcyBzdGFydGVkICovXG4gIEBPdXRwdXQoKSBjb2xsYXBzZXM6IEV2ZW50RW1pdHRlcjxDb2xsYXBzZURpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBUaGlzIGV2ZW50IGZpcmVzIGFzIHNvb24gYXMgY29udGVudCBiZWNvbWVzIHZpc2libGUgKi9cbiAgQE91dHB1dCgpIGV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8Q29sbGFwc2VEaXJlY3RpdmU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKiogVGhpcyBldmVudCBmaXJlcyB3aGVuIGV4cGFuc2lvbiBpcyBzdGFydGVkICovXG4gIEBPdXRwdXQoKSBleHBhbmRzOiBFdmVudEVtaXR0ZXI8Q29sbGFwc2VEaXJlY3RpdmU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBzaG93blxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmluJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaG93JylcblxuICBpc0V4cGFuZGVkID0gdHJ1ZTtcbiAgY29sbGFwc2VOZXdWYWx1ZSA9IHRydWU7XG4gIC8vIGhpZGRlblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBpc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAvLyBzdGFsZSBzdGF0ZVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNlJykgaXNDb2xsYXBzZSA9IHRydWU7XG4gIC8vIGFuaW1hdGlvbiBzdGF0ZVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNpbmcnKSBpc0NvbGxhcHNpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgZGlzcGxheSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSA9PT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW5pbWF0ZWQgPyB0aGlzLnRvZ2dsZSgpIDogdGhpcy5zaG93KCk7XG4gIH1cblxuICAvKiogdHVybiBvbi9vZmYgYW5pbWF0aW9uICovXG4gIEBJbnB1dCgpIGlzQW5pbWF0ZWQgPSBmYWxzZTtcbiAgLyoqIEEgZmxhZyBpbmRpY2F0aW5nIHZpc2liaWxpdHkgb2YgY29udGVudCAoc2hvd24gb3IgaGlkZGVuKSAqL1xuICBASW5wdXQoKVxuICBzZXQgY29sbGFwc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbGxhcHNlTmV3VmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAoIXRoaXMuX3BsYXllciB8fCB0aGlzLl9pc0FuaW1hdGlvbkRvbmUpIHtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHZhbHVlO1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29sbGFwc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BsYXkgPSAnYmxvY2snO1xuICBwcml2YXRlIF9pc0FuaW1hdGlvbkRvbmU/OiBib29sZWFuO1xuICBwcml2YXRlIF9wbGF5ZXI/OiBBbmltYXRpb25QbGF5ZXI7XG4gIHByaXZhdGUgX3N0eWxlc0xvYWRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX0NPTExBUFNFX0FDVElPTl9OQU1FID0gJ2NvbGxhcHNlJztcbiAgcHJpdmF0ZSBfRVhQQU5EX0FDVElPTl9OQU1FID0gJ2V4cGFuZCc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmFjdG9yeUNvbGxhcHNlQW5pbWF0aW9uOiBBbmltYXRpb25GYWN0b3J5O1xuICBwcml2YXRlIHJlYWRvbmx5IF9mYWN0b3J5RXhwYW5kQW5pbWF0aW9uOiBBbmltYXRpb25GYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgX2J1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5fZmFjdG9yeUNvbGxhcHNlQW5pbWF0aW9uID0gX2J1aWxkZXIuYnVpbGQoY29sbGFwc2VBbmltYXRpb24pO1xuICAgIHRoaXMuX2ZhY3RvcnlFeHBhbmRBbmltYXRpb24gPSBfYnVpbGRlci5idWlsZChleHBhbmRBbmltYXRpb24pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0eWxlc0xvYWRlZCA9IHRydWU7XG5cbiAgICBpZiAoIXRoaXMuX3BsYXllciB8fCAhdGhpcy5faXNBbmltYXRpb25Eb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcGxheWVyLnJlc2V0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcqJyk7XG4gIH1cblxuICAvKiogYWxsb3dzIHRvIG1hbnVhbGx5IHRvZ2dsZSBjb250ZW50IHZpc2liaWxpdHkgKi9cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cblxuICAvKiogYWxsb3dzIHRvIG1hbnVhbGx5IGhpZGUgY29udGVudCAqL1xuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmlzQ29sbGFwc2luZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jb2xsYXBzZXMuZW1pdCh0aGlzKTtcblxuICAgIHRoaXMuX2lzQW5pbWF0aW9uRG9uZSA9IGZhbHNlO1xuXG4gICAgdGhpcy5hbmltYXRpb25SdW4odGhpcy5pc0FuaW1hdGVkLCB0aGlzLl9DT0xMQVBTRV9BQ1RJT05fTkFNRSkoKCkgPT4ge1xuICAgICAgdGhpcy5faXNBbmltYXRpb25Eb25lID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlTmV3VmFsdWUgIT09IHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuc2hvdygpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29sbGFwc2VkLmVtaXQodGhpcyk7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgfSk7XG4gIH1cbiAgLyoqIGFsbG93cyB0byBtYW51YWxseSBzaG93IGNvbGxhcHNlZCBjb250ZW50ICovXG4gIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCB0aGlzLl9kaXNwbGF5KTtcblxuICAgIHRoaXMuaXNDb2xsYXBzaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ29sbGFwc2luZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5leHBhbmRzLmVtaXQodGhpcyk7XG5cbiAgICB0aGlzLl9pc0FuaW1hdGlvbkRvbmUgPSBmYWxzZTtcbiAgICB0aGlzLmFuaW1hdGlvblJ1bih0aGlzLmlzQW5pbWF0ZWQsIHRoaXMuX0VYUEFORF9BQ1RJT05fTkFNRSkoKCkgPT4ge1xuICAgICAgdGhpcy5faXNBbmltYXRpb25Eb25lID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlTmV3VmFsdWUgIT09IHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZXhwYW5kZWQuZW1pdCh0aGlzKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycpO1xuICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0aW9uUnVuKGlzQW5pbWF0ZWQ6IGJvb2xlYW4sIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCFpc0FuaW1hdGVkIHx8ICF0aGlzLl9zdHlsZXNMb2FkZWQpIHtcbiAgICAgIHJldHVybiAoY2FsbGJhY2s6ICgpID0+IHZvaWQpID0+IGNhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdjb2xsYXBzZScpO1xuXG4gICAgY29uc3QgZmFjdG9yeUFuaW1hdGlvbiA9IChhY3Rpb24gPT09IHRoaXMuX0VYUEFORF9BQ1RJT05fTkFNRSlcbiAgICAgID8gdGhpcy5fZmFjdG9yeUV4cGFuZEFuaW1hdGlvblxuICAgICAgOiB0aGlzLl9mYWN0b3J5Q29sbGFwc2VBbmltYXRpb247XG5cbiAgICBpZiAodGhpcy5fcGxheWVyKSB7XG4gICAgICB0aGlzLl9wbGF5ZXIucmVzZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9wbGF5ZXIgPSBmYWN0b3J5QW5pbWF0aW9uLmNyZWF0ZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9wbGF5ZXIucGxheSgpO1xuXG4gICAgcmV0dXJuIChjYWxsYmFjazogKCkgPT4gdm9pZCkgPT4gdGhpcy5fcGxheWVyPy5vbkRvbmUoY2FsbGJhY2spO1xuICB9XG59XG4iXX0=
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbGxhcHNlL2NvbGxhcHNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBR2pCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDaEIsTUFBTSx1QkFBdUIsQ0FBQzs7O0FBVS9CLE1BQU0sT0FBTyxpQkFBaUI7SUFzQjVCLElBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFJRCxnRUFBZ0U7SUFDaEUsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN6QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDZjtJQUNILENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQWFELFlBQ1Us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QVc7dUJBQUMsVUFBVTs7c0JBQ3RCLFdBQVc7dUJBQUMsWUFBWTtnQkFLUSxXQUFXO3NCQUEzQyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFFQSxVQUFVO3NCQUF4QyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFSSxZQUFZO3NCQUE1QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFHM0IsT0FBTztzQkFEVixLQUFLO2dCQVlHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQW5pbWF0aW9uQnVpbGRlcixcbiAgQW5pbWF0aW9uRmFjdG9yeSxcbiAgQW5pbWF0aW9uUGxheWVyXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgY29sbGFwc2VBbmltYXRpb24sXG4gIGV4cGFuZEFuaW1hdGlvblxufSBmcm9tICcuL2NvbGxhcHNlLWFuaW1hdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY29sbGFwc2VdJyxcbiAgZXhwb3J0QXM6ICdicy1jb2xsYXBzZScsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8taG9zdC1tZXRhZGF0YS1wcm9wZXJ0eVxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5jb2xsYXBzZV0nOiAndHJ1ZSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBDb2xsYXBzZURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQge1xuICAvKiogVGhpcyBldmVudCBmaXJlcyBhcyBzb29uIGFzIGNvbnRlbnQgY29sbGFwc2VzICovXG4gIEBPdXRwdXQoKSBjb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxDb2xsYXBzZURpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBUaGlzIGV2ZW50IGZpcmVzIHdoZW4gY29sbGFwc2luZyBpcyBzdGFydGVkICovXG4gIEBPdXRwdXQoKSBjb2xsYXBzZXM6IEV2ZW50RW1pdHRlcjxDb2xsYXBzZURpcmVjdGl2ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKiBUaGlzIGV2ZW50IGZpcmVzIGFzIHNvb24gYXMgY29udGVudCBiZWNvbWVzIHZpc2libGUgKi9cbiAgQE91dHB1dCgpIGV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8Q29sbGFwc2VEaXJlY3RpdmU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKiogVGhpcyBldmVudCBmaXJlcyB3aGVuIGV4cGFuc2lvbiBpcyBzdGFydGVkICovXG4gIEBPdXRwdXQoKSBleHBhbmRzOiBFdmVudEVtaXR0ZXI8Q29sbGFwc2VEaXJlY3RpdmU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvLyBzaG93blxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmluJylcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zaG93JylcblxuICBpc0V4cGFuZGVkID0gdHJ1ZTtcbiAgY29sbGFwc2VOZXdWYWx1ZSA9IHRydWU7XG4gIC8vIGhpZGRlblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKSBpc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAvLyBzdGFsZSBzdGF0ZVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNlJykgaXNDb2xsYXBzZSA9IHRydWU7XG4gIC8vIGFuaW1hdGlvbiBzdGF0ZVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNpbmcnKSBpc0NvbGxhcHNpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzZXQgZGlzcGxheSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fZGlzcGxheSA9IHZhbHVlO1xuICAgIGlmICh2YWx1ZSA9PT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzQW5pbWF0ZWQgPyB0aGlzLnRvZ2dsZSgpIDogdGhpcy5zaG93KCk7XG4gIH1cblxuICAvKiogdHVybiBvbi9vZmYgYW5pbWF0aW9uICovXG4gIEBJbnB1dCgpIGlzQW5pbWF0ZWQgPSBmYWxzZTtcbiAgLyoqIEEgZmxhZyBpbmRpY2F0aW5nIHZpc2liaWxpdHkgb2YgY29udGVudCAoc2hvd24gb3IgaGlkZGVuKSAqL1xuICBASW5wdXQoKVxuICBzZXQgY29sbGFwc2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmNvbGxhcHNlTmV3VmFsdWUgPSB2YWx1ZTtcbiAgICBpZiAoIXRoaXMuX3BsYXllciB8fCB0aGlzLl9pc0FuaW1hdGlvbkRvbmUpIHtcbiAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IHZhbHVlO1xuICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICB9XG4gIH1cblxuICBnZXQgY29sbGFwc2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNFeHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX2Rpc3BsYXkgPSAnYmxvY2snO1xuICBwcml2YXRlIF9pc0FuaW1hdGlvbkRvbmU/OiBib29sZWFuO1xuICBwcml2YXRlIF9wbGF5ZXI/OiBBbmltYXRpb25QbGF5ZXI7XG4gIHByaXZhdGUgX3N0eWxlc0xvYWRlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX0NPTExBUFNFX0FDVElPTl9OQU1FID0gJ2NvbGxhcHNlJztcbiAgcHJpdmF0ZSBfRVhQQU5EX0FDVElPTl9OQU1FID0gJ2V4cGFuZCc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfZmFjdG9yeUNvbGxhcHNlQW5pbWF0aW9uOiBBbmltYXRpb25GYWN0b3J5O1xuICBwcml2YXRlIHJlYWRvbmx5IF9mYWN0b3J5RXhwYW5kQW5pbWF0aW9uOiBBbmltYXRpb25GYWN0b3J5O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgX2J1aWxkZXI6IEFuaW1hdGlvbkJ1aWxkZXJcbiAgKSB7XG4gICAgdGhpcy5fZmFjdG9yeUNvbGxhcHNlQW5pbWF0aW9uID0gX2J1aWxkZXIuYnVpbGQoY29sbGFwc2VBbmltYXRpb24pO1xuICAgIHRoaXMuX2ZhY3RvcnlFeHBhbmRBbmltYXRpb24gPSBfYnVpbGRlci5idWlsZChleHBhbmRBbmltYXRpb24pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0eWxlc0xvYWRlZCA9IHRydWU7XG5cbiAgICBpZiAoIXRoaXMuX3BsYXllciB8fCAhdGhpcy5faXNBbmltYXRpb25Eb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fcGxheWVyLnJlc2V0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsICcqJyk7XG4gIH1cblxuICAvKiogYWxsb3dzIHRvIG1hbnVhbGx5IHRvZ2dsZSBjb250ZW50IHZpc2liaWxpdHkgKi9cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cblxuICAvKiogYWxsb3dzIHRvIG1hbnVhbGx5IGhpZGUgY29udGVudCAqL1xuICBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuaXNDb2xsYXBzaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gdHJ1ZTtcbiAgICB0aGlzLmlzQ29sbGFwc2luZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5jb2xsYXBzZXMuZW1pdCh0aGlzKTtcblxuICAgIHRoaXMuX2lzQW5pbWF0aW9uRG9uZSA9IGZhbHNlO1xuXG4gICAgdGhpcy5hbmltYXRpb25SdW4odGhpcy5pc0FuaW1hdGVkLCB0aGlzLl9DT0xMQVBTRV9BQ1RJT05fTkFNRSkoKCkgPT4ge1xuICAgICAgdGhpcy5faXNBbmltYXRpb25Eb25lID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlTmV3VmFsdWUgIT09IHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuc2hvdygpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29sbGFwc2VkLmVtaXQodGhpcyk7XG4gICAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgfSk7XG4gIH1cbiAgLyoqIGFsbG93cyB0byBtYW51YWxseSBzaG93IGNvbGxhcHNlZCBjb250ZW50ICovXG4gIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ2Rpc3BsYXknLCB0aGlzLl9kaXNwbGF5KTtcblxuICAgIHRoaXMuaXNDb2xsYXBzaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmlzRXhwYW5kZWQgPSB0cnVlO1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzQ29sbGFwc2luZyA9IGZhbHNlO1xuXG4gICAgdGhpcy5leHBhbmRzLmVtaXQodGhpcyk7XG5cbiAgICB0aGlzLl9pc0FuaW1hdGlvbkRvbmUgPSBmYWxzZTtcbiAgICB0aGlzLmFuaW1hdGlvblJ1bih0aGlzLmlzQW5pbWF0ZWQsIHRoaXMuX0VYUEFORF9BQ1RJT05fTkFNRSkoKCkgPT4ge1xuICAgICAgdGhpcy5faXNBbmltYXRpb25Eb25lID0gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlTmV3VmFsdWUgIT09IHRoaXMuaXNDb2xsYXBzZWQgJiYgdGhpcy5pc0FuaW1hdGVkKSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZXhwYW5kZWQuZW1pdCh0aGlzKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyLnJlbW92ZVN0eWxlKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycpO1xuICAgIH0pO1xuICB9XG5cbiAgYW5pbWF0aW9uUnVuKGlzQW5pbWF0ZWQ6IGJvb2xlYW4sIGFjdGlvbjogc3RyaW5nKSB7XG4gICAgaWYgKCFpc0FuaW1hdGVkIHx8ICF0aGlzLl9zdHlsZXNMb2FkZWQpIHtcbiAgICAgIHJldHVybiAoY2FsbGJhY2s6ICgpID0+IHZvaWQpID0+IGNhbGxiYWNrKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVuZGVyZXIuc2V0U3R5bGUodGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQsICdjb2xsYXBzZScpO1xuXG4gICAgY29uc3QgZmFjdG9yeUFuaW1hdGlvbiA9IChhY3Rpb24gPT09IHRoaXMuX0VYUEFORF9BQ1RJT05fTkFNRSlcbiAgICAgID8gdGhpcy5fZmFjdG9yeUV4cGFuZEFuaW1hdGlvblxuICAgICAgOiB0aGlzLl9mYWN0b3J5Q29sbGFwc2VBbmltYXRpb247XG5cbiAgICBpZiAodGhpcy5fcGxheWVyKSB7XG4gICAgICB0aGlzLl9wbGF5ZXIucmVzZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLl9wbGF5ZXIgPSBmYWN0b3J5QW5pbWF0aW9uLmNyZWF0ZSh0aGlzLl9lbC5uYXRpdmVFbGVtZW50KTtcbiAgICB0aGlzLl9wbGF5ZXIucGxheSgpO1xuXG4gICAgcmV0dXJuIChjYWxsYmFjazogKCkgPT4gdm9pZCkgPT4gdGhpcy5fcGxheWVyPy5vbkRvbmUoY2FsbGJhY2spO1xuICB9XG59XG4iXX0=
|
@@ -5,11 +5,11 @@ export class CollapseModule {
|
|
5
5
|
static forRoot() {
|
6
6
|
return { ngModule: CollapseModule, providers: [] };
|
7
7
|
}
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
10
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, declarations: [CollapseDirective], exports: [CollapseDirective] }); }
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule }); }
|
11
11
|
}
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, decorators: [{
|
13
13
|
type: NgModule,
|
14
14
|
args: [{
|
15
15
|
declarations: [CollapseDirective],
|
@@ -132,10 +132,10 @@ class CollapseDirective {
|
|
132
132
|
this._player.play();
|
133
133
|
return (callback) => this._player?.onDone(callback);
|
134
134
|
}
|
135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
136
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
135
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Directive }); }
|
136
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.4", type: CollapseDirective, selector: "[collapse]", inputs: { display: "display", isAnimated: "isAnimated", collapse: "collapse" }, outputs: { collapsed: "collapsed", collapses: "collapses", expanded: "expanded", expands: "expands" }, host: { properties: { "class.collapse": "this.isCollapse", "class.in": "this.isExpanded", "class.show": "this.isExpanded", "attr.aria-hidden": "this.isCollapsed", "class.collapsing": "this.isCollapsing" } }, exportAs: ["bs-collapse"], ngImport: i0 }); }
|
137
137
|
}
|
138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseDirective, decorators: [{
|
139
139
|
type: Directive,
|
140
140
|
args: [{
|
141
141
|
selector: '[collapse]',
|
@@ -145,7 +145,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImpor
|
|
145
145
|
'[class.collapse]': 'true'
|
146
146
|
}
|
147
147
|
}]
|
148
|
-
}], ctorParameters:
|
148
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.AnimationBuilder }], propDecorators: { collapsed: [{
|
149
149
|
type: Output
|
150
150
|
}], collapses: [{
|
151
151
|
type: Output
|
@@ -180,11 +180,11 @@ class CollapseModule {
|
|
180
180
|
static forRoot() {
|
181
181
|
return { ngModule: CollapseModule, providers: [] };
|
182
182
|
}
|
183
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
184
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
185
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
183
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
184
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, declarations: [CollapseDirective], exports: [CollapseDirective] }); }
|
185
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule }); }
|
186
186
|
}
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: CollapseModule, decorators: [{
|
188
188
|
type: NgModule,
|
189
189
|
args: [{
|
190
190
|
declarations: [CollapseDirective],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-collapse.mjs","sources":["../../../../src/collapse/collapse-animations.ts","../../../../src/collapse/collapse.directive.ts","../../../../src/collapse/collapse.module.ts","../../../../src/collapse/ngx-bootstrap-collapse.ts"],"sourcesContent":["import {\n animate,\n style,\n AnimationMetadata\n} from '@angular/animations';\n\nexport const COLLAPSE_ANIMATION_TIMING = '400ms cubic-bezier(0.4,0.0,0.2,1)';\n\nexport const expandAnimation: AnimationMetadata[] = [\n style({ height: 0, visibility: 'hidden' }),\n animate(\n COLLAPSE_ANIMATION_TIMING,\n style({ height: '*', visibility: 'visible' })\n )\n];\n\nexport const collapseAnimation: AnimationMetadata[] = [\n style({ height: '*', visibility: 'visible' }),\n animate(\n COLLAPSE_ANIMATION_TIMING,\n style({ height: 0, visibility: 'hidden' })\n )\n];\n","import {\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer\n} from '@angular/animations';\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\n\nimport {\n collapseAnimation,\n expandAnimation\n} from './collapse-animations';\n\n@Directive({\n selector: '[collapse]',\n exportAs: 'bs-collapse',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[class.collapse]': 'true'\n }\n})\nexport class CollapseDirective implements AfterViewChecked {\n /** This event fires as soon as content collapses */\n @Output() collapsed: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires when collapsing is started */\n @Output() collapses: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires as soon as content becomes visible */\n @Output() expanded: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires when expansion is started */\n @Output() expands: EventEmitter<CollapseDirective> = new EventEmitter();\n // shown\n @HostBinding('class.in')\n @HostBinding('class.show')\n\n isExpanded = true;\n collapseNewValue = true;\n // hidden\n @HostBinding('attr.aria-hidden') isCollapsed = false;\n // stale state\n @HostBinding('class.collapse') isCollapse = true;\n // animation state\n @HostBinding('class.collapsing') isCollapsing = false;\n\n @Input()\n set display(value: string) {\n this._display = value;\n if (value === 'none') {\n this.hide();\n return;\n }\n\n this.isAnimated ? this.toggle() : this.show();\n }\n\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** A flag indicating visibility of content (shown or hidden) */\n @Input()\n set collapse(value: boolean) {\n this.collapseNewValue = value;\n if (!this._player || this._isAnimationDone) {\n this.isExpanded = value;\n this.toggle();\n }\n }\n\n get collapse(): boolean {\n return this.isExpanded;\n }\n\n private _display = 'block';\n private _isAnimationDone?: boolean;\n private _player?: AnimationPlayer;\n private _stylesLoaded = false;\n\n private _COLLAPSE_ACTION_NAME = 'collapse';\n private _EXPAND_ACTION_NAME = 'expand';\n\n private readonly _factoryCollapseAnimation: AnimationFactory;\n private readonly _factoryExpandAnimation: AnimationFactory;\n\n constructor(\n private _el: ElementRef,\n private _renderer: Renderer2,\n _builder: AnimationBuilder\n ) {\n this._factoryCollapseAnimation = _builder.build(collapseAnimation);\n this._factoryExpandAnimation = _builder.build(expandAnimation);\n }\n\n ngAfterViewChecked(): void {\n this._stylesLoaded = true;\n\n if (!this._player || !this._isAnimationDone) {\n return;\n }\n\n this._player.reset();\n this._renderer.setStyle(this._el.nativeElement, 'height', '*');\n }\n\n /** allows to manually toggle content visibility */\n toggle(): void {\n if (this.isExpanded) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /** allows to manually hide content */\n hide(): void {\n this.isCollapsing = true;\n this.isExpanded = false;\n this.isCollapsed = true;\n this.isCollapsing = false;\n\n this.collapses.emit(this);\n\n this._isAnimationDone = false;\n\n this.animationRun(this.isAnimated, this._COLLAPSE_ACTION_NAME)(() => {\n this._isAnimationDone = true;\n if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\n this.show();\n\n return;\n }\n this.collapsed.emit(this);\n this._renderer.setStyle(this._el.nativeElement, 'display', 'none');\n });\n }\n /** allows to manually show collapsed content */\n show(): void {\n this._renderer.setStyle(this._el.nativeElement, 'display', this._display);\n\n this.isCollapsing = true;\n this.isExpanded = true;\n this.isCollapsed = false;\n this.isCollapsing = false;\n\n this.expands.emit(this);\n\n this._isAnimationDone = false;\n this.animationRun(this.isAnimated, this._EXPAND_ACTION_NAME)(() => {\n this._isAnimationDone = true;\n if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\n this.hide();\n\n return;\n }\n this.expanded.emit(this);\n this._renderer.removeStyle(this._el.nativeElement, 'overflow');\n });\n }\n\n animationRun(isAnimated: boolean, action: string) {\n if (!isAnimated || !this._stylesLoaded) {\n return (callback: () => void) => callback();\n }\n\n this._renderer.setStyle(this._el.nativeElement, 'overflow', 'hidden');\n this._renderer.addClass(this._el.nativeElement, 'collapse');\n\n const factoryAnimation = (action === this._EXPAND_ACTION_NAME)\n ? this._factoryExpandAnimation\n : this._factoryCollapseAnimation;\n\n if (this._player) {\n this._player.reset();\n }\n\n this._player = factoryAnimation.create(this._el.nativeElement);\n this._player.play();\n\n return (callback: () => void) => this._player?.onDone(callback);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n declarations: [CollapseDirective],\n exports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMO,MAAM,yBAAyB,GAAG,mCAAmC,CAAC;AAEtE,MAAM,eAAe,GAAwB;IAClD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAC1C,IAAA,OAAO,CACL,yBAAyB,EACzB,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAC9C;CACF,CAAC;AAEK,MAAM,iBAAiB,GAAwB;IACpD,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AAC7C,IAAA,OAAO,CACL,yBAAyB,EACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAC3C;CACF;;MCQY,iBAAiB,CAAA;IAsB5B,IACI,OAAO,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;KAC/C;;IAKD,IACI,QAAQ,CAAC,KAAc,EAAA;AACzB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,gBAAgB,EAAE;AAC1C,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,SAAA;KACF;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;KACxB;AAaD,IAAA,WAAA,CACU,GAAe,EACf,SAAoB,EAC5B,QAA0B,EAAA;QAFlB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAY;QACf,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;;AA5DpB,QAAA,IAAA,CAAA,SAAS,GAAoC,IAAI,YAAY,EAAE,CAAC;;AAEhE,QAAA,IAAA,CAAA,SAAS,GAAoC,IAAI,YAAY,EAAE,CAAC;;AAEhE,QAAA,IAAA,CAAA,QAAQ,GAAoC,IAAI,YAAY,EAAE,CAAC;;AAE/D,QAAA,IAAA,CAAA,OAAO,GAAoC,IAAI,YAAY,EAAE,CAAC;;QAKxE,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;QAClB,IAAgB,CAAA,gBAAA,GAAG,IAAI,CAAC;;QAES,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;;QAEtB,IAAU,CAAA,UAAA,GAAG,IAAI,CAAC;;QAEhB,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;;QAc7C,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;QAepB,IAAQ,CAAA,QAAA,GAAG,OAAO,CAAC;QAGnB,IAAa,CAAA,aAAA,GAAG,KAAK,CAAC;QAEtB,IAAqB,CAAA,qBAAA,GAAG,UAAU,CAAC;QACnC,IAAmB,CAAA,mBAAA,GAAG,QAAQ,CAAC;QAUrC,IAAI,CAAC,yBAAyB,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACnE,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;KAChE;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC3C,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;KAChE;;IAGD,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,IAAI,EAAE,CAAC;AACb,SAAA;KACF;;IAGD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE1B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAE9B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,MAAK;AAClE,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEZ,OAAO;AACR,aAAA;AACD,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACrE,SAAC,CAAC,CAAC;KACJ;;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAE1E,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAE1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAExB,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAK;AAChE,YAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjE,IAAI,CAAC,IAAI,EAAE,CAAC;gBAEZ,OAAO;AACR,aAAA;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACjE,SAAC,CAAC,CAAC;KACJ;IAED,YAAY,CAAC,UAAmB,EAAE,MAAc,EAAA;AAC9C,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACtC,YAAA,OAAO,CAAC,QAAoB,KAAK,QAAQ,EAAE,CAAC;AAC7C,SAAA;AAED,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,gBAAgB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,mBAAmB;cACzD,IAAI,CAAC,uBAAuB;AAC9B,cAAE,IAAI,CAAC,yBAAyB,CAAC;QAEnC,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;AAEpB,QAAA,OAAO,CAAC,QAAoB,KAAK,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;KACjE;8GA3JU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAjB,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,SAAA,EAAA,WAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,aAAa;;AAEvB,oBAAA,IAAI,EAAE;AACJ,wBAAA,kBAAkB,EAAE,MAAM;AAC3B,qBAAA;AACF,iBAAA,CAAA;wJAGW,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBAEG,SAAS,EAAA,CAAA;sBAAlB,MAAM;gBAEG,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBAEG,OAAO,EAAA,CAAA;sBAAhB,MAAM;gBAKP,UAAU,EAAA,CAAA;sBAHT,WAAW;uBAAC,UAAU,CAAA;;sBACtB,WAAW;uBAAC,YAAY,CAAA;gBAKQ,WAAW,EAAA,CAAA;sBAA3C,WAAW;uBAAC,kBAAkB,CAAA;gBAEA,UAAU,EAAA,CAAA;sBAAxC,WAAW;uBAAC,gBAAgB,CAAA;gBAEI,YAAY,EAAA,CAAA;sBAA5C,WAAW;uBAAC,kBAAkB,CAAA;gBAG3B,OAAO,EAAA,CAAA;sBADV,KAAK;gBAYG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAGF,QAAQ,EAAA,CAAA;sBADX,KAAK;;;MC1DK,cAAc,CAAA;AACzB,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;KACpD;8GAHU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;+GAAd,cAAc,EAAA,YAAA,EAAA,CAHV,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACtB,iBAAiB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAEhB,cAAc,EAAA,CAAA,CAAA,EAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iBAAiB,CAAC;oBACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC7B,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-collapse.mjs","sources":["../../../../src/collapse/collapse-animations.ts","../../../../src/collapse/collapse.directive.ts","../../../../src/collapse/collapse.module.ts","../../../../src/collapse/ngx-bootstrap-collapse.ts"],"sourcesContent":["import {\n animate,\n style,\n AnimationMetadata\n} from '@angular/animations';\n\nexport const COLLAPSE_ANIMATION_TIMING = '400ms cubic-bezier(0.4,0.0,0.2,1)';\n\nexport const expandAnimation: AnimationMetadata[] = [\n style({ height: 0, visibility: 'hidden' }),\n animate(\n COLLAPSE_ANIMATION_TIMING,\n style({ height: '*', visibility: 'visible' })\n )\n];\n\nexport const collapseAnimation: AnimationMetadata[] = [\n style({ height: '*', visibility: 'visible' }),\n animate(\n COLLAPSE_ANIMATION_TIMING,\n style({ height: 0, visibility: 'hidden' })\n )\n];\n","import {\n AnimationBuilder,\n AnimationFactory,\n AnimationPlayer\n} from '@angular/animations';\n\nimport {\n AfterViewChecked,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\n\nimport {\n collapseAnimation,\n expandAnimation\n} from './collapse-animations';\n\n@Directive({\n selector: '[collapse]',\n exportAs: 'bs-collapse',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\n host: {\n '[class.collapse]': 'true'\n }\n})\nexport class CollapseDirective implements AfterViewChecked {\n /** This event fires as soon as content collapses */\n @Output() collapsed: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires when collapsing is started */\n @Output() collapses: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires as soon as content becomes visible */\n @Output() expanded: EventEmitter<CollapseDirective> = new EventEmitter();\n /** This event fires when expansion is started */\n @Output() expands: EventEmitter<CollapseDirective> = new EventEmitter();\n // shown\n @HostBinding('class.in')\n @HostBinding('class.show')\n\n isExpanded = true;\n collapseNewValue = true;\n // hidden\n @HostBinding('attr.aria-hidden') isCollapsed = false;\n // stale state\n @HostBinding('class.collapse') isCollapse = true;\n // animation state\n @HostBinding('class.collapsing') isCollapsing = false;\n\n @Input()\n set display(value: string) {\n this._display = value;\n if (value === 'none') {\n this.hide();\n return;\n }\n\n this.isAnimated ? this.toggle() : this.show();\n }\n\n /** turn on/off animation */\n @Input() isAnimated = false;\n /** A flag indicating visibility of content (shown or hidden) */\n @Input()\n set collapse(value: boolean) {\n this.collapseNewValue = value;\n if (!this._player || this._isAnimationDone) {\n this.isExpanded = value;\n this.toggle();\n }\n }\n\n get collapse(): boolean {\n return this.isExpanded;\n }\n\n private _display = 'block';\n private _isAnimationDone?: boolean;\n private _player?: AnimationPlayer;\n private _stylesLoaded = false;\n\n private _COLLAPSE_ACTION_NAME = 'collapse';\n private _EXPAND_ACTION_NAME = 'expand';\n\n private readonly _factoryCollapseAnimation: AnimationFactory;\n private readonly _factoryExpandAnimation: AnimationFactory;\n\n constructor(\n private _el: ElementRef,\n private _renderer: Renderer2,\n _builder: AnimationBuilder\n ) {\n this._factoryCollapseAnimation = _builder.build(collapseAnimation);\n this._factoryExpandAnimation = _builder.build(expandAnimation);\n }\n\n ngAfterViewChecked(): void {\n this._stylesLoaded = true;\n\n if (!this._player || !this._isAnimationDone) {\n return;\n }\n\n this._player.reset();\n this._renderer.setStyle(this._el.nativeElement, 'height', '*');\n }\n\n /** allows to manually toggle content visibility */\n toggle(): void {\n if (this.isExpanded) {\n this.hide();\n } else {\n this.show();\n }\n }\n\n /** allows to manually hide content */\n hide(): void {\n this.isCollapsing = true;\n this.isExpanded = false;\n this.isCollapsed = true;\n this.isCollapsing = false;\n\n this.collapses.emit(this);\n\n this._isAnimationDone = false;\n\n this.animationRun(this.isAnimated, this._COLLAPSE_ACTION_NAME)(() => {\n this._isAnimationDone = true;\n if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\n this.show();\n\n return;\n }\n this.collapsed.emit(this);\n this._renderer.setStyle(this._el.nativeElement, 'display', 'none');\n });\n }\n /** allows to manually show collapsed content */\n show(): void {\n this._renderer.setStyle(this._el.nativeElement, 'display', this._display);\n\n this.isCollapsing = true;\n this.isExpanded = true;\n this.isCollapsed = false;\n this.isCollapsing = false;\n\n this.expands.emit(this);\n\n this._isAnimationDone = false;\n this.animationRun(this.isAnimated, this._EXPAND_ACTION_NAME)(() => {\n this._isAnimationDone = true;\n if (this.collapseNewValue !== this.isCollapsed && this.isAnimated) {\n this.hide();\n\n return;\n }\n this.expanded.emit(this);\n this._renderer.removeStyle(this._el.nativeElement, 'overflow');\n });\n }\n\n animationRun(isAnimated: boolean, action: string) {\n if (!isAnimated || !this._stylesLoaded) {\n return (callback: () => void) => callback();\n }\n\n this._renderer.setStyle(this._el.nativeElement, 'overflow', 'hidden');\n this._renderer.addClass(this._el.nativeElement, 'collapse');\n\n const factoryAnimation = (action === this._EXPAND_ACTION_NAME)\n ? this._factoryExpandAnimation\n : this._factoryCollapseAnimation;\n\n if (this._player) {\n this._player.reset();\n }\n\n this._player = factoryAnimation.create(this._el.nativeElement);\n this._player.play();\n\n return (callback: () => void) => this._player?.onDone(callback);\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { CollapseDirective } from './collapse.directive';\n\n@NgModule({\n declarations: [CollapseDirective],\n exports: [CollapseDirective]\n})\nexport class CollapseModule {\n static forRoot(): ModuleWithProviders<CollapseModule> {\n return { ngModule: CollapseModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -22,14 +22,14 @@ export class ComponentLoaderFactory {
|
|
22
22
|
createLoader(_elementRef, _viewContainerRef, _renderer) {
|
23
23
|
return new ComponentLoader(_viewContainerRef, _renderer, _elementRef, this._injector, this._componentFactoryResolver, this._ngZone, this._applicationRef, this._posService, this._document);
|
24
24
|
}
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
26
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.PositioningService }, { token: i0.ApplicationRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
26
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, providedIn: 'root' }); }
|
27
27
|
}
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, decorators: [{
|
29
29
|
type: Injectable,
|
30
30
|
args: [{ providedIn: 'root' }]
|
31
|
-
}], ctorParameters:
|
31
|
+
}], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i0.Injector }, { type: i1.PositioningService }, { type: i0.ApplicationRef }, { type: Document, decorators: [{
|
32
32
|
type: Inject,
|
33
33
|
args: [DOCUMENT]
|
34
|
-
}] }]
|
34
|
+
}] }] });
|
35
35
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LWxvYWRlci5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC1sb2FkZXIvY29tcG9uZW50LWxvYWRlci5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQUUsd0JBQXdCLEVBQWMsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQ2xGLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFHM0MsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxZQUFvQix5QkFBbUQsRUFDbkQsT0FBZSxFQUNmLFNBQW1CLEVBQ25CLFdBQStCLEVBQy9CLGVBQStCLEVBQ2IsU0FBbUI7UUFMckMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEwQjtRQUNuRCxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUNuQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0Isb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQ2IsY0FBUyxHQUFULFNBQVMsQ0FBVTtJQUN0RCxDQUFDO0lBRUo7Ozs7O09BS0c7SUFDSCxZQUFZLENBQW1CLFdBQXdCLEVBQ3ZDLGlCQUFvQyxFQUNwQyxTQUFxQjtRQUVuQyxPQUFPLElBQUksZUFBZSxDQUN4QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQUksQ0FBQyx5QkFBeUIsRUFDOUIsSUFBSSxDQUFDLE9BQU8sRUFDWixJQUFJLENBQUMsZUFBZSxFQUNwQixJQUFJLENBQUMsV0FBVyxFQUNoQixJQUFJLENBQUMsU0FBUyxDQUNmLENBQUM7SUFDSixDQUFDOzhHQTlCVSxzQkFBc0Isd0tBTWIsUUFBUTtrSEFOakIsc0JBQXNCLGNBRFYsTUFBTTs7MkZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUM7OzBCQU9qQixNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZiwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBFbGVtZW50UmVmLCBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLFxuICBOZ1pvbmUsIFJlbmRlcmVyMiwgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudExvYWRlciB9IGZyb20gJy4vY29tcG9uZW50LWxvYWRlci5jbGFzcyc7XG5pbXBvcnQgeyBQb3NpdGlvbmluZ1NlcnZpY2UgfSBmcm9tICduZ3gtYm9vdHN0cmFwL3Bvc2l0aW9uaW5nJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50TG9hZGVyRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgICAgICAgICBwcml2YXRlIF9uZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICAgICAgICBwcml2YXRlIF9wb3NTZXJ2aWNlOiBQb3NpdGlvbmluZ1NlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2FwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIF9lbGVtZW50UmVmXG4gICAqIEBwYXJhbSBfdmlld0NvbnRhaW5lclJlZlxuICAgKiBAcGFyYW0gX3JlbmRlcmVyXG4gICAqL1xuICBjcmVhdGVMb2FkZXI8VCBleHRlbmRzIG9iamVjdD4oX2VsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgX3ZpZXdDb250YWluZXJSZWY/OiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICAgICAgICAgICAgX3JlbmRlcmVyPzogUmVuZGVyZXIyLFxuICApOiBDb21wb25lbnRMb2FkZXI8VD4ge1xuICAgIHJldHVybiBuZXcgQ29tcG9uZW50TG9hZGVyPFQ+KFxuICAgICAgX3ZpZXdDb250YWluZXJSZWYsXG4gICAgICBfcmVuZGVyZXIsXG4gICAgICBfZWxlbWVudFJlZixcbiAgICAgIHRoaXMuX2luamVjdG9yLFxuICAgICAgdGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICAgdGhpcy5fbmdab25lLFxuICAgICAgdGhpcy5fYXBwbGljYXRpb25SZWYsXG4gICAgICB0aGlzLl9wb3NTZXJ2aWNlLFxuICAgICAgdGhpcy5fZG9jdW1lbnRcbiAgICApO1xuICB9XG59XG4iXX0=
|
@@ -323,16 +323,16 @@ class ComponentLoaderFactory {
|
|
323
323
|
createLoader(_elementRef, _viewContainerRef, _renderer) {
|
324
324
|
return new ComponentLoader(_viewContainerRef, _renderer, _elementRef, this._injector, this._componentFactoryResolver, this._ngZone, this._applicationRef, this._posService, this._document);
|
325
325
|
}
|
326
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
327
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
326
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.PositioningService }, { token: i0.ApplicationRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
327
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, providedIn: 'root' }); }
|
328
328
|
}
|
329
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
329
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: ComponentLoaderFactory, decorators: [{
|
330
330
|
type: Injectable,
|
331
331
|
args: [{ providedIn: 'root' }]
|
332
|
-
}], ctorParameters:
|
332
|
+
}], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i0.Injector }, { type: i1.PositioningService }, { type: i0.ApplicationRef }, { type: Document, decorators: [{
|
333
333
|
type: Inject,
|
334
334
|
args: [DOCUMENT]
|
335
|
-
}] }]
|
335
|
+
}] }] });
|
336
336
|
|
337
337
|
/**
|
338
338
|
* Generated bundle index. Do not edit.
|
@@ -15,19 +15,18 @@ export declare class BsDatepickerInputDirective implements ControlValueAccessor,
|
|
15
15
|
private _value?;
|
16
16
|
private _subs;
|
17
17
|
constructor(_picker: BsDatepickerDirective, _localeService: BsLocaleService, _renderer: Renderer2, _elRef: ElementRef, changeDetection: ChangeDetectorRef);
|
18
|
+
onChange(event: Event): void;
|
19
|
+
onBlur(): void;
|
20
|
+
hide(): void;
|
18
21
|
ngOnInit(): void;
|
19
22
|
ngOnDestroy(): void;
|
20
|
-
onKeydownEvent(event: KeyboardEvent): void;
|
21
23
|
_setInputValue(value?: Date): void;
|
22
|
-
onChange(event: Event): void;
|
23
24
|
validate(c: AbstractControl): ValidationErrors | null;
|
24
25
|
registerOnValidatorChange(fn: () => void): void;
|
25
26
|
writeValue(value: Date | string): void;
|
26
27
|
setDisabledState(isDisabled: boolean): void;
|
27
28
|
registerOnChange(fn: () => void): void;
|
28
29
|
registerOnTouched(fn: () => void): void;
|
29
|
-
onBlur(): void;
|
30
|
-
hide(): void;
|
31
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsDatepickerInputDirective, [{ host: true; }, null, null, null, null]>;
|
32
31
|
static ɵdir: i0.ɵɵDirectiveDeclaration<BsDatepickerInputDirective, "input[bsDatepicker]", never, {}, {}, never, never, false, never>;
|
33
32
|
}
|