@mintplayer/ng-bootstrap 21.4.0 → 21.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +6 -1
- package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +21 -2
- package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +2 -1
- package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +3 -0
- package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
- package/package.json +2 -2
- package/types/mintplayer-ng-bootstrap-carousel.d.ts +1 -0
- package/types/mintplayer-ng-bootstrap-navbar.d.ts +1 -0
- package/types/mintplayer-ng-bootstrap-offcanvas.d.ts +1 -0
- package/types/mintplayer-ng-bootstrap-searchbox.d.ts +3 -2
|
@@ -74,6 +74,7 @@ class BsCarouselComponent {
|
|
|
74
74
|
this.isServerSide = isPlatformServer(this.platformId);
|
|
75
75
|
this.currentImageIndex = signal(0, ...(ngDevMode ? [{ debugName: "currentImageIndex" }] : []));
|
|
76
76
|
this.images = signal(null, ...(ngDevMode ? [{ debugName: "images" }] : []));
|
|
77
|
+
this.isDestroyed = false;
|
|
77
78
|
// Inputs
|
|
78
79
|
this.indicators = input(false, ...(ngDevMode ? [{ debugName: "indicators" }] : []));
|
|
79
80
|
this.keyboardEvents = input(true, ...(ngDevMode ? [{ debugName: "keyboardEvents" }] : []));
|
|
@@ -124,10 +125,13 @@ class BsCarouselComponent {
|
|
|
124
125
|
// Emit slideChange when currentImageIndex changes
|
|
125
126
|
effect(() => {
|
|
126
127
|
const index = this.currentImageIndex();
|
|
127
|
-
this.
|
|
128
|
+
if (!this.isDestroyed) {
|
|
129
|
+
this.slideChange.emit(index);
|
|
130
|
+
}
|
|
128
131
|
});
|
|
129
132
|
// Cleanup on destroy
|
|
130
133
|
this.destroyRef.onDestroy(() => {
|
|
134
|
+
this.isDestroyed = true;
|
|
131
135
|
this.clearAutoAdvance();
|
|
132
136
|
this.resizeObserver?.disconnect();
|
|
133
137
|
});
|
|
@@ -232,6 +236,7 @@ class BsCarouselComponent {
|
|
|
232
236
|
}
|
|
233
237
|
}
|
|
234
238
|
ngOnDestroy() {
|
|
239
|
+
this.isDestroyed = true;
|
|
235
240
|
this.resizeObserver?.unobserve(this.innerElement?.nativeElement);
|
|
236
241
|
this.resizeObserver?.disconnect();
|
|
237
242
|
this.clearAutoAdvance();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-img/carousel-img.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, ElementRef } from '@angular/core';\nimport { BsCarouselComponent } from '../carousel/carousel.component';\n\n@Directive({\n selector: '*[bsCarouselImage]',\n standalone: true,\n})\nexport class BsCarouselImageDirective {\n private templateRef = inject(TemplateRef<any>);\n private carousel = inject(BsCarouselComponent);\n private element = inject(ElementRef<HTMLElement>);\n\n public itemTemplate: TemplateRef<any>;\n id: number;\n isFirst = false;\n\n constructor() {\n this.itemTemplate = this.templateRef;\n this.id = this.carousel.imageCounter++;\n }\n}\n","import { isPlatformServer, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, ContentChildren, DestroyRef, effect, ElementRef, forwardRef, HostBinding, HostListener, inject, input, OnDestroy, output, PLATFORM_ID, QueryList, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective, BsSwipeDirective } from '@mintplayer/ng-swiper/swiper';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n standalone: true,\n imports: [\n NgTemplateOutlet,\n BsSwipeContainerDirective,\n BsSwipeDirective,\n BsNoNoscriptDirective,\n ],\n animations: [FadeInOutAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCarouselComponent implements AfterViewInit, OnDestroy {\n private platformId = inject(PLATFORM_ID);\n private destroyRef = inject(DestroyRef);\n\n colors = Color;\n isServerSide = isPlatformServer(this.platformId);\n currentImageIndex = signal(0);\n images = signal<QueryList<BsCarouselImageDirective> | null>(null);\n resizeObserver?: ResizeObserver;\n private intervalId?: ReturnType<typeof setInterval>;\n\n // Inputs\n indicators = input(false);\n keyboardEvents = input(true);\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n animation = input<'fade' | 'slide' | 'none'>('slide');\n interval = input<number | null>(null);\n wrap = input(true);\n\n // Outputs\n slideChange = output<number>();\n animationStart = output<void>();\n animationEnd = output<void>();\n\n // Computed signals\n imageCount = computed(() => this.images()?.length ?? 0);\n\n firstImageTemplate = computed<TemplateRef<any> | null>(() => {\n const images = this.images();\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n });\n\n lastImageTemplate = computed<TemplateRef<any> | null>(() => {\n const images = this.images();\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n });\n\n @ViewChild('innerElement') innerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set imagesQuery(value: QueryList<BsCarouselImageDirective>) {\n this.images.set(value);\n value.forEach((item, index) => item.isFirst = (index === 0));\n }\n\n @HostBinding('@.disabled') public animationsDisabled = false;\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n @HostListener('document:keydown.ArrowUp', ['$event'])\n @HostListener('document:keydown.ArrowDown', ['$event'])\n onKeyPress(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.keyboardEvents()) {\n let handled = false;\n const orientation = this.orientation();\n switch (ev.key) {\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n this.previous();\n handled = true;\n }\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n this.next();\n handled = true;\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n this.previous();\n handled = true;\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n this.next();\n handled = true;\n }\n break;\n }\n if (handled) {\n ev.preventDefault();\n }\n }\n }\n\n constructor() {\n // Setup auto-advance interval effect\n effect(() => {\n const intervalTime = this.interval();\n this.clearAutoAdvance();\n\n if (intervalTime && intervalTime > 0) {\n this.intervalId = setInterval(() => {\n this.next();\n }, intervalTime);\n }\n });\n\n // Emit slideChange when currentImageIndex changes\n effect(() => {\n const index = this.currentImageIndex();\n this.slideChange.emit(index);\n });\n\n // Cleanup on destroy\n this.destroyRef.onDestroy(() => {\n this.clearAutoAdvance();\n this.resizeObserver?.disconnect();\n });\n }\n\n private clearAutoAdvance() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = undefined;\n }\n }\n\n previous() {\n const animation = this.animation();\n const imageCount = this.imageCount();\n const wrap = this.wrap();\n\n switch (animation) {\n case 'fade':\n case 'none': {\n const currentIndex = this.currentImageIndex();\n if (currentIndex > 0) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(currentIndex - 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n } else if (wrap) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(imageCount - 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n }\n break;\n }\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n next() {\n const animation = this.animation();\n const imageCount = this.imageCount();\n const wrap = this.wrap();\n\n switch (animation) {\n case 'fade':\n case 'none': {\n const currentIndex = this.currentImageIndex();\n if (currentIndex < imageCount - 1) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(currentIndex + 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n } else if (wrap) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(0);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n }\n break;\n }\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n goto(index: number) {\n const animation = this.animation();\n switch (animation) {\n case 'fade':\n case 'none':\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(index);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n break;\n case 'slide':\n this.swipeContainer.goto(index);\n break;\n }\n }\n\n imageCounter = 1;\n\n ngAfterViewInit() {\n if (!this.isServerSide) {\n this.resizeObserver = new ResizeObserver(() => {\n // Signals automatically trigger change detection in zoneless mode\n // The resize will be picked up by the observe-size directive\n });\n this.resizeObserver.observe(this.innerElement.nativeElement);\n }\n }\n\n ngOnDestroy() {\n this.resizeObserver?.unobserve(this.innerElement?.nativeElement);\n this.resizeObserver?.disconnect();\n this.clearAutoAdvance();\n }\n\n onContainerAnimationStart() {\n this.animationStart.emit();\n }\n\n onContainerAnimationEnd() {\n this.animationEnd.emit();\n }\n\n onImageIndexChange(index: number) {\n this.currentImageIndex.set(index);\n }\n}\n","@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n <div class=\"carousel-inner d-grid\">\n @let imagesValue = images();\n @if (imageCount(); as imageCount) {\n @for (image of imagesValue; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\"\n [class.flex-column]=\"orientation() === 'vertical'\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators()) {\n <div class=\"carousel-indicators\"\n [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of imagesValue; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n\n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </div>\n </div>\n} @else {\n @switch (animation()) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\"\n [style.height.px]=\"swipeContainer.currentSlideHeight()\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"swipeContainer.goto(i)\"\n [class.active]=\"swipeContainer.imageIndex() === i\" data-bs-target\n [attr.aria-current]=\"swipeContainer.imageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden pe-none\" [class.text-nowrap]=\"orientation() === 'horizontal'\"\n [class.carousel-inner-vertical]=\"orientation() === 'vertical'\" #innerElement\n [style.height.px]=\"swipeContainer.currentSlideHeight()\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\"\n (imageIndexChange)=\"onImageIndexChange($event)\"\n (animationStart)=\"onContainerAnimationStart()\"\n (animationEnd)=\"onContainerAnimationEnd()\"\n [orientation]=\"orientation()\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate()\"></ng-container>\n </div>\n @for (image of images(); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"goto(i)\"\n [class.active]=\"currentImageIndex() === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\" #innerElement>\n @for (image of images(); track image.id; let i = $index) {\n @if (currentImageIndex() === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('none') {\n <div class=\"carousel mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"goto(i)\"\n [class.active]=\"currentImageIndex() === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\" #innerElement>\n @for (image of images(); track image.id; let i = $index) {\n @if (currentImageIndex() === i) {\n <div class=\"carousel-item\" [class.active]=\"true\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}\n","import { Directive, HostBinding, inject } from '@angular/core';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Directive({\n selector: 'img',\n standalone: true,\n})\nexport class BsCarouselImgDirective {\n private image = inject(BsCarouselImageDirective, { optional: true });\n\n @HostBinding('attr.fetch-priority') fetchPriority: 'high' | 'low' | 'auto';\n\n constructor() {\n this.fetchPriority = (this.image && this.image.isFirst) ? 'high' : 'low';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\nimport { BsCarouselImgDirective } from './carousel-img/carousel-img.directive';\n\n@NgModule({\n imports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-carousel.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-image/carousel-image.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel/carousel.component.html","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel-img/carousel-img.directive.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/src/carousel.module.ts","../../../../libs/mintplayer-ng-bootstrap/carousel/mintplayer-ng-bootstrap-carousel.ts"],"sourcesContent":["import { Directive, inject, TemplateRef, ElementRef } from '@angular/core';\nimport { BsCarouselComponent } from '../carousel/carousel.component';\n\n@Directive({\n selector: '*[bsCarouselImage]',\n standalone: true,\n})\nexport class BsCarouselImageDirective {\n private templateRef = inject(TemplateRef<any>);\n private carousel = inject(BsCarouselComponent);\n private element = inject(ElementRef<HTMLElement>);\n\n public itemTemplate: TemplateRef<any>;\n id: number;\n isFirst = false;\n\n constructor() {\n this.itemTemplate = this.templateRef;\n this.id = this.carousel.imageCounter++;\n }\n}\n","import { isPlatformServer, NgTemplateOutlet } from '@angular/common';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, computed, ContentChildren, DestroyRef, effect, ElementRef, forwardRef, HostBinding, HostListener, inject, input, OnDestroy, output, PLATFORM_ID, QueryList, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsSwipeContainerDirective, BsSwipeDirective } from '@mintplayer/ng-swiper/swiper';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Component({\n selector: 'bs-carousel',\n templateUrl: './carousel.component.html',\n styleUrls: ['./carousel.component.scss'],\n standalone: true,\n imports: [\n NgTemplateOutlet,\n BsSwipeContainerDirective,\n BsSwipeDirective,\n BsNoNoscriptDirective,\n ],\n animations: [FadeInOutAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsCarouselComponent implements AfterViewInit, OnDestroy {\n private platformId = inject(PLATFORM_ID);\n private destroyRef = inject(DestroyRef);\n\n colors = Color;\n isServerSide = isPlatformServer(this.platformId);\n currentImageIndex = signal(0);\n images = signal<QueryList<BsCarouselImageDirective> | null>(null);\n resizeObserver?: ResizeObserver;\n private intervalId?: ReturnType<typeof setInterval>;\n private isDestroyed = false;\n\n // Inputs\n indicators = input(false);\n keyboardEvents = input(true);\n orientation = input<'horizontal' | 'vertical'>('horizontal');\n animation = input<'fade' | 'slide' | 'none'>('slide');\n interval = input<number | null>(null);\n wrap = input(true);\n\n // Outputs\n slideChange = output<number>();\n animationStart = output<void>();\n animationEnd = output<void>();\n\n // Computed signals\n imageCount = computed(() => this.images()?.length ?? 0);\n\n firstImageTemplate = computed<TemplateRef<any> | null>(() => {\n const images = this.images();\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(0);\n if (!img) return null;\n\n return img.itemTemplate;\n });\n\n lastImageTemplate = computed<TemplateRef<any> | null>(() => {\n const images = this.images();\n if (!images) return null;\n if (images.length === 0) return null;\n\n const img = images.get(images.length - 1);\n if (!img) return null;\n\n return img.itemTemplate;\n });\n\n @ViewChild('innerElement') innerElement!: ElementRef<HTMLDivElement>;\n @ViewChild('container') swipeContainer!: BsSwipeContainerDirective;\n @ContentChildren(forwardRef(() => BsCarouselImageDirective)) set imagesQuery(value: QueryList<BsCarouselImageDirective>) {\n this.images.set(value);\n value.forEach((item, index) => item.isFirst = (index === 0));\n }\n\n @HostBinding('@.disabled') public animationsDisabled = false;\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n @HostListener('document:keydown.ArrowUp', ['$event'])\n @HostListener('document:keydown.ArrowDown', ['$event'])\n onKeyPress(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.keyboardEvents()) {\n let handled = false;\n const orientation = this.orientation();\n switch (ev.key) {\n case 'ArrowLeft':\n if (orientation === 'horizontal') {\n this.previous();\n handled = true;\n }\n break;\n case 'ArrowRight':\n if (orientation === 'horizontal') {\n this.next();\n handled = true;\n }\n break;\n case 'ArrowUp':\n if (orientation === 'vertical') {\n this.previous();\n handled = true;\n }\n break;\n case 'ArrowDown':\n if (orientation === 'vertical') {\n this.next();\n handled = true;\n }\n break;\n }\n if (handled) {\n ev.preventDefault();\n }\n }\n }\n\n constructor() {\n // Setup auto-advance interval effect\n effect(() => {\n const intervalTime = this.interval();\n this.clearAutoAdvance();\n\n if (intervalTime && intervalTime > 0) {\n this.intervalId = setInterval(() => {\n this.next();\n }, intervalTime);\n }\n });\n\n // Emit slideChange when currentImageIndex changes\n effect(() => {\n const index = this.currentImageIndex();\n if (!this.isDestroyed) {\n this.slideChange.emit(index);\n }\n });\n\n // Cleanup on destroy\n this.destroyRef.onDestroy(() => {\n this.isDestroyed = true;\n this.clearAutoAdvance();\n this.resizeObserver?.disconnect();\n });\n }\n\n private clearAutoAdvance() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = undefined;\n }\n }\n\n previous() {\n const animation = this.animation();\n const imageCount = this.imageCount();\n const wrap = this.wrap();\n\n switch (animation) {\n case 'fade':\n case 'none': {\n const currentIndex = this.currentImageIndex();\n if (currentIndex > 0) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(currentIndex - 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n } else if (wrap) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(imageCount - 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n }\n break;\n }\n case 'slide':\n this.swipeContainer.previous();\n break;\n }\n }\n\n next() {\n const animation = this.animation();\n const imageCount = this.imageCount();\n const wrap = this.wrap();\n\n switch (animation) {\n case 'fade':\n case 'none': {\n const currentIndex = this.currentImageIndex();\n if (currentIndex < imageCount - 1) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(currentIndex + 1);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n } else if (wrap) {\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(0);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n }\n break;\n }\n case 'slide':\n this.swipeContainer.next();\n break;\n }\n }\n\n goto(index: number) {\n const animation = this.animation();\n switch (animation) {\n case 'fade':\n case 'none':\n if (animation === 'none') {\n this.animationStart.emit();\n }\n this.currentImageIndex.set(index);\n if (animation === 'none') {\n this.animationEnd.emit();\n }\n break;\n case 'slide':\n this.swipeContainer.goto(index);\n break;\n }\n }\n\n imageCounter = 1;\n\n ngAfterViewInit() {\n if (!this.isServerSide) {\n this.resizeObserver = new ResizeObserver(() => {\n // Signals automatically trigger change detection in zoneless mode\n // The resize will be picked up by the observe-size directive\n });\n this.resizeObserver.observe(this.innerElement.nativeElement);\n }\n }\n\n ngOnDestroy() {\n this.isDestroyed = true;\n this.resizeObserver?.unobserve(this.innerElement?.nativeElement);\n this.resizeObserver?.disconnect();\n this.clearAutoAdvance();\n }\n\n onContainerAnimationStart() {\n this.animationStart.emit();\n }\n\n onContainerAnimationEnd() {\n this.animationEnd.emit();\n }\n\n onImageIndexChange(index: number) {\n this.currentImageIndex.set(index);\n }\n}\n","@if (isServerSide) {\n <div class=\"carousel mx-auto noscript\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n <div class=\"carousel-inner d-grid\">\n @let imagesValue = images();\n @if (imageCount(); as imageCount) {\n @for (image of imagesValue; track image.id; let i = $index) {\n <input type=\"radio\" [id]=\"'car-' + i\" [name]=\"'car'\" class=\"car-radio d-none\" bsNoNoscript [checked]=\"i === 0\">\n <div class=\"carousel-item fade d-flex flex-row h-100 align-items-center\"\n [class.flex-column]=\"orientation() === 'vertical'\">\n <div class=\"w-100 position-relative\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n @if (indicators()) {\n <div class=\"carousel-indicators\"\n [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of imagesValue; track image.id; let j = $index) {\n <label [attr.for]=\"'car-' + (j % imageCount)\" [class.active]=\"i === j\" data-bs-target></label>\n }\n </div>\n }\n </div>\n </div>\n\n <label class=\"carousel-control-prev cursor-pointer\" [for]=\"'car-' + ((i - 1 + imageCount) % imageCount)\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </label>\n <label class=\"carousel-control-next cursor-pointer\" [for]=\"'car-' + ((i + 1) % imageCount)\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </label>\n }\n }\n </div>\n </div>\n} @else {\n @switch (animation()) {\n @case ('slide') {\n <div class=\"carousel slide mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\"\n [style.height.px]=\"swipeContainer.currentSlideHeight()\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"swipeContainer.goto(i)\"\n [class.active]=\"swipeContainer.imageIndex() === i\" data-bs-target\n [attr.aria-current]=\"swipeContainer.imageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner overflow-hidden pe-none\" [class.text-nowrap]=\"orientation() === 'horizontal'\"\n [class.carousel-inner-vertical]=\"orientation() === 'vertical'\" #innerElement\n [style.height.px]=\"swipeContainer.currentSlideHeight()\">\n <div bsSwipeContainer #container=\"bsSwipeContainer\" [minimumOffset]=\"50\"\n (imageIndexChange)=\"onImageIndexChange($event)\"\n (animationStart)=\"onContainerAnimationStart()\"\n (animationEnd)=\"onContainerAnimationEnd()\"\n [orientation]=\"orientation()\">\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"lastImageTemplate()\"></ng-container>\n </div>\n @for (image of images(); track image.id) {\n <div class=\"carousel-item\" [class.active]=\"true\" bsSwipe>\n <ng-container *ngTemplateOutlet=\"image.itemTemplate\"></ng-container>\n </div>\n }\n <div class=\"carousel-item\" bsSwipe [offside]=\"true\">\n <ng-container *ngTemplateOutlet=\"firstImageTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('fade') {\n <div class=\"carousel fade mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"goto(i)\"\n [class.active]=\"currentImageIndex() === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\" #innerElement>\n @for (image of images(); track image.id; let i = $index) {\n @if (currentImageIndex() === i) {\n <div class=\"carousel-item\" [class.active]=\"true\" @fadeInOut>\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n @case ('none') {\n <div class=\"carousel mx-auto\" [class.carousel-vertical]=\"orientation() === 'vertical'\">\n @if (indicators()) {\n <div class=\"carousel-indicators\" [class.carousel-indicators-vertical]=\"orientation() === 'vertical'\">\n @for (image of images(); track image.id; let i = $index) {\n <button type=\"button\" (click)=\"goto(i)\"\n [class.active]=\"currentImageIndex() === i\" data-bs-target\n [attr.aria-current]=\"currentImageIndex() === i ? true : null\"\n [attr.aria-label]=\"'Slide ' + i\"></button>\n }\n </div>\n }\n <div class=\"carousel-inner\" #innerElement>\n @for (image of images(); track image.id; let i = $index) {\n @if (currentImageIndex() === i) {\n <div class=\"carousel-item\" [class.active]=\"true\">\n <ng-container [ngTemplateOutlet]=\"image.itemTemplate\"></ng-container>\n </div>\n }\n }\n </div>\n <button class=\"carousel-control-prev\" type=\"button\" (click)=\"previous()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Previous slide\">\n <span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Previous</span>\n </button>\n <button class=\"carousel-control-next\" type=\"button\" (click)=\"next()\"\n [class.carousel-control-vertical]=\"orientation() === 'vertical'\"\n aria-label=\"Next slide\">\n <span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"visually-hidden\">Next</span>\n </button>\n </div>\n }\n }\n}\n","import { Directive, HostBinding, inject } from '@angular/core';\nimport { BsCarouselImageDirective } from '../carousel-image/carousel-image.directive';\n\n@Directive({\n selector: 'img',\n standalone: true,\n})\nexport class BsCarouselImgDirective {\n private image = inject(BsCarouselImageDirective, { optional: true });\n\n @HostBinding('attr.fetch-priority') fetchPriority: 'high' | 'low' | 'auto';\n\n constructor() {\n this.fetchPriority = (this.image && this.image.isFirst) ? 'high' : 'low';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BsCarouselComponent } from './carousel/carousel.component';\nimport { BsCarouselImageDirective } from './carousel-image/carousel-image.directive';\nimport { BsCarouselImgDirective } from './carousel-img/carousel-img.directive';\n\n@NgModule({\n imports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ],\n exports: [\n BsCarouselComponent,\n BsCarouselImageDirective,\n BsCarouselImgDirective,\n ]\n})\nexport class BsCarouselModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAOa,wBAAwB,CAAA;AASnC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,EAAC,WAAgB,EAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,mBAAmB,CAAC;AACtC,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,EAAC,UAAuB,EAAC;QAIjD,IAAA,CAAA,OAAO,GAAG,KAAK;AAGb,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW;QACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE;IACxC;8GAZW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;;MCgBY,mBAAmB,CAAA;IAoD9B,IAAiE,WAAW,CAAC,KAA0C,EAAA;AACrH,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC;IAC9D;AAQA,IAAA,UAAU,CAAC,KAAY,EAAA;QACrB,MAAM,EAAE,GAAG,KAAsB;AACjC,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,OAAO,GAAG,KAAK;AACnB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,QAAQ,EAAE,CAAC,GAAG;AACZ,gBAAA,KAAK,WAAW;AACd,oBAAA,IAAI,WAAW,KAAK,YAAY,EAAE;wBAChC,IAAI,CAAC,QAAQ,EAAE;wBACf,OAAO,GAAG,IAAI;oBAChB;oBACA;AACF,gBAAA,KAAK,YAAY;AACf,oBAAA,IAAI,WAAW,KAAK,YAAY,EAAE;wBAChC,IAAI,CAAC,IAAI,EAAE;wBACX,OAAO,GAAG,IAAI;oBAChB;oBACA;AACF,gBAAA,KAAK,SAAS;AACZ,oBAAA,IAAI,WAAW,KAAK,UAAU,EAAE;wBAC9B,IAAI,CAAC,QAAQ,EAAE;wBACf,OAAO,GAAG,IAAI;oBAChB;oBACA;AACF,gBAAA,KAAK,WAAW;AACd,oBAAA,IAAI,WAAW,KAAK,UAAU,EAAE;wBAC9B,IAAI,CAAC,IAAI,EAAE;wBACX,OAAO,GAAG,IAAI;oBAChB;oBACA;;YAEJ,IAAI,OAAO,EAAE;gBACX,EAAE,CAAC,cAAc,EAAE;YACrB;QACF;IACF;AAEA,IAAA,WAAA,GAAA;AAnGQ,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AAChC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAEvC,IAAA,CAAA,MAAM,GAAG,KAAK;AACd,QAAA,IAAA,CAAA,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;AAChD,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,CAAC,6DAAC;AAC7B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAA6C,IAAI,kDAAC;QAGzD,IAAA,CAAA,WAAW,GAAG,KAAK;;AAG3B,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,sDAAC;AACzB,QAAA,IAAA,CAAA,cAAc,GAAG,KAAK,CAAC,IAAI,0DAAC;AAC5B,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAA4B,YAAY,uDAAC;AAC5D,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAA4B,OAAO,qDAAC;AACrD,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAgB,IAAI,oDAAC;AACrC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,IAAI,gDAAC;;QAGlB,IAAA,CAAA,WAAW,GAAG,MAAM,EAAU;QAC9B,IAAA,CAAA,cAAc,GAAG,MAAM,EAAQ;QAC/B,IAAA,CAAA,YAAY,GAAG,MAAM,EAAQ;;AAG7B,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,IAAI,CAAC,sDAAC;AAEvD,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAA0B,MAAK;AAC1D,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,OAAO,IAAI;AACxB,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI;YAEpC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,YAAA,IAAI,CAAC,GAAG;AAAE,gBAAA,OAAO,IAAI;YAErB,OAAO,GAAG,CAAC,YAAY;AACzB,QAAA,CAAC,8DAAC;AAEF,QAAA,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAA0B,MAAK;AACzD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,IAAI,CAAC,MAAM;AAAE,gBAAA,OAAO,IAAI;AACxB,YAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;AAAE,gBAAA,OAAO,IAAI;AAEpC,YAAA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,YAAA,IAAI,CAAC,GAAG;AAAE,gBAAA,OAAO,IAAI;YAErB,OAAO,GAAG,CAAC,YAAY;AACzB,QAAA,CAAC,6DAAC;QASgC,IAAA,CAAA,kBAAkB,GAAG,KAAK;QAsK5D,IAAA,CAAA,YAAY,GAAG,CAAC;;QAzHd,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE;YACpC,IAAI,CAAC,gBAAgB,EAAE;AAEvB,YAAA,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC,EAAE;AACpC,gBAAA,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,MAAK;oBACjC,IAAI,CAAC,IAAI,EAAE;gBACb,CAAC,EAAE,YAAY,CAAC;YAClB;AACF,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9B;AACF,QAAA,CAAC,CAAC;;AAGF,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;AAC7B,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI;YACvB,IAAI,CAAC,gBAAgB,EAAE;AACvB,YAAA,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;AACnC,QAAA,CAAC,CAAC;IACJ;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACnB,YAAA,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;AAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAC7B;IACF;IAEA,QAAQ,GAAA;AACN,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QAExB,QAAQ,SAAS;AACf,YAAA,KAAK,MAAM;YACX,KAAK,MAAM,EAAE;AACX,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAC7C,gBAAA,IAAI,YAAY,GAAG,CAAC,EAAE;AACpB,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC5B;oBACA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;AAC5C,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC1B;gBACF;qBAAO,IAAI,IAAI,EAAE;AACf,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC5B;oBACA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;AAC1C,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC1B;gBACF;gBACA;YACF;AACA,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;gBAC9B;;IAEN;IAEA,IAAI,GAAA;AACF,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QAExB,QAAQ,SAAS;AACf,YAAA,KAAK,MAAM;YACX,KAAK,MAAM,EAAE;AACX,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE;AAC7C,gBAAA,IAAI,YAAY,GAAG,UAAU,GAAG,CAAC,EAAE;AACjC,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC5B;oBACA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;AAC5C,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC1B;gBACF;qBAAO,IAAI,IAAI,EAAE;AACf,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;oBAC5B;AACA,oBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7B,oBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,wBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;oBAC1B;gBACF;gBACA;YACF;AACA,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC1B;;IAEN;AAEA,IAAA,IAAI,CAAC,KAAa,EAAA;AAChB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;QAClC,QAAQ,SAAS;AACf,YAAA,KAAK,MAAM;AACX,YAAA,KAAK,MAAM;AACT,gBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,oBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBAC5B;AACA,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACjC,gBAAA,IAAI,SAAS,KAAK,MAAM,EAAE;AACxB,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBAC1B;gBACA;AACF,YAAA,KAAK,OAAO;AACV,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/B;;IAEN;IAIA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtB,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,MAAK;;;AAG9C,YAAA,CAAC,CAAC;YACF,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QAC9D;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;AAChE,QAAA,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE;QACjC,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,yBAAyB,GAAA;AACvB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B;IAEA,uBAAuB,GAAA;AACrB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;IAC1B;AAEA,IAAA,kBAAkB,CAAC,KAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC;8GA5PW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,6BAAA,EAAA,oBAAA,EAAA,0BAAA,EAAA,oBAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,yBAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAoDI,wBAAwB,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC1E5D,kyTA8JA,w1ODhJI,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,yBAAyB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,gBAAA,EAAA,cAAA,CAAA,EAAA,QAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACzB,gBAAgB,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,UAAA,EAEX,CAAC,kBAAkB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGrB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;+BACE,aAAa,EAAA,UAAA,EAGX,IAAI,EAAA,OAAA,EACP;wBACP,gBAAgB;wBAChB,yBAAyB;wBACzB,gBAAgB;wBAChB,qBAAqB;AACtB,qBAAA,EAAA,UAAA,EACW,CAAC,kBAAkB,CAAC,EAAA,eAAA,EACf,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,kyTAAA,EAAA,MAAA,EAAA,CAAA,gyOAAA,CAAA,EAAA;;sBAoD9C,SAAS;uBAAC,cAAc;;sBACxB,SAAS;uBAAC,WAAW;;sBACrB,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,wBAAwB,CAAC;;sBAK1D,WAAW;uBAAC,YAAY;;sBAExB,YAAY;uBAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC;;sBACrD,YAAY;uBAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC;;sBACtD,YAAY;uBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC;;sBACnD,YAAY;uBAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC;;;ME7E3C,sBAAsB,CAAA;AAKjC,IAAA,WAAA,GAAA;QAJQ,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAKlE,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,GAAG,KAAK;IAC1E;8GAPW,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,qBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,KAAK;AACf,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;sBAIE,WAAW;uBAAC,qBAAqB;;;MCOvB,gBAAgB,CAAA;8GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAVzB,mBAAmB;YACnB,wBAAwB;AACxB,YAAA,sBAAsB,aAGtB,mBAAmB;YACnB,wBAAwB;YACxB,sBAAsB,CAAA,EAAA,CAAA,CAAA;+GAGb,gBAAgB,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAZ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,wBAAwB;wBACxB,sBAAsB;AACvB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,mBAAmB;wBACnB,wBAAwB;wBACxB,sBAAsB;AACvB;AACF,iBAAA;;;AChBD;;AAEG;;;;"}
|
|
@@ -16,6 +16,7 @@ import { BsContainerComponent } from '@mintplayer/ng-bootstrap/container';
|
|
|
16
16
|
import { BsNavbarTogglerComponent } from '@mintplayer/ng-bootstrap/navbar-toggler';
|
|
17
17
|
import { Color } from '@mintplayer/ng-bootstrap';
|
|
18
18
|
import { SlideUpDownAnimation } from '@mintplayer/ng-animations';
|
|
19
|
+
import { Router } from '@angular/router';
|
|
19
20
|
import { DomPortal } from '@angular/cdk/portal';
|
|
20
21
|
|
|
21
22
|
class BsNavbarComponent {
|
|
@@ -115,11 +116,11 @@ class BsNavbarComponent {
|
|
|
115
116
|
this.isExpanded.update(v => !v);
|
|
116
117
|
}
|
|
117
118
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: BsNavbarComponent, isStandalone: false, selector: "bs-navbar", inputs: { autoclose: { classPropertyName: "autoclose", publicName: "autoclose", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n", styles: ["::ng-deep .dropup,::ng-deep .dropend,::ng-deep .dropdown,::ng-deep .dropstart,::ng-deep .dropup-center,::ng-deep .dropdown-center{position:relative}::ng-deep .dropdown-toggle{white-space:nowrap}::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}::ng-deep .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}::ng-deep .dropdown-menu-start{--bs-position: start}::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-end{--bs-position: end}::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){::ng-deep .dropdown-menu-sm-start{--bs-position: start}::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-sm-end{--bs-position: end}::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){::ng-deep .dropdown-menu-md-start{--bs-position: start}::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-md-end{--bs-position: end}::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){::ng-deep .dropdown-menu-lg-start{--bs-position: start}::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-lg-end{--bs-position: end}::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){::ng-deep .dropdown-menu-xl-start{--bs-position: start}::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xl-end{--bs-position: end}::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){::ng-deep .dropdown-menu-xxl-start{--bs-position: start}::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xxl-end{--bs-position: end}::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}::ng-deep .dropstart .dropdown-toggle:after{display:none}::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}::ng-deep .dropdown-item:hover,::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}::ng-deep .dropdown-item.active,::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}::ng-deep .dropdown-item.disabled,::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}::ng-deep .dropdown-menu.show{display:block}::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){::ng-deep .nav-link{transition:none}}::ng-deep .nav-link:hover,::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}::ng-deep .nav-link.disabled,::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}::ng-deep .nav-tabs .nav-link:hover,::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}::ng-deep .nav-tabs .nav-link.active,::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}::ng-deep .nav-pills .nav-link.active,::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}::ng-deep .nav-underline .nav-link:hover,::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}::ng-deep .nav-underline .nav-link.active,::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}::ng-deep .nav-fill>.nav-link,::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}::ng-deep .nav-justified>.nav-link,::ng-deep .nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}::ng-deep .nav-fill .nav-item .nav-link,::ng-deep .nav-justified .nav-item .nav-link{width:100%}::ng-deep .tab-content>.tab-pane{display:none}::ng-deep .tab-content>.active{display:block}::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}::ng-deep .navbar>.container-xxl,::ng-deep .navbar>.container-xl,::ng-deep .navbar>.container-lg,::ng-deep .navbar>.container-md,::ng-deep .navbar>.container-sm,::ng-deep .navbar>.container,::ng-deep .navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}::ng-deep .navbar-brand:hover,::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .navbar-nav .nav-link.active,::ng-deep .navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}::ng-deep .navbar-nav .dropdown-menu{position:static}::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}::ng-deep .navbar-text a,::ng-deep .navbar-text a:hover,::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}::ng-deep .navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){::ng-deep .navbar-toggler{transition:none}}::ng-deep .navbar-toggler:hover{text-decoration:none}::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-sm .navbar-toggler{display:none}::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-md .navbar-toggler{display:none}::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-lg .navbar-toggler{display:none}::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xl .navbar-toggler{display:none}::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand .navbar-nav{flex-direction:row}::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand .navbar-toggler{display:none}::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}::ng-deep .navbar-dark,::ng-deep .navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep [data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep .navbar{z-index:20!important}::ng-deep .navbar.noscript:not(:focus-within)>div>bs-navbar-nav>div.navbar-collapse{display:none}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul{display:block}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul li:has(a.dropdown-item):focus-within>bs-navbar-dropdown>ul{display:block}nav{left:0;top:0;right:0;z-index:10}@media(min-width:768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem 0}::ng-deep bs-navbar-nav{display:contents}@media(max-width:575.98px){nav.navbar-expand-sm ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-sm.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-sm.os-windows{margin-right:-17px}}@media(max-width:767.98px){nav.navbar-expand-md ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-md.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-md.os-windows{margin-right:-17px}}@media(max-width:991.98px){nav.navbar-expand-lg ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-lg.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-lg.os-windows{margin-right:-17px}}@media(max-width:1199.98px){nav.navbar-expand-xl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xl.os-windows{margin-right:-17px}}@media(max-width:1399.98px){nav.navbar-expand-xxl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xxl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xxl.os-windows{margin-right:-17px}}.nav-wrapper ::ng-deep bs-navbar-nav>.navbar-collapse{justify-content:center}.nav-wrapper ::ng-deep bs-navbar-nav:first-of-type>.navbar-collapse{justify-content:flex-start}.nav-wrapper ::ng-deep bs-navbar-nav:last-of-type>.navbar-collapse{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsContainerComponent, selector: "bs-container" }, { kind: "directive", type: i3.BsUserAgentDirective, selector: "[bsUserAgent]", outputs: ["detected"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
119
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: BsNavbarComponent, isStandalone: false, selector: "bs-navbar", inputs: { autoclose: { classPropertyName: "autoclose", publicName: "autoclose", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "nav", first: true, predicate: ["nav"], descendants: true }], ngImport: i0, template: "<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n", styles: ["::ng-deep .dropup,::ng-deep .dropend,::ng-deep .dropdown,::ng-deep .dropstart,::ng-deep .dropup-center,::ng-deep .dropdown-center{position:relative}::ng-deep .dropdown-toggle{white-space:nowrap}::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}::ng-deep .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}::ng-deep .dropdown-menu-start{--bs-position: start}::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-end{--bs-position: end}::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){::ng-deep .dropdown-menu-sm-start{--bs-position: start}::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-sm-end{--bs-position: end}::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){::ng-deep .dropdown-menu-md-start{--bs-position: start}::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-md-end{--bs-position: end}::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){::ng-deep .dropdown-menu-lg-start{--bs-position: start}::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-lg-end{--bs-position: end}::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){::ng-deep .dropdown-menu-xl-start{--bs-position: start}::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xl-end{--bs-position: end}::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){::ng-deep .dropdown-menu-xxl-start{--bs-position: start}::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xxl-end{--bs-position: end}::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}::ng-deep .dropstart .dropdown-toggle:after{display:none}::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}::ng-deep .dropdown-item:hover,::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}::ng-deep .dropdown-item.active,::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}::ng-deep .dropdown-item.disabled,::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}::ng-deep .dropdown-menu.show{display:block}::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){::ng-deep .nav-link{transition:none}}::ng-deep .nav-link:hover,::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}::ng-deep .nav-link.disabled,::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}::ng-deep .nav-tabs .nav-link:hover,::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}::ng-deep .nav-tabs .nav-link.active,::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}::ng-deep .nav-pills .nav-link.active,::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}::ng-deep .nav-underline .nav-link:hover,::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}::ng-deep .nav-underline .nav-link.active,::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}::ng-deep .nav-fill>.nav-link,::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}::ng-deep .nav-justified>.nav-link,::ng-deep .nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}::ng-deep .nav-fill .nav-item .nav-link,::ng-deep .nav-justified .nav-item .nav-link{width:100%}::ng-deep .tab-content>.tab-pane{display:none}::ng-deep .tab-content>.active{display:block}::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}::ng-deep .navbar>.container-xxl,::ng-deep .navbar>.container-xl,::ng-deep .navbar>.container-lg,::ng-deep .navbar>.container-md,::ng-deep .navbar>.container-sm,::ng-deep .navbar>.container,::ng-deep .navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}::ng-deep .navbar-brand:hover,::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .navbar-nav .nav-link.active,::ng-deep .navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}::ng-deep .navbar-nav .dropdown-menu{position:static}::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}::ng-deep .navbar-text a,::ng-deep .navbar-text a:hover,::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}::ng-deep .navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){::ng-deep .navbar-toggler{transition:none}}::ng-deep .navbar-toggler:hover{text-decoration:none}::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-sm .navbar-toggler{display:none}::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-md .navbar-toggler{display:none}::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-lg .navbar-toggler{display:none}::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xl .navbar-toggler{display:none}::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand .navbar-nav{flex-direction:row}::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand .navbar-toggler{display:none}::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}::ng-deep .navbar-dark,::ng-deep .navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep [data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep .navbar{z-index:20!important}::ng-deep .navbar.noscript:not(:focus-within)>div>bs-navbar-nav>div.navbar-collapse{display:none}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul{display:block}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul li:has(a.dropdown-item):focus-within>bs-navbar-dropdown>ul{display:block}nav{left:0;top:0;right:0;z-index:10}@media(min-width:768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem 0}::ng-deep bs-navbar-nav{display:contents}@media(max-width:575.98px){nav.navbar-expand-sm ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-sm ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-sm.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-sm.os-windows{margin-right:-17px}}@media(max-width:767.98px){nav.navbar-expand-md ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-md ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-md.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-md.os-windows{margin-right:-17px}}@media(max-width:991.98px){nav.navbar-expand-lg ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-lg ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-lg.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-lg.os-windows{margin-right:-17px}}@media(max-width:1199.98px){nav.navbar-expand-xl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xl ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-xl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xl.os-windows{margin-right:-17px}}@media(max-width:1399.98px){nav.navbar-expand-xxl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xxl ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-xxl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xxl.os-windows{margin-right:-17px}}.nav-wrapper ::ng-deep bs-navbar-nav>.navbar-collapse{justify-content:center}.nav-wrapper ::ng-deep bs-navbar-nav:first-of-type>.navbar-collapse{justify-content:flex-start}.nav-wrapper ::ng-deep bs-navbar-nav:last-of-type>.navbar-collapse{justify-content:flex-end}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.BsContainerComponent, selector: "bs-container" }, { kind: "directive", type: i3.BsUserAgentDirective, selector: "[bsUserAgent]", outputs: ["detected"] }, { kind: "directive", type: i4.BsNoNoscriptDirective, selector: "[bsNoNoscript]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
119
120
|
}
|
|
120
121
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsNavbarComponent, decorators: [{
|
|
121
122
|
type: Component,
|
|
122
|
-
args: [{ selector: 'bs-navbar', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n", styles: ["::ng-deep .dropup,::ng-deep .dropend,::ng-deep .dropdown,::ng-deep .dropstart,::ng-deep .dropup-center,::ng-deep .dropdown-center{position:relative}::ng-deep .dropdown-toggle{white-space:nowrap}::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}::ng-deep .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}::ng-deep .dropdown-menu-start{--bs-position: start}::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-end{--bs-position: end}::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){::ng-deep .dropdown-menu-sm-start{--bs-position: start}::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-sm-end{--bs-position: end}::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){::ng-deep .dropdown-menu-md-start{--bs-position: start}::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-md-end{--bs-position: end}::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){::ng-deep .dropdown-menu-lg-start{--bs-position: start}::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-lg-end{--bs-position: end}::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){::ng-deep .dropdown-menu-xl-start{--bs-position: start}::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xl-end{--bs-position: end}::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){::ng-deep .dropdown-menu-xxl-start{--bs-position: start}::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xxl-end{--bs-position: end}::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}::ng-deep .dropstart .dropdown-toggle:after{display:none}::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}::ng-deep .dropdown-item:hover,::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}::ng-deep .dropdown-item.active,::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}::ng-deep .dropdown-item.disabled,::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}::ng-deep .dropdown-menu.show{display:block}::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){::ng-deep .nav-link{transition:none}}::ng-deep .nav-link:hover,::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}::ng-deep .nav-link.disabled,::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}::ng-deep .nav-tabs .nav-link:hover,::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}::ng-deep .nav-tabs .nav-link.active,::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}::ng-deep .nav-pills .nav-link.active,::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}::ng-deep .nav-underline .nav-link:hover,::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}::ng-deep .nav-underline .nav-link.active,::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}::ng-deep .nav-fill>.nav-link,::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}::ng-deep .nav-justified>.nav-link,::ng-deep .nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}::ng-deep .nav-fill .nav-item .nav-link,::ng-deep .nav-justified .nav-item .nav-link{width:100%}::ng-deep .tab-content>.tab-pane{display:none}::ng-deep .tab-content>.active{display:block}::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}::ng-deep .navbar>.container-xxl,::ng-deep .navbar>.container-xl,::ng-deep .navbar>.container-lg,::ng-deep .navbar>.container-md,::ng-deep .navbar>.container-sm,::ng-deep .navbar>.container,::ng-deep .navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}::ng-deep .navbar-brand:hover,::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .navbar-nav .nav-link.active,::ng-deep .navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}::ng-deep .navbar-nav .dropdown-menu{position:static}::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}::ng-deep .navbar-text a,::ng-deep .navbar-text a:hover,::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}::ng-deep .navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){::ng-deep .navbar-toggler{transition:none}}::ng-deep .navbar-toggler:hover{text-decoration:none}::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-sm .navbar-toggler{display:none}::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-md .navbar-toggler{display:none}::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-lg .navbar-toggler{display:none}::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xl .navbar-toggler{display:none}::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand .navbar-nav{flex-direction:row}::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand .navbar-toggler{display:none}::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}::ng-deep .navbar-dark,::ng-deep .navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep [data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep .navbar{z-index:20!important}::ng-deep .navbar.noscript:not(:focus-within)>div>bs-navbar-nav>div.navbar-collapse{display:none}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul{display:block}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul li:has(a.dropdown-item):focus-within>bs-navbar-dropdown>ul{display:block}nav{left:0;top:0;right:0;z-index:10}@media(min-width:768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem 0}::ng-deep bs-navbar-nav{display:contents}@media(max-width:575.98px){nav.navbar-expand-sm ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-sm.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-sm.os-windows{margin-right:-17px}}@media(max-width:767.98px){nav.navbar-expand-md ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-md.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-md.os-windows{margin-right:-17px}}@media(max-width:991.98px){nav.navbar-expand-lg ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-lg.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-lg.os-windows{margin-right:-17px}}@media(max-width:1199.98px){nav.navbar-expand-xl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xl.os-windows{margin-right:-17px}}@media(max-width:1399.98px){nav.navbar-expand-xxl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xxl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xxl.os-windows{margin-right:-17px}}.nav-wrapper ::ng-deep bs-navbar-nav>.navbar-collapse{justify-content:center}.nav-wrapper ::ng-deep bs-navbar-nav:first-of-type>.navbar-collapse{justify-content:flex-start}.nav-wrapper ::ng-deep bs-navbar-nav:last-of-type>.navbar-collapse{justify-content:flex-end}\n"] }]
|
|
123
|
+
args: [{ selector: 'bs-navbar', standalone: false, changeDetection: ChangeDetectionStrategy.OnPush, template: "<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n", styles: ["::ng-deep .dropup,::ng-deep .dropend,::ng-deep .dropdown,::ng-deep .dropstart,::ng-deep .dropup-center,::ng-deep .dropdown-center{position:relative}::ng-deep .dropdown-toggle{white-space:nowrap}::ng-deep .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}::ng-deep .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropdown-menu{--bs-dropdown-zindex: 1000;--bs-dropdown-min-width: 10rem;--bs-dropdown-padding-x: 0;--bs-dropdown-padding-y: .5rem;--bs-dropdown-spacer: .125rem;--bs-dropdown-font-size: 1rem;--bs-dropdown-color: var(--bs-body-color);--bs-dropdown-bg: var(--bs-body-bg);--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-border-radius: var(--bs-border-radius);--bs-dropdown-border-width: var(--bs-border-width);--bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y: .5rem;--bs-dropdown-box-shadow: var(--bs-box-shadow);--bs-dropdown-link-color: var(--bs-body-color);--bs-dropdown-link-hover-color: var(--bs-body-color);--bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: var(--bs-tertiary-color);--bs-dropdown-item-padding-x: 1rem;--bs-dropdown-item-padding-y: .25rem;--bs-dropdown-header-color: #6c757d;--bs-dropdown-header-padding-x: 1rem;--bs-dropdown-header-padding-y: .5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}::ng-deep .dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}::ng-deep .dropdown-menu-start{--bs-position: start}::ng-deep .dropdown-menu-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-end{--bs-position: end}::ng-deep .dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media(min-width:576px){::ng-deep .dropdown-menu-sm-start{--bs-position: start}::ng-deep .dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-sm-end{--bs-position: end}::ng-deep .dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media(min-width:768px){::ng-deep .dropdown-menu-md-start{--bs-position: start}::ng-deep .dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-md-end{--bs-position: end}::ng-deep .dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media(min-width:992px){::ng-deep .dropdown-menu-lg-start{--bs-position: start}::ng-deep .dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-lg-end{--bs-position: end}::ng-deep .dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1200px){::ng-deep .dropdown-menu-xl-start{--bs-position: start}::ng-deep .dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xl-end{--bs-position: end}::ng-deep .dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media(min-width:1400px){::ng-deep .dropdown-menu-xxl-start{--bs-position: start}::ng-deep .dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}::ng-deep .dropdown-menu-xxl-end{--bs-position: end}::ng-deep .dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}::ng-deep .dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}::ng-deep .dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}::ng-deep .dropup .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}::ng-deep .dropend .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}::ng-deep .dropend .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropend .dropdown-toggle:after{vertical-align:0}::ng-deep .dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}::ng-deep .dropstart .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\"}::ng-deep .dropstart .dropdown-toggle:after{display:none}::ng-deep .dropstart .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}::ng-deep .dropstart .dropdown-toggle:empty:after{margin-left:0}::ng-deep .dropstart .dropdown-toggle:before{vertical-align:0}::ng-deep .dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}::ng-deep .dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius, 0)}::ng-deep .dropdown-item:hover,::ng-deep .dropdown-item:focus{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}::ng-deep .dropdown-item.active,::ng-deep .dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}::ng-deep .dropdown-item.disabled,::ng-deep .dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}::ng-deep .dropdown-menu.show{display:block}::ng-deep .dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}::ng-deep .dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}::ng-deep .dropdown-menu-dark{--bs-dropdown-color: #dee2e6;--bs-dropdown-bg: #343a40;--bs-dropdown-border-color: var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color: #dee2e6;--bs-dropdown-link-hover-color: #fff;--bs-dropdown-divider-bg: var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg: rgba(255, 255, 255, .15);--bs-dropdown-link-active-color: #fff;--bs-dropdown-link-active-bg: #0d6efd;--bs-dropdown-link-disabled-color: #adb5bd;--bs-dropdown-header-color: #adb5bd}::ng-deep .nav{--bs-nav-link-padding-x: 1rem;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-link-color);--bs-nav-link-hover-color: var(--bs-link-hover-color);--bs-nav-link-disabled-color: var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:none;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media(prefers-reduced-motion:reduce){::ng-deep .nav-link{transition:none}}::ng-deep .nav-link:hover,::ng-deep .nav-link:focus{color:var(--bs-nav-link-hover-color)}::ng-deep .nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem #0d6efd40}::ng-deep .nav-link.disabled,::ng-deep .nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}::ng-deep .nav-tabs{--bs-nav-tabs-border-width: var(--bs-border-width);--bs-nav-tabs-border-color: var(--bs-border-color);--bs-nav-tabs-border-radius: var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color: var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg: var(--bs-body-bg);--bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}::ng-deep .nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}::ng-deep .nav-tabs .nav-link:hover,::ng-deep .nav-tabs .nav-link:focus{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}::ng-deep .nav-tabs .nav-link.active,::ng-deep .nav-tabs .nav-item.show .nav-link{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}::ng-deep .nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}::ng-deep .nav-pills{--bs-nav-pills-border-radius: var(--bs-border-radius);--bs-nav-pills-link-active-color: #fff;--bs-nav-pills-link-active-bg: #0d6efd}::ng-deep .nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}::ng-deep .nav-pills .nav-link.active,::ng-deep .nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}::ng-deep .nav-underline{--bs-nav-underline-gap: 1rem;--bs-nav-underline-border-width: .125rem;--bs-nav-underline-link-active-color: var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}::ng-deep .nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}::ng-deep .nav-underline .nav-link:hover,::ng-deep .nav-underline .nav-link:focus{border-bottom-color:currentcolor}::ng-deep .nav-underline .nav-link.active,::ng-deep .nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}::ng-deep .nav-fill>.nav-link,::ng-deep .nav-fill .nav-item{flex:1 1 auto;text-align:center}::ng-deep .nav-justified>.nav-link,::ng-deep .nav-justified .nav-item{flex-grow:1;flex-basis:0;text-align:center}::ng-deep .nav-fill .nav-item .nav-link,::ng-deep .nav-justified .nav-item .nav-link{width:100%}::ng-deep .tab-content>.tab-pane{display:none}::ng-deep .tab-content>.active{display:block}::ng-deep .navbar{--bs-navbar-padding-x: 0;--bs-navbar-padding-y: .5rem;--bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), .65);--bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), .8);--bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), .3);--bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y: .3125rem;--bs-navbar-brand-margin-end: 1rem;--bs-navbar-brand-font-size: 1.25rem;--bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x: .5rem;--bs-navbar-toggler-padding-y: .25rem;--bs-navbar-toggler-padding-x: .75rem;--bs-navbar-toggler-font-size: 1.25rem;--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");--bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), .15);--bs-navbar-toggler-border-radius: var(--bs-border-radius);--bs-navbar-toggler-focus-width: .25rem;--bs-navbar-toggler-transition: box-shadow .15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}::ng-deep .navbar>.container-xxl,::ng-deep .navbar>.container-xl,::ng-deep .navbar>.container-lg,::ng-deep .navbar>.container-md,::ng-deep .navbar>.container-sm,::ng-deep .navbar>.container,::ng-deep .navbar>.container-fluid{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}::ng-deep .navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}::ng-deep .navbar-brand:hover,::ng-deep .navbar-brand:focus{color:var(--bs-navbar-brand-hover-color)}::ng-deep .navbar-nav{--bs-nav-link-padding-x: 0;--bs-nav-link-padding-y: .5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color: var(--bs-navbar-color);--bs-nav-link-hover-color: var(--bs-navbar-hover-color);--bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}::ng-deep .navbar-nav .nav-link.active,::ng-deep .navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}::ng-deep .navbar-nav .dropdown-menu{position:static}::ng-deep .navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}::ng-deep .navbar-text a,::ng-deep .navbar-text a:hover,::ng-deep .navbar-text a:focus{color:var(--bs-navbar-active-color)}::ng-deep .navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}::ng-deep .navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media(prefers-reduced-motion:reduce){::ng-deep .navbar-toggler{transition:none}}::ng-deep .navbar-toggler:hover{text-decoration:none}::ng-deep .navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}::ng-deep .navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}::ng-deep .navbar-nav-scroll{max-height:var(--bs-scroll-height, 75vh);overflow-y:auto}@media(min-width:576px){::ng-deep .navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-sm .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-sm .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-sm .navbar-toggler{display:none}::ng-deep .navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:768px){::ng-deep .navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-md .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-md .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-md .navbar-toggler{display:none}::ng-deep .navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:992px){::ng-deep .navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-lg .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-lg .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-lg .navbar-toggler{display:none}::ng-deep .navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1200px){::ng-deep .navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xl .navbar-toggler{display:none}::ng-deep .navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media(min-width:1400px){::ng-deep .navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand-xxl .navbar-nav{flex-direction:row}::ng-deep .navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand-xxl .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand-xxl .navbar-toggler{display:none}::ng-deep .navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}::ng-deep .navbar-expand{flex-wrap:nowrap;justify-content:flex-start}::ng-deep .navbar-expand .navbar-nav{flex-direction:row}::ng-deep .navbar-expand .navbar-nav .dropdown-menu{position:absolute}::ng-deep .navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}::ng-deep .navbar-expand .navbar-nav-scroll{overflow:visible}::ng-deep .navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}::ng-deep .navbar-expand .navbar-toggler{display:none}::ng-deep .navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}::ng-deep .navbar-expand .offcanvas .offcanvas-header{display:none}::ng-deep .navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}::ng-deep .navbar-dark,::ng-deep .navbar[data-bs-theme=dark]{--bs-navbar-color: rgba(255, 255, 255, .55);--bs-navbar-hover-color: rgba(255, 255, 255, .75);--bs-navbar-disabled-color: rgba(255, 255, 255, .25);--bs-navbar-active-color: #fff;--bs-navbar-brand-color: #fff;--bs-navbar-brand-hover-color: #fff;--bs-navbar-toggler-border-color: rgba(255, 255, 255, .1);--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep [data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\")}::ng-deep .navbar{z-index:20!important}::ng-deep .navbar.noscript:not(:focus-within)>div>bs-navbar-nav>div.navbar-collapse{display:none}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul{display:block}::ng-deep .navbar.noscript li.nav-item:focus-within>bs-navbar-dropdown>ul li:has(a.dropdown-item):focus-within>bs-navbar-dropdown>ul{display:block}nav{left:0;top:0;right:0;z-index:10}@media(min-width:768px){.mx-md-unset{margin-left:0!important;margin-right:0!important}.w-md-auto{width:auto!important}}.tw{margin:-.5rem 0}::ng-deep bs-navbar-nav{display:contents}@media(max-width:575.98px){nav.navbar-expand-sm ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-sm ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-sm.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-sm.os-windows{margin-right:-17px}}@media(max-width:767.98px){nav.navbar-expand-md ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-md ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-md.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-md.os-windows{margin-right:-17px}}@media(max-width:991.98px){nav.navbar-expand-lg ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-lg ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-lg.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-lg.os-windows{margin-right:-17px}}@media(max-width:1199.98px){nav.navbar-expand-xl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xl ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-xl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xl.os-windows{margin-right:-17px}}@media(max-width:1399.98px){nav.navbar-expand-xxl ::ng-deep div.navbar-collapse{overflow-y:hidden}nav.navbar-expand-xxl ::ng-deep .dropdown-menu{min-width:0;max-width:100%}nav.navbar-expand-xxl.position-fixed{max-height:100%;overflow-y:scroll}nav.navbar-expand-xxl.os-windows{margin-right:-17px}}.nav-wrapper ::ng-deep bs-navbar-nav>.navbar-collapse{justify-content:center}.nav-wrapper ::ng-deep bs-navbar-nav:first-of-type>.navbar-collapse{justify-content:flex-start}.nav-wrapper ::ng-deep bs-navbar-nav:last-of-type>.navbar-collapse{justify-content:flex-end}\n"] }]
|
|
123
124
|
}], ctorParameters: () => [], propDecorators: { onWindowResize: [{
|
|
124
125
|
type: HostListener,
|
|
125
126
|
args: ['window:resize']
|
|
@@ -179,12 +180,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
179
180
|
args: ['window:resize']
|
|
180
181
|
}] } });
|
|
181
182
|
|
|
183
|
+
/** Duration of the navbar collapse animation in milliseconds */
|
|
184
|
+
const NAVBAR_ANIMATION_DURATION = 300;
|
|
182
185
|
class BsNavbarItemComponent {
|
|
183
186
|
constructor() {
|
|
184
187
|
this.navbar = inject(BsNavbarComponent);
|
|
185
188
|
this.element = inject(ElementRef);
|
|
186
189
|
this.destroy = inject(DestroyRef);
|
|
187
190
|
this.platformId = inject(PLATFORM_ID);
|
|
191
|
+
this.router = inject(Router);
|
|
188
192
|
this.parentDropdown = inject(forwardRef(() => BsNavbarDropdownComponent), { optional: true });
|
|
189
193
|
this.hasDropdown = false;
|
|
190
194
|
this.anchorTag = null;
|
|
@@ -238,7 +242,22 @@ class BsNavbarItemComponent {
|
|
|
238
242
|
d = d.parentDropdown;
|
|
239
243
|
}
|
|
240
244
|
if (this.navbar.autoclose()) {
|
|
245
|
+
// Get the fragment from the link's href
|
|
246
|
+
const href = this.anchorTag?.getAttribute('href') ?? '';
|
|
247
|
+
const fragmentMatch = href.match(/#(.+)$/);
|
|
248
|
+
const fragment = fragmentMatch ? fragmentMatch[1] : null;
|
|
249
|
+
// Always collapse the navbar
|
|
241
250
|
this.navbar.isExpanded.set(false);
|
|
251
|
+
// If in small mode with a fragment, prevent default navigation and
|
|
252
|
+
// navigate after the collapse animation completes to avoid double scroll
|
|
253
|
+
if (this.navbar.isSmallMode() && fragment) {
|
|
254
|
+
ev.preventDefault();
|
|
255
|
+
// After the collapse animation completes, navigate to the anchor
|
|
256
|
+
// This ensures correct scroll position since navbar height is stable
|
|
257
|
+
setTimeout(() => {
|
|
258
|
+
this.router.navigateByUrl(href);
|
|
259
|
+
}, NAVBAR_ANIMATION_DURATION);
|
|
260
|
+
}
|
|
242
261
|
}
|
|
243
262
|
});
|
|
244
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-navbar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/nav-link/nav-link.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-content/navbar-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/expand-button/expand-button.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar.module.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/mintplayer-ng-bootstrap-navbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, HostListener, inject, input, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { Breakpoint, Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarComponent {\n\n constructor() {\n effect((onCleanup) => {\n const windowWidth = this.windowWidth();\n const timeout = setTimeout(() => this.isResizing.set(false), 300);\n onCleanup(() => clearTimeout(timeout));\n });\n\n this.onWindowResize();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing.set(true);\n if (typeof window !== 'undefined') {\n this.windowWidth.set(window.innerWidth);\n }\n }\n\n @ViewChild('nav') nav!: ElementRef;\n autoclose = input(true);\n\n expandButtonTemplate: TemplateRef<any> | null = null;\n\n isExpanded = signal<boolean>(false);\n windowWidth = signal<number | null>(null);\n isResizing = signal<boolean>(false);\n\n color = input<Color | null>(null);\n breakpoint = input<Breakpoint | null>('md');\n\n expandAt = computed(() => {\n const breakpoint = this.breakpoint();\n switch (breakpoint) {\n case 'xxl': return 1400;\n case 'xl': return 1200;\n case 'lg': return 992;\n case 'md': return 768;\n case 'sm': return 576;\n case 'xs': return 0;\n default: return null;\n }\n });\n\n isSmallMode = computed(() => {\n const expandAt = this.expandAt();\n const windowWidth = this.windowWidth();\n if (windowWidth === null) {\n return true;\n } else if (!expandAt) {\n return true;\n } else if (windowWidth >= expandAt) {\n return false;\n } else {\n return true;\n }\n });\n\n expandClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `navbar-expand-${breakpoint}`;\n }\n });\n\n wAutoClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `w-${breakpoint}-auto`;\n }\n });\n\n dNoneClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `d-${breakpoint}-none`;\n }\n });\n\n backgroundColorClass = computed(() => {\n const color = this.color();\n switch (color) {\n case Color.light:\n case null:\n return ['navbar-light'];\n default:\n return ['navbar-dark', `bg-${Color[color]}`];\n }\n });\n\n navClassList = computed(() => {\n const expandClass = this.expandClass();\n const backgroundColorClass = this.backgroundColorClass();\n const result: string[] = [];\n return result.concat(expandClass ?? [], ...backgroundColorClass);\n });\n\n toggleExpanded() {\n this.isExpanded.update(v => !v);\n }\n}\n","<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect, HostListener, inject, input, signal } from '@angular/core';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Component({\n selector: 'bs-navbar-nav',\n templateUrl: './navbar-nav.component.html',\n styleUrls: ['./navbar-nav.component.scss'],\n standalone: false,\n animations: [SlideUpDownAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarNavComponent {\n\n private cdr = inject(ChangeDetectorRef);\n bsNavbar = inject(BsNavbarComponent);\n\n windowWidth = signal<number | null>(null);\n isResizing = signal<boolean>(false);\n collapse = input<boolean>(true);\n\n showNavs = computed(() => {\n const isExpanded = this.bsNavbar.isExpanded();\n const expandAt = this.bsNavbar.expandAt();\n const windowWidth = this.windowWidth();\n\n if (windowWidth === null) {\n return false;\n } else if (expandAt === null) {\n return isExpanded;\n } else if (windowWidth >= expandAt) {\n return true;\n } else {\n return isExpanded;\n }\n });\n\n constructor() {\n effect((onCleanup) => {\n const windowWidth = this.windowWidth();\n const timeout = setTimeout(() => {\n this.isResizing.set(false);\n this.cdr.markForCheck();\n }, 300);\n onCleanup(() => clearTimeout(timeout));\n });\n\n this.onWindowResize();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing.set(true);\n if (typeof window !== 'undefined') {\n this.windowWidth.set(window.innerWidth);\n }\n }\n}\n","<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse()\" [@slideUpDown]=\"showNavs()\" [@.disabled]=\"isResizing()\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>\n","import { AfterContentChecked, AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, effect, ElementRef, forwardRef, inject, PLATFORM_ID, QueryList } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Component({\n selector: 'bs-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarItemComponent implements AfterContentInit, AfterContentChecked {\n\n private navbar = inject(BsNavbarComponent);\n element = inject(ElementRef);\n private destroy = inject(DestroyRef);\n private platformId = inject(PLATFORM_ID);\n parentDropdown = inject(forwardRef(() => BsNavbarDropdownComponent), { optional: true });\n\n hasDropdown = false;\n anchorTag: HTMLAnchorElement | null = null;\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent)) dropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n constructor() {\n // Effect handles future isSmallMode changes after content is initialized\n effect(() => {\n const isSmallMode = this.navbar.isSmallMode();\n this.dropdowns?.forEach((dropdown) => {\n dropdown.showInOverlay = !isSmallMode;\n });\n });\n }\n\n ngAfterContentInit() {\n // Set initial showInOverlay state after content children are resolved\n // This is needed because the effect runs before @ContentChildren is populated\n const isSmallMode = this.navbar.isSmallMode();\n this.dropdowns?.forEach((dropdown) => {\n dropdown.showInOverlay = !isSmallMode;\n });\n }\n\n ngAfterContentChecked() {\n this.anchorTag = this.element.nativeElement.querySelector('li a');\n\n if (this.hasDropdown) {\n if (this.anchorTag) {\n this.anchorTag.classList.add('dropdown-toggle');\n\n if (isPlatformServer(this.platformId)) {\n this.anchorTag.href = 'javascript:;';\n }\n\n if (!this.anchorTag.getAttribute('close-init-b')) {\n this.anchorTag.setAttribute('close-init-b', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n ev.preventDefault();\n this.dropdowns.forEach((dropdown) => {\n const newVisible = !dropdown.isVisible();\n dropdown.isVisible.set(newVisible);\n if (!newVisible) {\n dropdown.childDropdowns.forEach((child) => child.isVisible.set(false));\n }\n });\n return false;\n });\n }\n }\n } else {\n\n if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {\n this.anchorTag.setAttribute('close-init-a', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n let d = this.parentDropdown;\n while (d && d.autoclose()) {\n d.isVisible.set(false);\n d = d.parentDropdown;\n }\n if (this.navbar.autoclose()) {\n this.navbar.isExpanded.set(false);\n }\n });\n }\n\n }\n }\n}\n","<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n <ng-content></ng-content>\n</li>","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, computed, DestroyRef, effect, ElementRef, forwardRef, inject, Injector, input, OnDestroy, PLATFORM_ID, QueryList, signal, SkipSelf, ViewChild } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'bs-navbar-dropdown',\n templateUrl: './navbar-dropdown.component.html',\n styleUrls: ['./navbar-dropdown.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarDropdownComponent implements OnDestroy {\n\n private navbar = inject(BsNavbarComponent);\n parentDropdown = inject(BsNavbarDropdownComponent, { skipSelf: true, optional: true });\n navbarItem = inject(forwardRef(() => BsNavbarItemComponent), { host: true });\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n private document = inject(DOCUMENT);\n private platformId = inject(PLATFORM_ID);\n\n private isAttached = false;\n private isDestroyed = false;\n private domPortal?: DomPortal;\n private overlay?: OverlayRef;\n private pendingShowInOverlay: boolean | null = null;\n\n autoclose = input(true);\n @ViewChild('dd') dropdownElement!: ElementRef<HTMLDivElement>;\n isBrowser = !isPlatformServer(this.platformId);\n\n isVisible = signal<boolean>(false);\n topPos = signal<number | null>(null);\n\n maxHeight = computed(() => {\n const topPos = this.topPos();\n const w: Window | null = this.document.defaultView;\n if (!topPos) {\n return null;\n } else if (w && this.dropdownElement) {\n const style = w.getComputedStyle(this.dropdownElement.nativeElement);\n return `calc(100vh - ${topPos}px - ${style.getPropertyValue('padding-top')} - ${style.getPropertyValue('padding-bottom')})`;\n } else {\n return null;\n }\n });\n\n maxHeightOrNull = computed(() => {\n const maxHeight = this.maxHeight();\n const isSmallMode = this.navbar.isSmallMode();\n if (isSmallMode) {\n return null;\n } else if (isPlatformServer(this.platformId)) {\n return this.parentDropdown ? null : maxHeight;\n } else {\n return maxHeight;\n }\n });\n\n constructor() {\n effect(() => {\n const isVisible = this.isVisible();\n if (isVisible) {\n setTimeout(() => {\n try { this.overlay?.updatePosition(); }\n catch (ex) { }\n }, 20);\n this.topPos.set(this.element.nativeElement.offsetTop);\n } else {\n this.topPos.set(null);\n }\n });\n\n if (!!this.parentDropdown && this.isBrowser) {\n import('@angular/cdk/overlay').then(({ Overlay }) => {\n // Guard against accessing injector after component is destroyed\n if (this.isDestroyed) {\n return;\n }\n const overlayService = this.injector.get(Overlay);\n this.domPortal = new DomPortal(this.element);\n this.overlay = overlayService.create({\n positionStrategy: overlayService.position()\n .flexibleConnectedTo(this.navbarItem.element)\n .withPositions([\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -9, offsetY: -9 }\n ])\n });\n\n // Apply pending showInOverlay state if it was set before overlay was ready\n // Use setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n if (this.pendingShowInOverlay !== null) {\n const pending = this.pendingShowInOverlay;\n this.pendingShowInOverlay = null;\n setTimeout(() => {\n this.showInOverlay = pending;\n });\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.isDestroyed = true;\n }\n\n public set showInOverlay(value: boolean) {\n if (this.overlay && this.domPortal) {\n if (value && !this.isAttached) {\n this.overlay.attach(this.domPortal);\n this.isAttached = true;\n }\n if (!value && this.isAttached) {\n this.overlay.detach();\n this.isAttached = false;\n }\n } else {\n // Store the value to apply once the overlay is ready\n this.pendingShowInOverlay = value;\n }\n }\n\n get elementsToExclude() {\n return [this.navbarItem.anchorTag].filter((a) => a).map((a) => <HTMLElement>a);\n }\n\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent), { descendants: true }) childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n}\n","<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible()\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull()\" bsNoNoscript (clickOutside)=\"isVisible.set(false)\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!--\n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!--\n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->\n","import { AfterContentInit, Component, ContentChildren, Directive, ElementRef, forwardRef, Inject, Optional, QueryList } from '@angular/core';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Directive({\n // selector: 'bs-navbar-item > a[routerLink]',\n selector: 'bs-navbar-item',\n standalone: false,\n queries: {\n childDropdowns: new ContentChildren(forwardRef(() => BsNavbarDropdownComponent))\n },\n})\nexport class DropdownToggleDirective implements AfterContentInit {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Inject(forwardRef(() => BsNavbarItemComponent)) private bsNavbarItem: BsNavbarItemComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n }\n\n childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentInit() {\n if (this.bsNavbarItem.dropdowns.length > 0) {\n this.bsNavbarItem.hasDropdown = true;\n }\n }\n}","import { Directive, ElementRef, forwardRef, HostBinding, Inject, Optional, PLATFORM_ID } from '@angular/core';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: 'bs-navbar-item > li > a',\n // Below selector doesn't work well either (does not select the github link)\n // selector: 'bs-navbar-item > a[routerLink]'\n // Below selector seems to target other a's that aren't even remotely inside a bs-navbar-item\n // selector: 'bs-navbar-item:first-child > a'\n standalone: false,\n})\nexport class NavLinkDirective {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Optional() parentNavbar: BsNavbarComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n if (parentNavbar) {\n if (parentDropdown == null) {\n this.elementRef.nativeElement.classList.add('nav-link');\n } else {\n this.elementRef.nativeElement.classList.add('dropdown-item');\n }\n }\n this.cursorPointer = !!parentNavbar;\n }\n\n @HostBinding('class.cursor-pointer') cursorPointer: boolean;\n\n}","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, Directive, effect, ElementRef, inject, input, OnDestroy, PLATFORM_ID, signal } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsNavbarContent]',\n standalone: false,\n})\nexport class BsNavbarContentDirective implements AfterViewInit, OnDestroy {\n\n private element = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n navbar = input<BsNavbarComponent | undefined>(undefined, { alias: 'bsNavbarContent' });\n private viewInit = signal<boolean>(false);\n resizeObserver: ResizeObserver | null = null;\n initialPadding = 0;\n\n constructor() {\n effect(() => {\n const viewInit = this.viewInit();\n const navbar = this.navbar();\n\n if (viewInit && navbar) {\n if (isPlatformServer(this.platformId)) {\n this.element.nativeElement.style.paddingTop = (this.initialPadding + 58) + 'px';\n } else {\n this.resizeObserver = new ResizeObserver((entries) => {\n const height = navbar.nav.nativeElement.offsetHeight;\n this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';\n });\n\n const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');\n const pt = parseInt(px.replace(/px$/, ''));\n this.initialPadding = isNaN(pt) ? 0 : pt;\n if (this.resizeObserver && navbar) {\n this.resizeObserver.observe(navbar.nav.nativeElement);\n }\n }\n }\n });\n }\n\n ngAfterViewInit() {\n this.viewInit.set(true);\n }\n\n ngOnDestroy() {\n const navbar = this.navbar();\n if (navbar) {\n this.resizeObserver?.unobserve(navbar.nav.nativeElement);\n }\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-brand',\n templateUrl: './navbar-brand.component.html',\n styleUrls: ['./navbar-brand.component.scss'],\n standalone: false,\n})\nexport class BsNavbarBrandComponent {\n @Input() public routerLink: any[] = [];\n @HostBinding('class.mx-auto') mxAuto = true;\n}\n","<span class=\"navbar-brand mx-auto mx-md-unset\">\n <ng-content></ng-content>\n</span>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsExpandButton]',\n standalone: false,\n})\nexport class BsExpandButtonDirective {\n\n constructor() {\n const navbar = inject(BsNavbarComponent);\n const templateRef = inject(TemplateRef);\n navbar.expandButtonTemplate = templateRef;\n }\n \n public static ngTemplateContextGuard(\n dir: BsExpandButtonDirective,\n ctx: any\n ): ctx is BsExpandButtonContext {\n return true;\n }\n\n}\n\nexport class BsExpandButtonContext {\n public $implicit: boolean = null!;\n}","import { NgModule } from '@angular/core';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BsUserAgentDirective } from '@mintplayer/ng-bootstrap/user-agent';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDividerDirective } from '@mintplayer/ng-bootstrap/dropdown-divider';\nimport { BsContainerComponent } from '@mintplayer/ng-bootstrap/container';\nimport { BsNavbarTogglerComponent } from '@mintplayer/ng-bootstrap/navbar-toggler';\nimport { BsNavbarComponent } from './navbar/navbar.component';\nimport { BsNavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { BsNavbarDropdownComponent } from './navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\nimport { NavLinkDirective } from './nav-link/nav-link.directive';\nimport { BsNavbarContentDirective } from './navbar-content/navbar-content.directive';\nimport { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';\nimport { BsExpandButtonDirective } from './expand-button/expand-button.directive';\n\n@NgModule({\n declarations: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n ],\n imports: [\n AsyncPipe,\n NgTemplateOutlet,\n ClickOutsideDirective,\n BsContainerComponent,\n BsUserAgentDirective,\n BsNoNoscriptDirective,\n BsHasOverlayComponent,\n BsDropdownDividerDirective,\n BsNavbarTogglerComponent,\n ],\n exports: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n\n BsDropdownDividerDirective,\n BsNavbarTogglerComponent\n ]\n})\nexport class BsNavbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":";;;;;;;;;;;;;;;;;;;;MAUa,iBAAiB,CAAA;AAE5B,IAAA,WAAA,GAAA;AAmBA,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,qDAAC;QAEvB,IAAA,CAAA,oBAAoB,GAA4B,IAAI;AAEpD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;AACnC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAgB,IAAI,uDAAC;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;AAEnC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAe,IAAI,iDAAC;AACjC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAoB,IAAI,sDAAC;AAE3C,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACvB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;YACpC,QAAQ,UAAU;AAChB,gBAAA,KAAK,KAAK,EAAE,OAAO,IAAI;AACvB,gBAAA,KAAK,IAAI,EAAE,OAAO,IAAI;AACtB,gBAAA,KAAK,IAAI,EAAE,OAAO,GAAG;AACrB,gBAAA,KAAK,IAAI,EAAE,OAAO,GAAG;AACrB,gBAAA,KAAK,IAAI,EAAE,OAAO,GAAG;AACrB,gBAAA,KAAK,IAAI,EAAE,OAAO,CAAC;AACnB,gBAAA,SAAS,OAAO,IAAI;;AAExB,QAAA,CAAC,oDAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACxB,gBAAA,OAAO,IAAI;YACb;iBAAO,IAAI,CAAC,QAAQ,EAAE;AACpB,gBAAA,OAAO,IAAI;YACb;AAAO,iBAAA,IAAI,WAAW,IAAI,QAAQ,EAAE;AAClC,gBAAA,OAAO,KAAK;YACd;iBAAO;AACL,gBAAA,OAAO,IAAI;YACb;AACF,QAAA,CAAC,uDAAC;AAEF,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC1B,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,UAAU,KAAK,IAAI,EAAE;AACvB,gBAAA,OAAO,IAAI;YACb;iBAAO;gBACL,OAAO,CAAA,cAAA,EAAiB,UAAU,CAAA,CAAE;YACtC;AACF,QAAA,CAAC,uDAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACzB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,UAAU,KAAK,IAAI,EAAE;AACvB,gBAAA,OAAO,IAAI;YACb;iBAAO;gBACL,OAAO,CAAA,EAAA,EAAK,UAAU,CAAA,KAAA,CAAO;YAC/B;AACF,QAAA,CAAC,sDAAC;AAEF,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;AACzB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,IAAI,UAAU,KAAK,IAAI,EAAE;AACvB,gBAAA,OAAO,IAAI;YACb;iBAAO;gBACL,OAAO,CAAA,EAAA,EAAK,UAAU,CAAA,KAAA,CAAO;YAC/B;AACF,QAAA,CAAC,sDAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,QAAQ,CAAC,MAAK;AACnC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;YAC1B,QAAQ,KAAK;gBACX,KAAK,KAAK,CAAC,KAAK;AAChB,gBAAA,KAAK,IAAI;oBACP,OAAO,CAAC,cAAc,CAAC;AACzB,gBAAA;oBACE,OAAO,CAAC,aAAa,EAAE,CAAA,GAAA,EAAM,KAAK,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;;AAElD,QAAA,CAAC,gEAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC3B,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EAAE;YACxD,MAAM,MAAM,GAAa,EAAE;YAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,oBAAoB,CAAC;AAClE,QAAA,CAAC,wDAAC;AAnGA,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC;YACjE,SAAS,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AACxC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE;IACvB;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC;IACF;IAsFA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACjC;8GA1GW,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,+mBCV9B,omCAmBA,EAAA,MAAA,EAAA,CAAA,6vuBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDTa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAAA,UAAA,EAGT,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,omCAAA,EAAA,MAAA,EAAA,CAAA,6vuBAAA,CAAA,EAAA;;sBAc9C,YAAY;uBAAC,eAAe;;sBAQ5B,SAAS;uBAAC,KAAK;;;MElBL,oBAAoB,CAAA;AAyB/B,IAAA,WAAA,GAAA;AAvBQ,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACvC,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEpC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAgB,IAAI,uDAAC;AACzC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;AACnC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,IAAI,oDAAC;AAE/B,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACzC,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AAEtC,YAAA,IAAI,WAAW,KAAK,IAAI,EAAE;AACxB,gBAAA,OAAO,KAAK;YACd;AAAO,iBAAA,IAAI,QAAQ,KAAK,IAAI,EAAE;AAC5B,gBAAA,OAAO,UAAU;YACnB;AAAO,iBAAA,IAAI,WAAW,IAAI,QAAQ,EAAE;AAClC,gBAAA,OAAO,IAAI;YACb;iBAAO;AACL,gBAAA,OAAO,UAAU;YACnB;AACF,QAAA,CAAC,oDAAC;AAGA,QAAA,MAAM,CAAC,CAAC,SAAS,KAAI;AACnB,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;AACtC,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,MAAK;AAC9B,gBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;YACzB,CAAC,EAAE,GAAG,CAAC;YACP,SAAS,CAAC,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;AACxC,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,cAAc,EAAE;IACvB;IAGA,cAAc,GAAA;AACZ,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;QACzC;IACF;8GA5CW,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZjC,uOAKA,EAAA,MAAA,EAAA,CAAA,4BAAA,CAAA,EAAA,UAAA,EDIc,CAAC,oBAAoB,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGvB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;+BACE,eAAe,EAAA,UAAA,EAGb,KAAK,EAAA,UAAA,EACL,CAAC,oBAAoB,CAAC,EAAA,eAAA,EACjB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,uOAAA,EAAA,MAAA,EAAA,CAAA,4BAAA,CAAA,EAAA;;sBAwC9C,YAAY;uBAAC,eAAe;;;MEtClB,qBAAqB,CAAA;AAYhC,IAAA,WAAA,GAAA;AAVQ,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AACpB,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;AACxC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAExF,IAAA,CAAA,WAAW,GAAG,KAAK;QACnB,IAAA,CAAA,SAAS,GAA6B,IAAI;;QAKxC,MAAM,CAAC,MAAK;YACV,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC7C,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAI;AACnC,gBAAA,QAAQ,CAAC,aAAa,GAAG,CAAC,WAAW;AACvC,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;IAEA,kBAAkB,GAAA;;;QAGhB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;QAC7C,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAI;AACnC,YAAA,QAAQ,CAAC,aAAa,GAAG,CAAC,WAAW;AACvC,QAAA,CAAC,CAAC;IACJ;IAEA,qBAAqB,GAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;AAEjE,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC;AAE/C,gBAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACrC,oBAAA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,cAAc;gBACtC;gBAEA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;oBAChD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC;oBAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAc,KAAI;wBAC1D,EAAE,CAAC,cAAc,EAAE;wBACnB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAI;AAClC,4BAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE;AACxC,4BAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;4BAClC,IAAI,CAAC,UAAU,EAAE;AACf,gCAAA,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;4BACxE;AACF,wBAAA,CAAC,CAAC;AACF,wBAAA,OAAO,KAAK;AACd,oBAAA,CAAC,CAAC;gBACJ;YACF;QACF;aAAO;YAEL,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;gBACnG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC;gBAChD,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAc,KAAI;AAC1D,oBAAA,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc;AAC3B,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;AACzB,wBAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACtB,wBAAA,CAAC,GAAG,CAAC,CAAC,cAAc;oBACtB;AACA,oBAAA,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE;wBAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;oBACnC;AACF,gBAAA,CAAC,CAAC;YACJ;QAEF;IACF;8GA1EW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAUE,yBAAyB,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtB7D,0OAEK,EAAA,MAAA,EAAA,CAAA,sJAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDUQ,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,UAAA,EAGd,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,sJAAA,CAAA,EAAA;;sBAY9C,eAAe;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,yBAAyB,CAAC;;;MERjD,yBAAyB,CAAA;AAgDpC,IAAA,WAAA,GAAA;AA9CQ,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,yBAAyB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACtF,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,qBAAqB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAC5E,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC;AAC7C,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAEhC,IAAA,CAAA,UAAU,GAAG,KAAK;QAClB,IAAA,CAAA,WAAW,GAAG,KAAK;QAGnB,IAAA,CAAA,oBAAoB,GAAmB,IAAI;AAEnD,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,IAAI,qDAAC;QAEvB,IAAA,CAAA,SAAS,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;AAE9C,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAgB,IAAI,kDAAC;AAEpC,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACxB,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,YAAA,MAAM,CAAC,GAAkB,IAAI,CAAC,QAAQ,CAAC,WAAW;YAClD,IAAI,CAAC,MAAM,EAAE;AACX,gBAAA,OAAO,IAAI;YACb;AAAO,iBAAA,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;AACpC,gBAAA,MAAM,KAAK,GAAG,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;AACpE,gBAAA,OAAO,gBAAgB,MAAM,CAAA,KAAA,EAAQ,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAA,GAAA,EAAM,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,GAAG;YAC7H;iBAAO;AACL,gBAAA,OAAO,IAAI;YACb;AACF,QAAA,CAAC,qDAAC;AAEF,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;AAC9B,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YAC7C,IAAI,WAAW,EAAE;AACf,gBAAA,OAAO,IAAI;YACb;AAAO,iBAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;gBAC5C,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,SAAS;YAC/C;iBAAO;AACL,gBAAA,OAAO,SAAS;YAClB;AACF,QAAA,CAAC,2DAAC;QAGA,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,IAAI,SAAS,EAAE;gBACb,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI;AAAE,wBAAA,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE;oBAAE;AACtC,oBAAA,OAAO,EAAE,EAAE,EAAE;gBACf,CAAC,EAAE,EAAE,CAAC;AACN,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC;YACvD;iBAAO;AACL,gBAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACvB;AACF,QAAA,CAAC,CAAC;QAEF,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE;YAC3C,OAAO,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;;AAElD,gBAAA,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB;gBACF;gBACA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;gBACjD,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5C,gBAAA,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC;AACnC,oBAAA,gBAAgB,EAAE,cAAc,CAAC,QAAQ;AACtC,yBAAA,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO;AAC3C,yBAAA,aAAa,CAAC;wBACb,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;qBAC/F;AACJ,iBAAA,CAAC;;;AAIF,gBAAA,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,EAAE;AACtC,oBAAA,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB;AACzC,oBAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI;oBAChC,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,CAAC,aAAa,GAAG,OAAO;AAC9B,oBAAA,CAAC,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;QACJ;IACF;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;IACzB;IAEA,IAAW,aAAa,CAAC,KAAc,EAAA;QACrC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACnC,gBAAA,IAAI,CAAC,UAAU,GAAG,IAAI;YACxB;AACA,YAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7B,gBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AACrB,gBAAA,IAAI,CAAC,UAAU,GAAG,KAAK;YACzB;QACF;aAAO;;AAEL,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK;QACnC;IACF;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACnB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAkB,CAAC,CAAC;IAChF;8GAjHW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAmHF,yBAAyB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,IAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjI7D,0tBAcA,EAAA,MAAA,EAAA,CAAA,+NAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,oBAAA,EAAA,oBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDAa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,UAAA,EAGlB,KAAK,EAAA,eAAA,EACA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0tBAAA,EAAA,MAAA,EAAA,CAAA,+NAAA,CAAA,EAAA;;sBAmB9C,SAAS;uBAAC,IAAI;;sBAkGd,eAAe;uBAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;;;MErHxE,uBAAuB,CAAA;AAElC,IAAA,WAAA,CACU,UAAyC,EACQ,YAAmC,EAC3B,cAAyC,EAAA;QAFlG,IAAA,CAAA,UAAU,GAAV,UAAU;QACuC,IAAA,CAAA,YAAY,GAAZ,YAAY;IAGvE;IAIA,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;AAC1C,YAAA,IAAI,CAAC,YAAY,CAAC,WAAW,GAAG,IAAI;QACtC;IACF;AAfW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAIxB,UAAU,CAAC,MAAM,qBAAqB,CAAC,EAAA,EAAA,EAAA,KAAA,EAC3B,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AALtD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,8HAHqB,yBAAyB,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAGrE,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBARnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAET,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AACjB,oBAAA,OAAO,EAAE;wBACP,cAAc,EAAE,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC;AAChF,qBAAA;AACF,iBAAA;;0BAKI,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,qBAAqB,CAAC;;0BAC9C;;0BAAY,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,yBAAyB,CAAC;;;MCLtD,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CACU,UAAyC,EACrC,YAA+B,EACsB,cAAyC,EAAA;QAFlG,IAAA,CAAA,UAAU,GAAV,UAAU;QAIlB,IAAI,YAAY,EAAE;AAChB,YAAA,IAAI,cAAc,IAAI,IAAI,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC;YACzD;iBAAO;gBACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;YAC9D;QACF;AACA,QAAA,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,YAAY;IACrC;AAfW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,0FAKL,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGALtD,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,yBAAyB;;;;;AAKnC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;0BAKI;;0BACA;;0BAAY,MAAM;AAAC,oBAAA,IAAA,EAAA,CAAA,UAAU,CAAC,MAAM,yBAAyB,CAAC;;sBAYhE,WAAW;uBAAC,sBAAsB;;;MCrBxB,wBAAwB,CAAA;AAUnC,IAAA,WAAA,GAAA;AARQ,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAExC,IAAA,CAAA,MAAM,GAAG,KAAK,CAAgC,SAAS,mDAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;AAC9E,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAU,KAAK,oDAAC;QACzC,IAAA,CAAA,cAAc,GAA0B,IAAI;QAC5C,IAAA,CAAA,cAAc,GAAG,CAAC;QAGhB,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAE5B,YAAA,IAAI,QAAQ,IAAI,MAAM,EAAE;AACtB,gBAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;AACrC,oBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,EAAE,IAAI,IAAI;gBACjF;qBAAO;oBACL,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,CAAC,OAAO,KAAI;wBACnD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,YAAY;AACpD,wBAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,IAAI;AACrF,oBAAA,CAAC,CAAC;AAEF,oBAAA,MAAM,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,gBAAgB,CAAC,aAAa,CAAC;AACvF,oBAAA,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC1C,oBAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;AACxC,oBAAA,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,EAAE;wBACjC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;oBACvD;gBACF;YACF;AACF,QAAA,CAAC,CAAC;IACJ;IAEA,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB;IAEA,WAAW,GAAA;AACT,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC;QAC1D;IACF;8GA5CW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCCY,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;QAOkB,IAAA,CAAA,UAAU,GAAU,EAAE;QACR,IAAA,CAAA,MAAM,GAAG,IAAI;AAC5C,IAAA;8GAHY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,4KCRnC,2FAEO,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMM,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,cAGf,KAAK,EAAA,QAAA,EAAA,2FAAA,EAAA;;sBAGhB;;sBACA,WAAW;uBAAC,eAAe;;;MEHjB,uBAAuB,CAAA;AAElC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;AACxC,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACvC,QAAA,MAAM,CAAC,oBAAoB,GAAG,WAAW;IAC3C;AAEO,IAAA,OAAO,sBAAsB,CAClC,GAA4B,EAC5B,GAAQ,EAAA;AAER,QAAA,OAAO,IAAI;IACb;8GAbW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;MAkBY,qBAAqB,CAAA;AAAlC,IAAA,WAAA,GAAA;QACS,IAAA,CAAA,SAAS,GAAY,IAAK;IACnC;AAAC;;MCiCY,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAtCvB,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,qBAAqB;YAErB,uBAAuB;YACvB,gBAAgB;YAChB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,uBAAuB,aAGvB,SAAS;YACT,gBAAgB;YAChB,qBAAqB;YACrB,oBAAoB;YACpB,oBAAoB;YACpB,qBAAqB;YACrB,qBAAqB;YACrB,0BAA0B;AAC1B,YAAA,wBAAwB,aAGxB,iBAAiB;YACjB,oBAAoB;YACpB,yBAAyB;YACzB,qBAAqB;YAErB,uBAAuB;YACvB,gBAAgB;YAChB,wBAAwB;YACxB,sBAAsB;YACtB,uBAAuB;YAEvB,0BAA0B;YAC1B,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAvBvB,oBAAoB;YAGpB,qBAAqB;YAErB,wBAAwB,CAAA,EAAA,CAAA,CAAA;;2FAkBf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAxC1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,iBAAiB;wBACjB,oBAAoB;wBACpB,yBAAyB;wBACzB,qBAAqB;wBAErB,uBAAuB;wBACvB,gBAAgB;wBAChB,wBAAwB;wBACxB,sBAAsB;wBACtB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,SAAS;wBACT,gBAAgB;wBAChB,qBAAqB;wBACrB,oBAAoB;wBACpB,oBAAoB;wBACpB,qBAAqB;wBACrB,qBAAqB;wBACrB,0BAA0B;wBAC1B,wBAAwB;AACzB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,iBAAiB;wBACjB,oBAAoB;wBACpB,yBAAyB;wBACzB,qBAAqB;wBAErB,uBAAuB;wBACvB,gBAAgB;wBAChB,wBAAwB;wBACxB,sBAAsB;wBACtB,uBAAuB;wBAEvB,0BAA0B;wBAC1B;AACD;AACF,iBAAA;;;AC1DD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-navbar.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar/navbar.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-nav/navbar-nav.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-item/navbar-item.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-dropdown/navbar-dropdown.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/dropdown-toggle/dropdown-toggle.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/nav-link/nav-link.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-content/navbar-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar-brand/navbar-brand.component.html","../../../../libs/mintplayer-ng-bootstrap/navbar/src/expand-button/expand-button.directive.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/src/navbar.module.ts","../../../../libs/mintplayer-ng-bootstrap/navbar/mintplayer-ng-bootstrap-navbar.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, effect, ElementRef, HostListener, inject, input, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { Breakpoint, Color } from '@mintplayer/ng-bootstrap';\n\n@Component({\n selector: 'bs-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarComponent {\n\n constructor() {\n effect((onCleanup) => {\n const windowWidth = this.windowWidth();\n const timeout = setTimeout(() => this.isResizing.set(false), 300);\n onCleanup(() => clearTimeout(timeout));\n });\n\n this.onWindowResize();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing.set(true);\n if (typeof window !== 'undefined') {\n this.windowWidth.set(window.innerWidth);\n }\n }\n\n @ViewChild('nav') nav!: ElementRef;\n autoclose = input(true);\n\n expandButtonTemplate: TemplateRef<any> | null = null;\n\n isExpanded = signal<boolean>(false);\n windowWidth = signal<number | null>(null);\n isResizing = signal<boolean>(false);\n\n color = input<Color | null>(null);\n breakpoint = input<Breakpoint | null>('md');\n\n expandAt = computed(() => {\n const breakpoint = this.breakpoint();\n switch (breakpoint) {\n case 'xxl': return 1400;\n case 'xl': return 1200;\n case 'lg': return 992;\n case 'md': return 768;\n case 'sm': return 576;\n case 'xs': return 0;\n default: return null;\n }\n });\n\n isSmallMode = computed(() => {\n const expandAt = this.expandAt();\n const windowWidth = this.windowWidth();\n if (windowWidth === null) {\n return true;\n } else if (!expandAt) {\n return true;\n } else if (windowWidth >= expandAt) {\n return false;\n } else {\n return true;\n }\n });\n\n expandClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `navbar-expand-${breakpoint}`;\n }\n });\n\n wAutoClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `w-${breakpoint}-auto`;\n }\n });\n\n dNoneClass = computed(() => {\n const breakpoint = this.breakpoint();\n if (breakpoint === null) {\n return null;\n } else {\n return `d-${breakpoint}-none`;\n }\n });\n\n backgroundColorClass = computed(() => {\n const color = this.color();\n switch (color) {\n case Color.light:\n case null:\n return ['navbar-light'];\n default:\n return ['navbar-dark', `bg-${Color[color]}`];\n }\n });\n\n navClassList = computed(() => {\n const expandClass = this.expandClass();\n const backgroundColorClass = this.backgroundColorClass();\n const result: string[] = [];\n return result.concat(expandClass ?? [], ...backgroundColorClass);\n });\n\n toggleExpanded() {\n this.isExpanded.update(v => !v);\n }\n}\n","<bs-container>\n <nav #nav class=\"navbar position-fixed\" [class]=\"navClassList()\" bsUserAgent bsNoNoscript>\n <div class=\"container-fluid nav-wrapper\">\n <div class=\"d-flex w-100\" [class]=\"wAutoClass()\">\n <ng-content select=\"bs-navbar-brand\"></ng-content>\n <div class=\"flex-end d-flex tw\" [class]=\"dNoneClass()\">\n <button (click)=\"toggleExpanded()\" title=\"Expand/collapse menu\" class=\"align-self-center\" [class.navbar-toggler]=\"!expandButtonTemplate\" [class.bg-transparent]=\"expandButtonTemplate\" [class.shadow-none]=\"expandButtonTemplate\" [class.border-0]=\"expandButtonTemplate\" type=\"button\">\n <ng-container *ngTemplateOutlet=\"expandButtonTemplate ?? defaultExpandButton; context: { $implicit: isExpanded() }\"></ng-container>\n </button>\n </div>\n </div>\n <ng-content></ng-content>\n </div>\n </nav>\n</bs-container>\n\n<ng-template #defaultExpandButton>\n <span class=\"navbar-toggler-icon\"></span>\n</ng-template>\n","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, computed, effect, HostListener, inject, input, signal } from '@angular/core';\nimport { SlideUpDownAnimation } from '@mintplayer/ng-animations';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Component({\n selector: 'bs-navbar-nav',\n templateUrl: './navbar-nav.component.html',\n styleUrls: ['./navbar-nav.component.scss'],\n standalone: false,\n animations: [SlideUpDownAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarNavComponent {\n\n private cdr = inject(ChangeDetectorRef);\n bsNavbar = inject(BsNavbarComponent);\n\n windowWidth = signal<number | null>(null);\n isResizing = signal<boolean>(false);\n collapse = input<boolean>(true);\n\n showNavs = computed(() => {\n const isExpanded = this.bsNavbar.isExpanded();\n const expandAt = this.bsNavbar.expandAt();\n const windowWidth = this.windowWidth();\n\n if (windowWidth === null) {\n return false;\n } else if (expandAt === null) {\n return isExpanded;\n } else if (windowWidth >= expandAt) {\n return true;\n } else {\n return isExpanded;\n }\n });\n\n constructor() {\n effect((onCleanup) => {\n const windowWidth = this.windowWidth();\n const timeout = setTimeout(() => {\n this.isResizing.set(false);\n this.cdr.markForCheck();\n }, 300);\n onCleanup(() => clearTimeout(timeout));\n });\n\n this.onWindowResize();\n }\n\n @HostListener('window:resize')\n onWindowResize() {\n this.isResizing.set(true);\n if (typeof window !== 'undefined') {\n this.windowWidth.set(window.innerWidth);\n }\n }\n}\n","<div class=\"navbar-collapse w-100 show\" [class.collapse]=\"collapse()\" [@slideUpDown]=\"showNavs()\" [@.disabled]=\"isResizing()\">\n <ul class=\"navbar-nav mr-auto\">\n <ng-content></ng-content>\n </ul>\n</div>\n","import { AfterContentChecked, AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, DestroyRef, effect, ElementRef, forwardRef, inject, PLATFORM_ID, QueryList } from '@angular/core';\nimport { isPlatformServer } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n/** Duration of the navbar collapse animation in milliseconds */\nconst NAVBAR_ANIMATION_DURATION = 300;\n\n@Component({\n selector: 'bs-navbar-item',\n templateUrl: './navbar-item.component.html',\n styleUrls: ['./navbar-item.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarItemComponent implements AfterContentInit, AfterContentChecked {\n\n private navbar = inject(BsNavbarComponent);\n element = inject(ElementRef);\n private destroy = inject(DestroyRef);\n private platformId = inject(PLATFORM_ID);\n private router = inject(Router);\n parentDropdown = inject(forwardRef(() => BsNavbarDropdownComponent), { optional: true });\n\n hasDropdown = false;\n anchorTag: HTMLAnchorElement | null = null;\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent)) dropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n constructor() {\n // Effect handles future isSmallMode changes after content is initialized\n effect(() => {\n const isSmallMode = this.navbar.isSmallMode();\n this.dropdowns?.forEach((dropdown) => {\n dropdown.showInOverlay = !isSmallMode;\n });\n });\n }\n\n ngAfterContentInit() {\n // Set initial showInOverlay state after content children are resolved\n // This is needed because the effect runs before @ContentChildren is populated\n const isSmallMode = this.navbar.isSmallMode();\n this.dropdowns?.forEach((dropdown) => {\n dropdown.showInOverlay = !isSmallMode;\n });\n }\n\n ngAfterContentChecked() {\n this.anchorTag = this.element.nativeElement.querySelector('li a');\n\n if (this.hasDropdown) {\n if (this.anchorTag) {\n this.anchorTag.classList.add('dropdown-toggle');\n\n if (isPlatformServer(this.platformId)) {\n this.anchorTag.href = 'javascript:;';\n }\n\n if (!this.anchorTag.getAttribute('close-init-b')) {\n this.anchorTag.setAttribute('close-init-b', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n ev.preventDefault();\n this.dropdowns.forEach((dropdown) => {\n const newVisible = !dropdown.isVisible();\n dropdown.isVisible.set(newVisible);\n if (!newVisible) {\n dropdown.childDropdowns.forEach((child) => child.isVisible.set(false));\n }\n });\n return false;\n });\n }\n }\n } else {\n\n if ((this.dropdowns.length === 0) && this.anchorTag && !this.anchorTag.getAttribute('close-init-a')) {\n this.anchorTag.setAttribute('close-init-a', '1');\n this.anchorTag.addEventListener('click', (ev: MouseEvent) => {\n let d = this.parentDropdown;\n while (d && d.autoclose()) {\n d.isVisible.set(false);\n d = d.parentDropdown;\n }\n if (this.navbar.autoclose()) {\n // Get the fragment from the link's href\n const href = this.anchorTag?.getAttribute('href') ?? '';\n const fragmentMatch = href.match(/#(.+)$/);\n const fragment = fragmentMatch ? fragmentMatch[1] : null;\n\n // Always collapse the navbar\n this.navbar.isExpanded.set(false);\n\n // If in small mode with a fragment, prevent default navigation and\n // navigate after the collapse animation completes to avoid double scroll\n if (this.navbar.isSmallMode() && fragment) {\n ev.preventDefault();\n\n // After the collapse animation completes, navigate to the anchor\n // This ensures correct scroll position since navbar height is stable\n setTimeout(() => {\n this.router.navigateByUrl(href);\n }, NAVBAR_ANIMATION_DURATION);\n }\n }\n });\n }\n\n }\n }\n}\n","<li [class.nav-item]=\"parentDropdown === null\" [class.dropdown]=\"(dropdowns.length > 0) && (parentDropdown === null)\" [class.dropend]=\"(dropdowns.length > 0) && (parentDropdown !== null)\">\n <ng-content></ng-content>\n</li>","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ContentChildren, computed, DestroyRef, effect, ElementRef, forwardRef, inject, Injector, input, OnDestroy, PLATFORM_ID, QueryList, signal, SkipSelf, ViewChild } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { DomPortal } from '@angular/cdk/portal';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'bs-navbar-dropdown',\n templateUrl: './navbar-dropdown.component.html',\n styleUrls: ['./navbar-dropdown.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsNavbarDropdownComponent implements OnDestroy {\n\n private navbar = inject(BsNavbarComponent);\n parentDropdown = inject(BsNavbarDropdownComponent, { skipSelf: true, optional: true });\n navbarItem = inject(forwardRef(() => BsNavbarItemComponent), { host: true });\n element = inject<ElementRef<HTMLElement>>(ElementRef);\n private injector = inject(Injector);\n private document = inject(DOCUMENT);\n private platformId = inject(PLATFORM_ID);\n\n private isAttached = false;\n private isDestroyed = false;\n private domPortal?: DomPortal;\n private overlay?: OverlayRef;\n private pendingShowInOverlay: boolean | null = null;\n\n autoclose = input(true);\n @ViewChild('dd') dropdownElement!: ElementRef<HTMLDivElement>;\n isBrowser = !isPlatformServer(this.platformId);\n\n isVisible = signal<boolean>(false);\n topPos = signal<number | null>(null);\n\n maxHeight = computed(() => {\n const topPos = this.topPos();\n const w: Window | null = this.document.defaultView;\n if (!topPos) {\n return null;\n } else if (w && this.dropdownElement) {\n const style = w.getComputedStyle(this.dropdownElement.nativeElement);\n return `calc(100vh - ${topPos}px - ${style.getPropertyValue('padding-top')} - ${style.getPropertyValue('padding-bottom')})`;\n } else {\n return null;\n }\n });\n\n maxHeightOrNull = computed(() => {\n const maxHeight = this.maxHeight();\n const isSmallMode = this.navbar.isSmallMode();\n if (isSmallMode) {\n return null;\n } else if (isPlatformServer(this.platformId)) {\n return this.parentDropdown ? null : maxHeight;\n } else {\n return maxHeight;\n }\n });\n\n constructor() {\n effect(() => {\n const isVisible = this.isVisible();\n if (isVisible) {\n setTimeout(() => {\n try { this.overlay?.updatePosition(); }\n catch (ex) { }\n }, 20);\n this.topPos.set(this.element.nativeElement.offsetTop);\n } else {\n this.topPos.set(null);\n }\n });\n\n if (!!this.parentDropdown && this.isBrowser) {\n import('@angular/cdk/overlay').then(({ Overlay }) => {\n // Guard against accessing injector after component is destroyed\n if (this.isDestroyed) {\n return;\n }\n const overlayService = this.injector.get(Overlay);\n this.domPortal = new DomPortal(this.element);\n this.overlay = overlayService.create({\n positionStrategy: overlayService.position()\n .flexibleConnectedTo(this.navbarItem.element)\n .withPositions([\n { originX: 'end', originY: 'top', overlayX: 'start', overlayY: 'top', offsetX: -9, offsetY: -9 }\n ])\n });\n\n // Apply pending showInOverlay state if it was set before overlay was ready\n // Use setTimeout to avoid ExpressionChangedAfterItHasBeenCheckedError\n if (this.pendingShowInOverlay !== null) {\n const pending = this.pendingShowInOverlay;\n this.pendingShowInOverlay = null;\n setTimeout(() => {\n this.showInOverlay = pending;\n });\n }\n });\n }\n }\n\n ngOnDestroy() {\n this.isDestroyed = true;\n }\n\n public set showInOverlay(value: boolean) {\n if (this.overlay && this.domPortal) {\n if (value && !this.isAttached) {\n this.overlay.attach(this.domPortal);\n this.isAttached = true;\n }\n if (!value && this.isAttached) {\n this.overlay.detach();\n this.isAttached = false;\n }\n } else {\n // Store the value to apply once the overlay is ready\n this.pendingShowInOverlay = value;\n }\n }\n\n get elementsToExclude() {\n return [this.navbarItem.anchorTag].filter((a) => a).map((a) => <HTMLElement>a);\n }\n\n @ContentChildren(forwardRef(() => BsNavbarDropdownComponent), { descendants: true }) childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n}\n","<bs-has-overlay></bs-has-overlay>\n<ul #dd class=\"dropdown-menu\" [class.show]=\"isVisible()\" [class.submenu]=\"!!parentDropdown\" [class.overflow-y-auto]=\"isBrowser\" [style.max-height]=\"maxHeightOrNull()\" bsNoNoscript (clickOutside)=\"isVisible.set(false)\" [exclude]=\"elementsToExclude\" aria-labelledby=\"navbarDropdown\">\n <ng-content></ng-content>\n</ul>\n\n<!--\n - Working demo: https://codepen.io/agop/pen/VwwMGR\n - Location must be set through javascript\n - bsNoScript => If noscript, 2nd-level submenus must be shown inside the 1st-level submenu\n -->\n <!--\n - Another option: https://stackblitz.com/edit/web-platform-vmsr4l?file=index.html\n - But this doesn't seem to work here\n -->\n","import { AfterContentInit, Component, ContentChildren, Directive, ElementRef, forwardRef, Inject, Optional, QueryList } from '@angular/core';\nimport { BsNavbarItemComponent } from '../navbar-item/navbar-item.component';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\n\n@Directive({\n // selector: 'bs-navbar-item > a[routerLink]',\n selector: 'bs-navbar-item',\n standalone: false,\n queries: {\n childDropdowns: new ContentChildren(forwardRef(() => BsNavbarDropdownComponent))\n },\n})\nexport class DropdownToggleDirective implements AfterContentInit {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Inject(forwardRef(() => BsNavbarItemComponent)) private bsNavbarItem: BsNavbarItemComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n }\n\n childDropdowns!: QueryList<BsNavbarDropdownComponent>;\n\n ngAfterContentInit() {\n if (this.bsNavbarItem.dropdowns.length > 0) {\n this.bsNavbarItem.hasDropdown = true;\n }\n }\n}","import { Directive, ElementRef, forwardRef, HostBinding, Inject, Optional, PLATFORM_ID } from '@angular/core';\nimport { BsNavbarDropdownComponent } from '../navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: 'bs-navbar-item > li > a',\n // Below selector doesn't work well either (does not select the github link)\n // selector: 'bs-navbar-item > a[routerLink]'\n // Below selector seems to target other a's that aren't even remotely inside a bs-navbar-item\n // selector: 'bs-navbar-item:first-child > a'\n standalone: false,\n})\nexport class NavLinkDirective {\n\n constructor(\n private elementRef: ElementRef<HTMLAnchorElement>,\n @Optional() parentNavbar: BsNavbarComponent,\n @Optional() @Inject(forwardRef(() => BsNavbarDropdownComponent)) parentDropdown: BsNavbarDropdownComponent\n ) {\n if (parentNavbar) {\n if (parentDropdown == null) {\n this.elementRef.nativeElement.classList.add('nav-link');\n } else {\n this.elementRef.nativeElement.classList.add('dropdown-item');\n }\n }\n this.cursorPointer = !!parentNavbar;\n }\n\n @HostBinding('class.cursor-pointer') cursorPointer: boolean;\n\n}","import { isPlatformServer } from '@angular/common';\nimport { AfterViewInit, Directive, effect, ElementRef, inject, input, OnDestroy, PLATFORM_ID, signal } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsNavbarContent]',\n standalone: false,\n})\nexport class BsNavbarContentDirective implements AfterViewInit, OnDestroy {\n\n private element = inject(ElementRef);\n private platformId = inject(PLATFORM_ID);\n\n navbar = input<BsNavbarComponent | undefined>(undefined, { alias: 'bsNavbarContent' });\n private viewInit = signal<boolean>(false);\n resizeObserver: ResizeObserver | null = null;\n initialPadding = 0;\n\n constructor() {\n effect(() => {\n const viewInit = this.viewInit();\n const navbar = this.navbar();\n\n if (viewInit && navbar) {\n if (isPlatformServer(this.platformId)) {\n this.element.nativeElement.style.paddingTop = (this.initialPadding + 58) + 'px';\n } else {\n this.resizeObserver = new ResizeObserver((entries) => {\n const height = navbar.nav.nativeElement.offsetHeight;\n this.element.nativeElement.style.paddingTop = (this.initialPadding + height) + 'px';\n });\n\n const px = getComputedStyle(this.element.nativeElement).getPropertyValue('padding-top');\n const pt = parseInt(px.replace(/px$/, ''));\n this.initialPadding = isNaN(pt) ? 0 : pt;\n if (this.resizeObserver && navbar) {\n this.resizeObserver.observe(navbar.nav.nativeElement);\n }\n }\n }\n });\n }\n\n ngAfterViewInit() {\n this.viewInit.set(true);\n }\n\n ngOnDestroy() {\n const navbar = this.navbar();\n if (navbar) {\n this.resizeObserver?.unobserve(navbar.nav.nativeElement);\n }\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-navbar-brand',\n templateUrl: './navbar-brand.component.html',\n styleUrls: ['./navbar-brand.component.scss'],\n standalone: false,\n})\nexport class BsNavbarBrandComponent {\n @Input() public routerLink: any[] = [];\n @HostBinding('class.mx-auto') mxAuto = true;\n}\n","<span class=\"navbar-brand mx-auto mx-md-unset\">\n <ng-content></ng-content>\n</span>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsNavbarComponent } from '../navbar/navbar.component';\n\n@Directive({\n selector: '[bsExpandButton]',\n standalone: false,\n})\nexport class BsExpandButtonDirective {\n\n constructor() {\n const navbar = inject(BsNavbarComponent);\n const templateRef = inject(TemplateRef);\n navbar.expandButtonTemplate = templateRef;\n }\n \n public static ngTemplateContextGuard(\n dir: BsExpandButtonDirective,\n ctx: any\n ): ctx is BsExpandButtonContext {\n return true;\n }\n\n}\n\nexport class BsExpandButtonContext {\n public $implicit: boolean = null!;\n}","import { NgModule } from '@angular/core';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { ClickOutsideDirective } from '@mintplayer/ng-click-outside';\nimport { BsUserAgentDirective } from '@mintplayer/ng-bootstrap/user-agent';\nimport { BsNoNoscriptDirective } from '@mintplayer/ng-bootstrap/no-noscript';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsDropdownDividerDirective } from '@mintplayer/ng-bootstrap/dropdown-divider';\nimport { BsContainerComponent } from '@mintplayer/ng-bootstrap/container';\nimport { BsNavbarTogglerComponent } from '@mintplayer/ng-bootstrap/navbar-toggler';\nimport { BsNavbarComponent } from './navbar/navbar.component';\nimport { BsNavbarNavComponent } from './navbar-nav/navbar-nav.component';\nimport { BsNavbarDropdownComponent } from './navbar-dropdown/navbar-dropdown.component';\nimport { BsNavbarItemComponent } from './navbar-item/navbar-item.component';\nimport { DropdownToggleDirective } from './dropdown-toggle/dropdown-toggle.directive';\nimport { NavLinkDirective } from './nav-link/nav-link.directive';\nimport { BsNavbarContentDirective } from './navbar-content/navbar-content.directive';\nimport { BsNavbarBrandComponent } from './navbar-brand/navbar-brand.component';\nimport { BsExpandButtonDirective } from './expand-button/expand-button.directive';\n\n@NgModule({\n declarations: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n ],\n imports: [\n AsyncPipe,\n NgTemplateOutlet,\n ClickOutsideDirective,\n BsContainerComponent,\n BsUserAgentDirective,\n BsNoNoscriptDirective,\n BsHasOverlayComponent,\n BsDropdownDividerDirective,\n BsNavbarTogglerComponent,\n ],\n exports: [\n BsNavbarComponent,\n BsNavbarNavComponent,\n BsNavbarDropdownComponent,\n BsNavbarItemComponent,\n\n DropdownToggleDirective,\n NavLinkDirective,\n BsNavbarContentDirective,\n BsNavbarBrandComponent,\n BsExpandButtonDirective,\n\n BsDropdownDividerDirective,\n BsNavbarTogglerComponent\n ]\n})\nexport class BsNavbarModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3"],"mappings":"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"}
|
|
@@ -165,7 +165,7 @@ class BsOffcanvasHostComponent {
|
|
|
165
165
|
hasBackdrop: false
|
|
166
166
|
});
|
|
167
167
|
this.component = this.overlayRef.attach(portal);
|
|
168
|
-
this.component.instance.backdropClick.subscribe((ev) => this.backdropClick.emit(ev));
|
|
168
|
+
this.backdropClickSubscription = this.component.instance.backdropClick.subscribe((ev) => this.backdropClick.emit(ev));
|
|
169
169
|
// Initialize the inner component with current values
|
|
170
170
|
this.component.instance.isVisible.set(this.isVisible());
|
|
171
171
|
this.component.instance.position.set(this.position());
|
|
@@ -174,6 +174,7 @@ class BsOffcanvasHostComponent {
|
|
|
174
174
|
this.viewInited.set(true);
|
|
175
175
|
}
|
|
176
176
|
ngOnDestroy() {
|
|
177
|
+
this.backdropClickSubscription?.unsubscribe();
|
|
177
178
|
this.isVisible.set(false);
|
|
178
179
|
setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 3000);
|
|
179
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-offcanvas.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/providers/offcanvas-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas/offcanvas.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas/offcanvas.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-host/offcanvas-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-host/offcanvas-host.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-header/offcanvas-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-header/offcanvas-header.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-body/offcanvas-body.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-body/offcanvas-body.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/offcanvas.module.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/mintplayer-ng-bootstrap-offcanvas.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const OFFCANVAS_CONTENT = new InjectionToken<TemplateRef<any>>('OffcanvasContent');","import { isPlatformServer } from '@angular/common';\nimport { Component, computed, effect, Inject, output, PLATFORM_ID, signal, TemplateRef, untracked } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport { OFFCANVAS_CONTENT } from '../../providers/offcanvas-content.provider';\n\n@Component({\n selector: 'bs-offcanvas-holder',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n standalone: false,\n animations: [FadeInOutAnimation],\n})\nexport class BsOffcanvasComponent {\n\n constructor(@Inject(OFFCANVAS_CONTENT) contentTemplate: TemplateRef<any>, @Inject(PLATFORM_ID) private platformId: Object) {\n this.contentTemplate = contentTemplate;\n\n // Effect to handle position changes - disable transition temporarily\n effect(() => {\n const position = this.position();\n // Use untracked to avoid creating dependency on disableTransition\n untracked(() => {\n this.disableTransition.set(true);\n this.offcanvasClass.set(`offcanvas-${position}`);\n // Re-enable transitions after browser has processed position change\n if (!isPlatformServer(this.platformId)) {\n requestAnimationFrame(() => {\n this.disableTransition.set(false);\n });\n }\n });\n });\n\n // Effect to handle visibility changes\n effect(() => {\n const isVisible = this.isVisible();\n untracked(() => {\n if (isVisible) {\n // When showing: set visibility immediately, then add .show class after position is applied\n this.visibility.set('visible');\n // Delay adding .show class to allow position to be applied first\n if (!isPlatformServer(this.platformId)) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.show.set(true);\n });\n });\n }\n } else {\n // When hiding: remove .show class immediately, delay visibility for animation\n this.show.set(false);\n setTimeout(() => {\n if (!this.isVisible()) {\n this.visibility.set('hidden');\n }\n }, 300);\n }\n });\n });\n }\n\n contentTemplate: TemplateRef<any>;\n\n // Core state signals\n position = signal<Position>('bottom');\n size = signal<number | null>(null);\n isVisible = signal<boolean>(false);\n hasBackdrop = signal<boolean>(false);\n\n // Internal state signals\n disableTransition = signal<boolean>(false);\n offcanvasClass = signal<string | null>(null);\n visibility = signal<string>('hidden');\n show = signal<boolean>(false);\n\n // Computed signals\n width = computed(() => {\n const position = this.position();\n const size = this.size();\n return ['start', 'end'].includes(position) ? size : null;\n });\n\n height = computed(() => {\n const position = this.position();\n const size = this.size();\n return ['top', 'bottom'].includes(position) ? size : null;\n });\n\n overflowClass = computed(() => {\n const position = this.position();\n return ['top', 'bottom'].includes(position) ? 'overflow-y-hidden' : 'overflow-x-hidden';\n });\n\n showBackdrop = computed(() => {\n return this.hasBackdrop() && this.isVisible();\n });\n\n // Outputs\n isVisibleChange = output<boolean>();\n backdropClick = output<MouseEvent>();\n\n onBackdropClick(ev: MouseEvent) {\n this.backdropClick.emit(ev);\n }\n\n}\n","@if (showBackdrop()) {\n <div [@fadeInOut]=\"{value: ':leave', params: {duration: '300ms'} }\">\n <div class=\"modal-backdrop show\" (click)=\"onBackdropClick($event)\"></div>\n </div>\n}\n<div class=\"offcanvas\"\n [class.show]=\"show()\"\n [class.disable-transition]=\"disableTransition()\"\n [class]=\"[offcanvasClass(), overflowClass()]\"\n [style.height.px]=\"height()\"\n [style.width.px]=\"width()\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</div>","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('OffcanvasPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentRef, effect, inject, Injector, model, OnDestroy, output, signal, TemplateRef } from '@angular/core';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport { OFFCANVAS_CONTENT } from '../../providers/offcanvas-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsOffcanvasComponent } from '../offcanvas/offcanvas.component';\n\n@Component({\n selector: 'bs-offcanvas',\n templateUrl: './offcanvas-host.component.html',\n styleUrls: ['./offcanvas-host.component.scss'],\n standalone: false,\n})\nexport class BsOffcanvasHostComponent implements AfterViewInit, OnDestroy {\n private overlayService = inject(Overlay);\n private rootInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<any>>(PORTAL_FACTORY);\n\n constructor() {\n // Effect to sync isVisible with the inner component\n effect(() => {\n const isVisible = this.isVisible();\n if (this.component) {\n this.component.instance.isVisible.set(isVisible);\n }\n });\n\n // Effect to sync position with the inner component\n effect(() => {\n const position = this.position();\n if (this.component && this.viewInited()) {\n this.component.instance.position.set(position);\n }\n });\n\n // Effect to sync size with the inner component\n effect(() => {\n const size = this.size();\n if (this.component && this.viewInited()) {\n this.component.instance.size.set(size);\n }\n });\n\n // Effect to sync hasBackdrop with the inner component\n effect(() => {\n const hasBackdrop = this.hasBackdrop();\n if (this.component && this.viewInited()) {\n this.component.instance.hasBackdrop.set(hasBackdrop);\n }\n });\n }\n\n content!: TemplateRef<any>;\n overlayRef!: OverlayRef;\n component!: ComponentRef<BsOffcanvasComponent>;\n\n // Signals\n viewInited = signal<boolean>(false);\n isVisible = model<boolean>(false);\n size = model<number | null>(null);\n position = model<Position>('bottom');\n hasBackdrop = model<boolean>(false);\n\n backdropClick = output<MouseEvent>();\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: OFFCANVAS_CONTENT, useValue: this.content },\n ],\n parent: this.rootInjector,\n });\n // const portal = new ComponentPortal(BsOffcanvasComponent, null, injector);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlayService.create({\n scrollStrategy: this.overlayService.scrollStrategies.reposition(),\n positionStrategy: this.overlayService.position().global()\n .top('0').left('0').bottom('0').right('0'),\n hasBackdrop: false\n });\n\n this.component = this.overlayRef.attach<BsOffcanvasComponent>(portal);\n\n this.component.instance.backdropClick.subscribe((ev) => this.backdropClick.emit(ev));\n\n // Initialize the inner component with current values\n this.component.instance.isVisible.set(this.isVisible());\n this.component.instance.position.set(this.position());\n this.component.instance.size.set(this.size());\n this.component.instance.hasBackdrop.set(this.hasBackdrop());\n\n this.viewInited.set(true);\n }\n\n ngOnDestroy() {\n this.isVisible.set(false);\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 3000);\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';\n\n@Directive({\n selector: '[bsOffcanvasContent]',\n standalone: false,\n})\nexport class BsOffcanvasContentDirective {\n constructor() {\n const offcanvasHost = inject(BsOffcanvasHostComponent);\n const template = inject(TemplateRef);\n offcanvasHost.content = template;\n }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';\n\n@Directive({\n selector: '[bsOffcanvasClose]',\n standalone: false,\n})\nexport class BsOffcanvasCloseDirective {\n private offcanvas = inject(BsOffcanvasHostComponent);\n\n @HostListener('click') onClick() {\n this.offcanvas.isVisible.set(false);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'bs-offcanvas-header',\n templateUrl: './offcanvas-header.component.html',\n styleUrls: ['./offcanvas-header.component.scss'],\n standalone: false,\n})\nexport class OffcanvasHeaderComponent {}\n","<div class=\"offcanvas-header\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-offcanvas-body',\n templateUrl: './offcanvas-body.component.html',\n styleUrls: ['./offcanvas-body.component.scss'],\n standalone: false,\n})\nexport class OffcanvasBodyComponent {\n @Input() noPadding = false;\n}\n","<div class=\"offcanvas-body\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>","import { animate, AnimationBuilder, AnimationMetadata, style } from '@angular/animations';\nimport { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components';\n\n@Directive({\n selector: '[bsOffcanvasPush]',\n standalone: false,\n})\nexport class BsOffcanvasPushDirective {\n private element = inject<ElementRef<HTMLElement>>(ElementRef);\n private builder = inject(AnimationBuilder);\n\n constructor() {\n let previousIsVisible: boolean | null = null;\n\n effect(() => {\n const offcanvas = this.offcanvas();\n if (!offcanvas) return;\n\n const isVisible = offcanvas.isVisible();\n\n // Skip the first run (initial state)\n if (previousIsVisible === null) {\n previousIsVisible = isVisible;\n return;\n }\n\n // Skip if no change\n if (previousIsVisible === isVisible) return;\n\n previousIsVisible = isVisible;\n\n let data: AnimationMetadata[];\n if (isVisible) {\n data = [\n style({ 'margin-left': '0', 'margin-right': '0' }),\n animate('250ms', style({ 'margin-left': '400px', 'margin-right': '-400px' })),\n ];\n let el = this.element.nativeElement;\n while (el.parentElement && !['scroll', 'visible'].includes(el.parentElement.style.overflowX)) {\n el = el.parentElement;\n }\n if (this.element.nativeElement.parentElement) {\n this.initialOverflowX = {\n value: this.element.nativeElement.parentElement.style.overflowX,\n element: el,\n };\n el.style.overflowX = 'hidden';\n }\n } else {\n data = [\n style({ 'margin-left': '400px', 'margin-right': '-400px' }),\n animate('250ms', style({ 'margin-left': '0', 'margin-right': '0' })),\n ];\n }\n const b = this.builder.build(data);\n const player = b.create(this.element.nativeElement, { });\n\n if (!isVisible) {\n player.onDone(() => {\n if (this.element.nativeElement.parentElement && this.initialOverflowX) {\n this.initialOverflowX.element.style.overflowX = this.initialOverflowX.value;\n }\n });\n }\n\n player.play();\n });\n }\n\n private initialOverflowX?: {element: HTMLElement, value: string};\n\n offcanvas = input<BsOffcanvasHostComponent | null>(null, { alias: 'bsOffcanvasPush' });\n}\n","import { Injector, NgModule } from '@angular/core';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BsOffcanvasComponent } from './components/offcanvas/offcanvas.component';\nimport { BsOffcanvasContentDirective } from './directives/offcanvas-content/offcanvas-content.directive';\nimport { BsOffcanvasHostComponent } from './components/offcanvas-host/offcanvas-host.component';\nimport { BsOffcanvasCloseDirective } from './directives/offcanvas-close/offcanvas-close.directive';\nimport { OffcanvasHeaderComponent } from './components/offcanvas-header/offcanvas-header.component';\nimport { OffcanvasBodyComponent } from './components/offcanvas-body/offcanvas-body.component';\nimport { PORTAL_FACTORY } from './providers/portal-factory.provider';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsOffcanvasPushDirective } from './directives/offcanvas-push/offcanvas-push.directive';\n\n\n\n@NgModule({\n declarations: [\n BsOffcanvasComponent,\n BsOffcanvasContentDirective,\n BsOffcanvasHostComponent,\n BsOffcanvasCloseDirective,\n OffcanvasHeaderComponent,\n OffcanvasBodyComponent,\n BsOffcanvasPushDirective\n ],\n imports: [\n AsyncPipe,\n NgTemplateOutlet,\n OverlayModule,\n BsHasOverlayComponent\n ],\n exports: [\n BsOffcanvasComponent,\n BsOffcanvasContentDirective,\n BsOffcanvasHostComponent,\n BsOffcanvasCloseDirective,\n OffcanvasHeaderComponent,\n OffcanvasBodyComponent,\n BsOffcanvasPushDirective\n ],\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsOffcanvasComponent, null, injector);\n }\n }]\n})\nexport class BsOffcanvasModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;AAEO,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAmB,kBAAkB,CAAC;;MCW5E,oBAAoB,CAAA;IAE/B,WAAA,CAAuC,eAAiC,EAA+B,UAAkB,EAAA;QAAlB,IAAA,CAAA,UAAU,GAAV,UAAU;;AAkDjH,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAW,QAAQ,oDAAC;AACrC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAgB,IAAI,gDAAC;AAClC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,KAAK,qDAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAU,KAAK,uDAAC;;AAGpC,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAU,KAAK,6DAAC;AAC1C,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAgB,IAAI,0DAAC;AAC5C,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAS,QAAQ,sDAAC;AACrC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAU,KAAK,gDAAC;;AAG7B,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACpB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI;AAC1D,QAAA,CAAC,iDAAC;AAEF,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAC,MAAK;AACrB,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,YAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI;AAC3D,QAAA,CAAC,kDAAC;AAEF,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;AAC5B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAA,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,mBAAmB,GAAG,mBAAmB;AACzF,QAAA,CAAC,yDAAC;AAEF,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;YAC3B,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AAC/C,QAAA,CAAC,wDAAC;;QAGF,IAAA,CAAA,eAAe,GAAG,MAAM,EAAW;QACnC,IAAA,CAAA,aAAa,GAAG,MAAM,EAAc;AApFlC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;;QAGtC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;;YAEhC,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA,UAAA,EAAa,QAAQ,CAAA,CAAE,CAAC;;gBAEhD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACtC,qBAAqB,CAAC,MAAK;AACzB,wBAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC;AACnC,oBAAA,CAAC,CAAC;gBACJ;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;YAClC,SAAS,CAAC,MAAK;gBACb,IAAI,SAAS,EAAE;;AAEb,oBAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC;;oBAE9B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;wBACtC,qBAAqB,CAAC,MAAK;4BACzB,qBAAqB,CAAC,MAAK;AACzB,gCAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AACrB,4BAAA,CAAC,CAAC;AACJ,wBAAA,CAAC,CAAC;oBACJ;gBACF;qBAAO;;AAEL,oBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;oBACpB,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;AACrB,4BAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAC/B;oBACF,CAAC,EAAE,GAAG,CAAC;gBACT;AACF,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;AA0CA,IAAA,eAAe,CAAC,EAAc,EAAA;AAC5B,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7B;8GA3FW,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAEX,iBAAiB,EAAA,EAAA,EAAA,KAAA,EAA6C,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAFlF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbjC,sgBAYM,EAAA,MAAA,EAAA,CAAA,ormBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDDQ,CAAC,kBAAkB,CAAC,EAAA,CAAA,CAAA;;2FAErB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EAAA,UAAA,EAGnB,KAAK,EAAA,UAAA,EACL,CAAC,kBAAkB,CAAC,EAAA,QAAA,EAAA,sgBAAA,EAAA,MAAA,EAAA,CAAA,ormBAAA,CAAA,EAAA;;0BAInB,MAAM;2BAAC,iBAAiB;;0BAAsC,MAAM;2BAAC,WAAW;;;AEZxF,MAAM,cAAc,GAAG,IAAI,cAAc,CAA+C,wBAAwB,CAAC;;MCW3G,wBAAwB,CAAA;AAKnC,IAAA,WAAA,GAAA;AAJQ,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAA+C,cAAc,CAAC;;AAyC5F,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAU,KAAK,sDAAC;AACnC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,qDAAC;AACjC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAgB,IAAI,gDAAC;AACjC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAW,QAAQ,oDAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAU,KAAK,uDAAC;QAEnC,IAAA,CAAA,aAAa,GAAG,MAAM,EAAc;;QA3ClC,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;YAClD;AACF,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;YAChC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YAChD;AACF,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACxC;AACF,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;YACtC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC;YACtD;AACF,QAAA,CAAC,CAAC;IACJ;IAeA,eAAe,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE;AACvD,aAAA;YACD,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,SAAA,CAAC;;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,UAAU,EAAE;YACjE,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM;AACpD,iBAAA,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5C,YAAA,WAAW,EAAE;AACd,SAAA,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAuB,MAAM,CAAC;QAErE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;AAGpF,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;AACvD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AAC7C,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAE3D,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;IAC3B;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC;IACtE;8GApFW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,svBCdrC,qCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDaa,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,cAGZ,KAAK,EAAA,QAAA,EAAA,qCAAA,EAAA;;;MELN,2BAA2B,CAAA;AACtC,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,wBAAwB,CAAC;AACtD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,QAAA,aAAa,CAAC,OAAO,GAAG,QAAQ;IAClC;8GALW,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAA3B,2BAA2B,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAJvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCCY,yBAAyB,CAAA;AAJtC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,wBAAwB,CAAC;AAKrD,IAAA;IAHwB,OAAO,GAAA;QAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;IACrC;8GALW,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzB,yBAAyB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAzB,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAIE,YAAY;uBAAC,OAAO;;;MCFV,wBAAwB,CAAA;8GAAxB,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,gFCRrC,yEAEM,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDMO,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBANpC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cAGnB,KAAK,EAAA,QAAA,EAAA,yEAAA,EAAA;;;MEEN,sBAAsB,CAAA;AANnC,IAAA,WAAA,GAAA;QAOW,IAAA,CAAA,SAAS,GAAG,KAAK;AAC3B,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,kHCRnC,iGAEM,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA,CAAA,CAAA;;2FDMO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cAGjB,KAAK,EAAA,QAAA,EAAA,iGAAA,EAAA,MAAA,EAAA,CAAA,mCAAA,CAAA,EAAA;;sBAGhB;;;MEDU,wBAAwB,CAAA;AAInC,IAAA,WAAA,GAAA;AAHQ,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC;AACrD,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;QA8D1C,IAAA,CAAA,SAAS,GAAG,KAAK,CAAkC,IAAI,sDAAI,KAAK,EAAE,iBAAiB,EAAA,CAAG;QA3DpF,IAAI,iBAAiB,GAAmB,IAAI;QAE5C,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE;AAClC,YAAA,IAAI,CAAC,SAAS;gBAAE;AAEhB,YAAA,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,EAAE;;AAGvC,YAAA,IAAI,iBAAiB,KAAK,IAAI,EAAE;gBAC9B,iBAAiB,GAAG,SAAS;gBAC7B;YACF;;YAGA,IAAI,iBAAiB,KAAK,SAAS;gBAAE;YAErC,iBAAiB,GAAG,SAAS;AAE7B,YAAA,IAAI,IAAyB;YAC7B,IAAI,SAAS,EAAE;AACb,gBAAA,IAAI,GAAG;oBACL,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC;AAClD,oBAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;iBAC9E;AACD,gBAAA,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa;gBACnC,OAAO,EAAE,CAAC,aAAa,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AAC5F,oBAAA,EAAE,GAAG,EAAE,CAAC,aAAa;gBACvB;gBACA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,EAAE;oBAC5C,IAAI,CAAC,gBAAgB,GAAG;wBACtB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS;AAC/D,wBAAA,OAAO,EAAE,EAAE;qBACZ;AACD,oBAAA,EAAE,CAAC,KAAK,CAAC,SAAS,GAAG,QAAQ;gBAC/B;YACF;iBAAO;AACL,gBAAA,IAAI,GAAG;oBACL,KAAK,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;AAC3D,oBAAA,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;iBACrE;YACH;YACA,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;AAClC,YAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAG,CAAC;YAExD,IAAI,CAAC,SAAS,EAAE;AACd,gBAAA,MAAM,CAAC,MAAM,CAAC,MAAK;AACjB,oBAAA,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACrE,wBAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK;oBAC7E;AACF,gBAAA,CAAC,CAAC;YACJ;YAEA,MAAM,CAAC,IAAI,EAAE;AACf,QAAA,CAAC,CAAC;IACJ;8GA5DW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAxB,wBAAwB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAJpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCyCY,iBAAiB,CAAA;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,iBA9B1B,oBAAoB;YACpB,2BAA2B;YAC3B,wBAAwB;YACxB,yBAAyB;YACzB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,wBAAwB,aAGxB,SAAS;YACT,gBAAgB;YAChB,aAAa;AACb,YAAA,qBAAqB,aAGrB,oBAAoB;YACpB,2BAA2B;YAC3B,wBAAwB;YACxB,yBAAyB;YACzB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB,CAAA,EAAA,CAAA,CAAA;AASf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,aAPjB,CAAC;AACV,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,QAAQ,EAAE,CAAC,QAAkB,KAAI;oBAC/B,OAAO,IAAI,eAAe,CAAC,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC;gBAClE;AACD,aAAA,CAAC,YAjBA,aAAa;YACb,qBAAqB,CAAA,EAAA,CAAA,CAAA;;2FAkBZ,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhC7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,yBAAyB;wBACzB,wBAAwB;wBACxB,sBAAsB;wBACtB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,SAAS;wBACT,gBAAgB;wBAChB,aAAa;wBACb;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,2BAA2B;wBAC3B,wBAAwB;wBACxB,yBAAyB;wBACzB,wBAAwB;wBACxB,sBAAsB;wBACtB;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,QAAQ,EAAE,CAAC,QAAkB,KAAI;gCAC/B,OAAO,IAAI,eAAe,CAAC,oBAAoB,EAAE,IAAI,EAAE,QAAQ,CAAC;4BAClE;yBACD;AACF,iBAAA;;;AC/CD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-offcanvas.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/providers/offcanvas-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas/offcanvas.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas/offcanvas.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-host/offcanvas-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-host/offcanvas-host.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-content/offcanvas-content.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-close/offcanvas-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-header/offcanvas-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-header/offcanvas-header.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-body/offcanvas-body.component.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/components/offcanvas-body/offcanvas-body.component.html","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/directives/offcanvas-push/offcanvas-push.directive.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/src/offcanvas.module.ts","../../../../libs/mintplayer-ng-bootstrap/offcanvas/mintplayer-ng-bootstrap-offcanvas.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const OFFCANVAS_CONTENT = new InjectionToken<TemplateRef<any>>('OffcanvasContent');","import { isPlatformServer } from '@angular/common';\nimport { Component, computed, effect, Inject, output, PLATFORM_ID, signal, TemplateRef, untracked } from '@angular/core';\nimport { FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport { OFFCANVAS_CONTENT } from '../../providers/offcanvas-content.provider';\n\n@Component({\n selector: 'bs-offcanvas-holder',\n templateUrl: './offcanvas.component.html',\n styleUrls: ['./offcanvas.component.scss'],\n standalone: false,\n animations: [FadeInOutAnimation],\n})\nexport class BsOffcanvasComponent {\n\n constructor(@Inject(OFFCANVAS_CONTENT) contentTemplate: TemplateRef<any>, @Inject(PLATFORM_ID) private platformId: Object) {\n this.contentTemplate = contentTemplate;\n\n // Effect to handle position changes - disable transition temporarily\n effect(() => {\n const position = this.position();\n // Use untracked to avoid creating dependency on disableTransition\n untracked(() => {\n this.disableTransition.set(true);\n this.offcanvasClass.set(`offcanvas-${position}`);\n // Re-enable transitions after browser has processed position change\n if (!isPlatformServer(this.platformId)) {\n requestAnimationFrame(() => {\n this.disableTransition.set(false);\n });\n }\n });\n });\n\n // Effect to handle visibility changes\n effect(() => {\n const isVisible = this.isVisible();\n untracked(() => {\n if (isVisible) {\n // When showing: set visibility immediately, then add .show class after position is applied\n this.visibility.set('visible');\n // Delay adding .show class to allow position to be applied first\n if (!isPlatformServer(this.platformId)) {\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n this.show.set(true);\n });\n });\n }\n } else {\n // When hiding: remove .show class immediately, delay visibility for animation\n this.show.set(false);\n setTimeout(() => {\n if (!this.isVisible()) {\n this.visibility.set('hidden');\n }\n }, 300);\n }\n });\n });\n }\n\n contentTemplate: TemplateRef<any>;\n\n // Core state signals\n position = signal<Position>('bottom');\n size = signal<number | null>(null);\n isVisible = signal<boolean>(false);\n hasBackdrop = signal<boolean>(false);\n\n // Internal state signals\n disableTransition = signal<boolean>(false);\n offcanvasClass = signal<string | null>(null);\n visibility = signal<string>('hidden');\n show = signal<boolean>(false);\n\n // Computed signals\n width = computed(() => {\n const position = this.position();\n const size = this.size();\n return ['start', 'end'].includes(position) ? size : null;\n });\n\n height = computed(() => {\n const position = this.position();\n const size = this.size();\n return ['top', 'bottom'].includes(position) ? size : null;\n });\n\n overflowClass = computed(() => {\n const position = this.position();\n return ['top', 'bottom'].includes(position) ? 'overflow-y-hidden' : 'overflow-x-hidden';\n });\n\n showBackdrop = computed(() => {\n return this.hasBackdrop() && this.isVisible();\n });\n\n // Outputs\n isVisibleChange = output<boolean>();\n backdropClick = output<MouseEvent>();\n\n onBackdropClick(ev: MouseEvent) {\n this.backdropClick.emit(ev);\n }\n\n}\n","@if (showBackdrop()) {\n <div [@fadeInOut]=\"{value: ':leave', params: {duration: '300ms'} }\">\n <div class=\"modal-backdrop show\" (click)=\"onBackdropClick($event)\"></div>\n </div>\n}\n<div class=\"offcanvas\"\n [class.show]=\"show()\"\n [class.disable-transition]=\"disableTransition()\"\n [class]=\"[offcanvasClass(), overflowClass()]\"\n [style.height.px]=\"height()\"\n [style.width.px]=\"width()\">\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n</div>","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('OffcanvasPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentRef, effect, inject, Injector, model, OnDestroy, output, OutputRefSubscription, signal, TemplateRef } from '@angular/core';\nimport { Position } from '@mintplayer/ng-bootstrap';\nimport { OFFCANVAS_CONTENT } from '../../providers/offcanvas-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsOffcanvasComponent } from '../offcanvas/offcanvas.component';\n\n@Component({\n selector: 'bs-offcanvas',\n templateUrl: './offcanvas-host.component.html',\n styleUrls: ['./offcanvas-host.component.scss'],\n standalone: false,\n})\nexport class BsOffcanvasHostComponent implements AfterViewInit, OnDestroy {\n private overlayService = inject(Overlay);\n private rootInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<any>>(PORTAL_FACTORY);\n\n constructor() {\n // Effect to sync isVisible with the inner component\n effect(() => {\n const isVisible = this.isVisible();\n if (this.component) {\n this.component.instance.isVisible.set(isVisible);\n }\n });\n\n // Effect to sync position with the inner component\n effect(() => {\n const position = this.position();\n if (this.component && this.viewInited()) {\n this.component.instance.position.set(position);\n }\n });\n\n // Effect to sync size with the inner component\n effect(() => {\n const size = this.size();\n if (this.component && this.viewInited()) {\n this.component.instance.size.set(size);\n }\n });\n\n // Effect to sync hasBackdrop with the inner component\n effect(() => {\n const hasBackdrop = this.hasBackdrop();\n if (this.component && this.viewInited()) {\n this.component.instance.hasBackdrop.set(hasBackdrop);\n }\n });\n }\n\n content!: TemplateRef<any>;\n overlayRef!: OverlayRef;\n component!: ComponentRef<BsOffcanvasComponent>;\n private backdropClickSubscription?: OutputRefSubscription;\n\n // Signals\n viewInited = signal<boolean>(false);\n isVisible = model<boolean>(false);\n size = model<number | null>(null);\n position = model<Position>('bottom');\n hasBackdrop = model<boolean>(false);\n\n backdropClick = output<MouseEvent>();\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: OFFCANVAS_CONTENT, useValue: this.content },\n ],\n parent: this.rootInjector,\n });\n // const portal = new ComponentPortal(BsOffcanvasComponent, null, injector);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlayService.create({\n scrollStrategy: this.overlayService.scrollStrategies.reposition(),\n positionStrategy: this.overlayService.position().global()\n .top('0').left('0').bottom('0').right('0'),\n hasBackdrop: false\n });\n\n this.component = this.overlayRef.attach<BsOffcanvasComponent>(portal);\n\n this.backdropClickSubscription = this.component.instance.backdropClick.subscribe((ev) => this.backdropClick.emit(ev));\n\n // Initialize the inner component with current values\n this.component.instance.isVisible.set(this.isVisible());\n this.component.instance.position.set(this.position());\n this.component.instance.size.set(this.size());\n this.component.instance.hasBackdrop.set(this.hasBackdrop());\n\n this.viewInited.set(true);\n }\n\n ngOnDestroy() {\n this.backdropClickSubscription?.unsubscribe();\n this.isVisible.set(false);\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 3000);\n }\n\n}\n","<bs-has-overlay></bs-has-overlay>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';\n\n@Directive({\n selector: '[bsOffcanvasContent]',\n standalone: false,\n})\nexport class BsOffcanvasContentDirective {\n constructor() {\n const offcanvasHost = inject(BsOffcanvasHostComponent);\n const template = inject(TemplateRef);\n offcanvasHost.content = template;\n }\n}\n","import { Directive, HostListener, inject } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components/offcanvas-host/offcanvas-host.component';\n\n@Directive({\n selector: '[bsOffcanvasClose]',\n standalone: false,\n})\nexport class BsOffcanvasCloseDirective {\n private offcanvas = inject(BsOffcanvasHostComponent);\n\n @HostListener('click') onClick() {\n this.offcanvas.isVisible.set(false);\n }\n}\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'bs-offcanvas-header',\n templateUrl: './offcanvas-header.component.html',\n styleUrls: ['./offcanvas-header.component.scss'],\n standalone: false,\n})\nexport class OffcanvasHeaderComponent {}\n","<div class=\"offcanvas-header\">\n <ng-content></ng-content>\n</div>","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'bs-offcanvas-body',\n templateUrl: './offcanvas-body.component.html',\n styleUrls: ['./offcanvas-body.component.scss'],\n standalone: false,\n})\nexport class OffcanvasBodyComponent {\n @Input() noPadding = false;\n}\n","<div class=\"offcanvas-body\" [class.p-0]=\"noPadding\">\n <ng-content></ng-content>\n</div>","import { animate, AnimationBuilder, AnimationMetadata, style } from '@angular/animations';\nimport { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { BsOffcanvasHostComponent } from '../../components';\n\n@Directive({\n selector: '[bsOffcanvasPush]',\n standalone: false,\n})\nexport class BsOffcanvasPushDirective {\n private element = inject<ElementRef<HTMLElement>>(ElementRef);\n private builder = inject(AnimationBuilder);\n\n constructor() {\n let previousIsVisible: boolean | null = null;\n\n effect(() => {\n const offcanvas = this.offcanvas();\n if (!offcanvas) return;\n\n const isVisible = offcanvas.isVisible();\n\n // Skip the first run (initial state)\n if (previousIsVisible === null) {\n previousIsVisible = isVisible;\n return;\n }\n\n // Skip if no change\n if (previousIsVisible === isVisible) return;\n\n previousIsVisible = isVisible;\n\n let data: AnimationMetadata[];\n if (isVisible) {\n data = [\n style({ 'margin-left': '0', 'margin-right': '0' }),\n animate('250ms', style({ 'margin-left': '400px', 'margin-right': '-400px' })),\n ];\n let el = this.element.nativeElement;\n while (el.parentElement && !['scroll', 'visible'].includes(el.parentElement.style.overflowX)) {\n el = el.parentElement;\n }\n if (this.element.nativeElement.parentElement) {\n this.initialOverflowX = {\n value: this.element.nativeElement.parentElement.style.overflowX,\n element: el,\n };\n el.style.overflowX = 'hidden';\n }\n } else {\n data = [\n style({ 'margin-left': '400px', 'margin-right': '-400px' }),\n animate('250ms', style({ 'margin-left': '0', 'margin-right': '0' })),\n ];\n }\n const b = this.builder.build(data);\n const player = b.create(this.element.nativeElement, { });\n\n if (!isVisible) {\n player.onDone(() => {\n if (this.element.nativeElement.parentElement && this.initialOverflowX) {\n this.initialOverflowX.element.style.overflowX = this.initialOverflowX.value;\n }\n });\n }\n\n player.play();\n });\n }\n\n private initialOverflowX?: {element: HTMLElement, value: string};\n\n offcanvas = input<BsOffcanvasHostComponent | null>(null, { alias: 'bsOffcanvasPush' });\n}\n","import { Injector, NgModule } from '@angular/core';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BsOffcanvasComponent } from './components/offcanvas/offcanvas.component';\nimport { BsOffcanvasContentDirective } from './directives/offcanvas-content/offcanvas-content.directive';\nimport { BsOffcanvasHostComponent } from './components/offcanvas-host/offcanvas-host.component';\nimport { BsOffcanvasCloseDirective } from './directives/offcanvas-close/offcanvas-close.directive';\nimport { OffcanvasHeaderComponent } from './components/offcanvas-header/offcanvas-header.component';\nimport { OffcanvasBodyComponent } from './components/offcanvas-body/offcanvas-body.component';\nimport { PORTAL_FACTORY } from './providers/portal-factory.provider';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsOffcanvasPushDirective } from './directives/offcanvas-push/offcanvas-push.directive';\n\n\n\n@NgModule({\n declarations: [\n BsOffcanvasComponent,\n BsOffcanvasContentDirective,\n BsOffcanvasHostComponent,\n BsOffcanvasCloseDirective,\n OffcanvasHeaderComponent,\n OffcanvasBodyComponent,\n BsOffcanvasPushDirective\n ],\n imports: [\n AsyncPipe,\n NgTemplateOutlet,\n OverlayModule,\n BsHasOverlayComponent\n ],\n exports: [\n BsOffcanvasComponent,\n BsOffcanvasContentDirective,\n BsOffcanvasHostComponent,\n BsOffcanvasCloseDirective,\n OffcanvasHeaderComponent,\n OffcanvasBodyComponent,\n BsOffcanvasPushDirective\n ],\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsOffcanvasComponent, null, injector);\n }\n }]\n})\nexport class BsOffcanvasModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -70,6 +70,9 @@ class BsSearchboxComponent {
|
|
|
70
70
|
this.caretDownFill.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));
|
|
71
71
|
});
|
|
72
72
|
}
|
|
73
|
+
ngOnDestroy() {
|
|
74
|
+
clearTimeout(this.debounceTimeout);
|
|
75
|
+
}
|
|
73
76
|
onSearchtermChange(searchterm) {
|
|
74
77
|
this.searchterm.set(searchterm);
|
|
75
78
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["/// <reference types=\"../types\" />\n\nimport { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, model, output, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSuggestionTemplateContext } from '../directives';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> {\n\n private bsForm = inject(BsFormComponent, { optional: true });\n private sanitizer = inject(DomSanitizer);\n\n caretUpFill = signal<SafeHtml | undefined>(undefined);\n caretDownFill = signal<SafeHtml | undefined>(undefined);\n colors = Color;\n isBusy = signal<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n\n isOpen = model(false);\n selectedItem = model<T | undefined>(undefined);\n searchterm = model('');\n\n suggestions = model<T[]>([]);\n\n suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n provideSuggestions = output<string>();\n\n private debouncedSearchterm = signal('');\n private debounceTimeout: any;\n\n constructor() {\n if (!this.bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n effect(() => {\n const searchterm = this.searchterm();\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = setTimeout(() => {\n if (searchterm === '') {\n // clear suggestions - will be handled by the template\n } else {\n this.isBusy.set(true);\n this.provideSuggestions.emit(searchterm);\n }\n }, 200);\n });\n\n effect(() => {\n const suggestions = this.suggestions();\n if (suggestions) {\n this.isBusy.set(false);\n }\n });\n\n effect(() => {\n const isOpen = this.isOpen();\n if (isOpen) {\n setTimeout(() => this.textbox?.nativeElement?.setSelectionRange(0, -1), 20);\n }\n });\n\n import('bootstrap-icons/icons/caret-up-fill.svg').then((icon) => {\n this.caretUpFill.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n import('bootstrap-icons/icons/caret-down-fill.svg').then((icon) => {\n this.caretDownFill.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n onSearchtermChange(searchterm: string) {\n this.searchterm.set(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem.set(suggestion);\n this.isOpen.set(false);\n this.searchterm.set('');\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n @if (!selectedItem()) {\n <ng-content></ng-content>\n } @else if (suggestionTemplate) {\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem(), searchbox: this }\"></ng-container>\n }\n </div>\n <span [innerHTML]=\"isOpen() ? caretUpFill() : caretDownFill()\" class=\"float-end\"></span>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n @if (isBusy()) {\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n }\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm()\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n\n @if (searchterm() === '') {\n <bs-dropdown-item [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n } @else {\n <div class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n @for (suggestion of suggestions(); track suggestion) {\n <bs-dropdown-item (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem()?.id === suggestion.id\" [disabled]=\"isBusy()\">\n @if (suggestionTemplate) {\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n }\n </bs-dropdown-item>\n }\n @if (suggestions().length === 0) {\n <bs-dropdown-item [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n }\n </div>\n }\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n standalone: false,\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor() {\n const searchbox = inject<BsSearchboxComponent<T, U>>(BsSearchboxComponent);\n const template = inject<TemplateRef<T>>(TemplateRef);\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n standalone: false,\n})\nexport class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {\n private searchbox = inject<BsSearchboxComponent<TData, U>>(BsSearchboxComponent);\n\n constructor() {\n const template = inject<TemplateRef<BsSuggestionTemplateContext<TData, U>>>(TemplateRef);\n this.searchbox.suggestionTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData extends HasId<U>, U>(\n dir: BsSuggestionTemplateDirective<TData, U>,\n ctx: any\n ): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n @Input() set bsSuggestionTemplateOf(value: TData[]) {\n this.searchbox.suggestions.set(value);\n }\n}\n\nexport class BsSuggestionTemplateContext<TData extends HasId<U>, U> {\n public $implicit: TData = null!;\n public searchbox: BsSearchboxComponent<TData, U> = null!;\n}","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n standalone: false,\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor() {\n const searchbox = inject<BsSearchboxComponent<T, U>>(BsSearchboxComponent);\n const template = inject<TemplateRef<T>>(TemplateRef);\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { FocusOnLoadDirective } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n FormsModule,\n AsyncPipe,\n NgTemplateOutlet,\n FocusOnLoadDirective,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeDirective,\n BsProgressBarModule,\n BsHasOverlayComponent,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mintplayer-ng-bootstrap-searchbox.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox/searchbox.component.html","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/enter-search-term.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/suggestion.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/directives/no-results.directive.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/src/searchbox.module.ts","../../../../libs/mintplayer-ng-bootstrap/searchbox/mintplayer-ng-bootstrap-searchbox.ts"],"sourcesContent":["/// <reference types=\"../types\" />\n\nimport { ChangeDetectionStrategy, Component, effect, ElementRef, inject, input, model, OnDestroy, output, signal, TemplateRef, ViewChild } from '@angular/core';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSuggestionTemplateContext } from '../directives';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\n\n@Component({\n selector: 'bs-searchbox',\n templateUrl: './searchbox.component.html',\n styleUrls: ['./searchbox.component.scss'],\n standalone: false,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsSearchboxComponent<T extends HasId<U>, U> implements OnDestroy {\n\n private bsForm = inject(BsFormComponent, { optional: true });\n private sanitizer = inject(DomSanitizer);\n\n caretUpFill = signal<SafeHtml | undefined>(undefined);\n caretDownFill = signal<SafeHtml | undefined>(undefined);\n colors = Color;\n isBusy = signal<boolean>(false);\n @ViewChild('textbox') textbox!: ElementRef<HTMLInputElement>;\n\n isOpen = model(false);\n selectedItem = model<T | undefined>(undefined);\n searchterm = model('');\n\n suggestions = model<T[]>([]);\n\n suggestionTemplate?: TemplateRef<BsSuggestionTemplateContext<T, U>>;\n enterSearchtermTemplate?: TemplateRef<T>;\n noResultsTemplate?: TemplateRef<T>;\n provideSuggestions = output<string>();\n\n private debouncedSearchterm = signal('');\n private debounceTimeout: any;\n\n constructor() {\n if (!this.bsForm) {\n throw '<bs-searchbox> must be inside a <bs-form>';\n }\n\n effect(() => {\n const searchterm = this.searchterm();\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = setTimeout(() => {\n if (searchterm === '') {\n // clear suggestions - will be handled by the template\n } else {\n this.isBusy.set(true);\n this.provideSuggestions.emit(searchterm);\n }\n }, 200);\n });\n\n effect(() => {\n const suggestions = this.suggestions();\n if (suggestions) {\n this.isBusy.set(false);\n }\n });\n\n effect(() => {\n const isOpen = this.isOpen();\n if (isOpen) {\n setTimeout(() => this.textbox?.nativeElement?.setSelectionRange(0, -1), 20);\n }\n });\n\n import('bootstrap-icons/icons/caret-up-fill.svg').then((icon) => {\n this.caretUpFill.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n import('bootstrap-icons/icons/caret-down-fill.svg').then((icon) => {\n this.caretDownFill.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n ngOnDestroy() {\n clearTimeout(this.debounceTimeout);\n }\n\n onSearchtermChange(searchterm: string) {\n this.searchterm.set(searchterm);\n }\n\n onSuggestionClicked(suggestion: T) {\n this.selectedItem.set(suggestion);\n this.isOpen.set(false);\n this.searchterm.set('');\n }\n}\n","<bs-has-overlay></bs-has-overlay>\n<div bsDropdown [(isOpen)]=\"isOpen\" [hasBackdrop]=\"false\" [sameDropdownWidth]=\"true\">\n <button [color]=\"colors.primary\" class=\"d-flex w-100\" bsDropdownToggle>\n <div class=\"flex-grow-1\">\n @if (!selectedItem()) {\n <ng-content></ng-content>\n } @else if (suggestionTemplate) {\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: selectedItem(), searchbox: this }\"></ng-container>\n }\n </div>\n <span [innerHTML]=\"isOpen() ? caretUpFill() : caretDownFill()\" class=\"float-end\"></span>\n </button>\n <bs-dropdown-menu *bsDropdownMenu>\n @if (isBusy()) {\n <bs-progress [isIndeterminate]=\"true\" class=\"prog\">\n <bs-progress-bar></bs-progress-bar>\n </bs-progress>\n }\n <div class=\"w-100 px-2 mb-2\">\n <input type=\"text\" #textbox autofocus class=\"form-control d-block\" [ngModel]=\"searchterm()\" (ngModelChange)=\"onSearchtermChange($event)\">\n </div>\n\n @if (searchterm() === '') {\n <bs-dropdown-item [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"enterSearchtermTemplate ?? defaultEnterSearchtermTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n } @else {\n <div class=\"overflow-y-auto\" [style.max-height.px]=\"200\">\n @for (suggestion of suggestions(); track suggestion) {\n <bs-dropdown-item (click)=\"onSuggestionClicked(suggestion)\" [isSelected]=\"selectedItem()?.id === suggestion.id\" [disabled]=\"isBusy()\">\n @if (suggestionTemplate) {\n <ng-container *ngTemplateOutlet=\"suggestionTemplate; context: { $implicit: suggestion, searchbox: this }\"></ng-container>\n }\n </bs-dropdown-item>\n }\n @if (suggestions().length === 0) {\n <bs-dropdown-item [disabled]=\"true\">\n <ng-container *ngTemplateOutlet=\"noResultsTemplate ?? defaultNoResultsTemplate; context: { }\"></ng-container>\n </bs-dropdown-item>\n }\n </div>\n }\n </bs-dropdown-menu>\n</div>\n\n<ng-template #defaultEnterSearchtermTemplate>\n Enter a search term\n</ng-template>\n<ng-template #defaultNoResultsTemplate>\n No results\n</ng-template>\n","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsEnterSearchTermTemplate]',\n standalone: false,\n})\nexport class BsEnterSearchTermTemplateDirective<T extends HasId<U>, U> {\n constructor() {\n const searchbox = inject<BsSearchboxComponent<T, U>>(BsSearchboxComponent);\n const template = inject<TemplateRef<T>>(TemplateRef);\n searchbox.enterSearchtermTemplate = template;\n }\n}\n","import { Directive, inject, Input, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsSuggestionTemplate]',\n standalone: false,\n})\nexport class BsSuggestionTemplateDirective<TData extends HasId<U>, U> {\n private searchbox = inject<BsSearchboxComponent<TData, U>>(BsSearchboxComponent);\n\n constructor() {\n const template = inject<TemplateRef<BsSuggestionTemplateContext<TData, U>>>(TemplateRef);\n this.searchbox.suggestionTemplate = template;\n }\n \n public static ngTemplateContextGuard<TData extends HasId<U>, U>(\n dir: BsSuggestionTemplateDirective<TData, U>,\n ctx: any\n ): ctx is BsSuggestionTemplateContext<Exclude<TData, false | 0 | '' | null | undefined>, U> {\n return true;\n }\n\n @Input() set bsSuggestionTemplateOf(value: TData[]) {\n this.searchbox.suggestions.set(value);\n }\n}\n\nexport class BsSuggestionTemplateContext<TData extends HasId<U>, U> {\n public $implicit: TData = null!;\n public searchbox: BsSearchboxComponent<TData, U> = null!;\n}","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { HasId } from '@mintplayer/ng-bootstrap/has-id';\nimport { BsSearchboxComponent } from '../searchbox/searchbox.component';\n\n@Directive({\n selector: '[bsNoResultsTemplate]',\n standalone: false,\n})\nexport class BsNoResultsTemplateDirective<T extends HasId<U>, U> {\n constructor() {\n const searchbox = inject<BsSearchboxComponent<T, U>>(BsSearchboxComponent);\n const template = inject<TemplateRef<T>>(TemplateRef);\n searchbox.noResultsTemplate = template;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport { FocusOnLoadDirective } from '@mintplayer/ng-focus-on-load';\nimport { BsDropdownModule } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsProgressBarModule } from '@mintplayer/ng-bootstrap/progress-bar';\nimport { BsDropdownMenuModule } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsSearchboxComponent } from './searchbox/searchbox.component';\nimport { BsEnterSearchTermTemplateDirective } from './directives/enter-search-term.directive';\nimport { BsSuggestionTemplateDirective } from './directives/suggestion.directive';\nimport { BsNoResultsTemplateDirective } from './directives/no-results.directive';\n\n@NgModule({\n declarations: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n imports: [\n FormsModule,\n AsyncPipe,\n NgTemplateOutlet,\n FocusOnLoadDirective,\n BsDropdownModule,\n BsDropdownMenuModule,\n BsButtonTypeDirective,\n BsProgressBarModule,\n BsHasOverlayComponent,\n ],\n exports: [\n BsSearchboxComponent,\n BsEnterSearchTermTemplateDirective,\n BsSuggestionTemplateDirective,\n BsNoResultsTemplateDirective,\n ],\n})\nexport class BsSearchboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mintplayer/ng-bootstrap",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "21.4.
|
|
4
|
+
"version": "21.4.1",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/MintPlayer/mintplayer-ng-bootstrap",
|
|
@@ -364,7 +364,7 @@
|
|
|
364
364
|
"@mintplayer/ng-animations": "^21.1.0",
|
|
365
365
|
"@mintplayer/pagination": "^2.2.0",
|
|
366
366
|
"@mintplayer/ng-focus-on-load": "^21.1.0",
|
|
367
|
-
"@mintplayer/ng-swiper": "^21.1.
|
|
367
|
+
"@mintplayer/ng-swiper": "^21.1.1",
|
|
368
368
|
"@mintplayer/parentify": "^1.1.0",
|
|
369
369
|
"@mintplayer/scheduler-core": "^1.1.0",
|
|
370
370
|
"@mintplayer/scheduler-wc": "^1.2.0"
|
|
@@ -24,6 +24,7 @@ declare class BsCarouselComponent implements AfterViewInit, OnDestroy {
|
|
|
24
24
|
images: _angular_core.WritableSignal<QueryList<BsCarouselImageDirective> | null>;
|
|
25
25
|
resizeObserver?: ResizeObserver;
|
|
26
26
|
private intervalId?;
|
|
27
|
+
private isDestroyed;
|
|
27
28
|
indicators: _angular_core.InputSignal<boolean>;
|
|
28
29
|
keyboardEvents: _angular_core.InputSignal<boolean>;
|
|
29
30
|
orientation: _angular_core.InputSignal<"horizontal" | "vertical">;
|
|
@@ -43,6 +43,7 @@ declare class BsOffcanvasHostComponent implements AfterViewInit, OnDestroy {
|
|
|
43
43
|
content: TemplateRef<any>;
|
|
44
44
|
overlayRef: OverlayRef;
|
|
45
45
|
component: ComponentRef<BsOffcanvasComponent>;
|
|
46
|
+
private backdropClickSubscription?;
|
|
46
47
|
viewInited: _angular_core.WritableSignal<boolean>;
|
|
47
48
|
isVisible: _angular_core.ModelSignal<boolean>;
|
|
48
49
|
size: _angular_core.ModelSignal<number | null>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ElementRef, TemplateRef } from '@angular/core';
|
|
2
|
+
import { OnDestroy, ElementRef, TemplateRef } from '@angular/core';
|
|
3
3
|
import { Color } from '@mintplayer/ng-bootstrap';
|
|
4
4
|
import { HasId } from '@mintplayer/ng-bootstrap/has-id';
|
|
5
5
|
import { SafeHtml } from '@angular/platform-browser';
|
|
@@ -37,7 +37,7 @@ declare class BsSuggestionTemplateContext<TData extends HasId<U>, U> {
|
|
|
37
37
|
searchbox: BsSearchboxComponent<TData, U>;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
declare class BsSearchboxComponent<T extends HasId<U>, U> {
|
|
40
|
+
declare class BsSearchboxComponent<T extends HasId<U>, U> implements OnDestroy {
|
|
41
41
|
private bsForm;
|
|
42
42
|
private sanitizer;
|
|
43
43
|
caretUpFill: i0.WritableSignal<SafeHtml | undefined>;
|
|
@@ -56,6 +56,7 @@ declare class BsSearchboxComponent<T extends HasId<U>, U> {
|
|
|
56
56
|
private debouncedSearchterm;
|
|
57
57
|
private debounceTimeout;
|
|
58
58
|
constructor();
|
|
59
|
+
ngOnDestroy(): void;
|
|
59
60
|
onSearchtermChange(searchterm: string): void;
|
|
60
61
|
onSuggestionClicked(suggestion: T): void;
|
|
61
62
|
static ɵfac: i0.ɵɵFactoryDeclaration<BsSearchboxComponent<any, any>, never>;
|