@acorex/components 21.0.1-next.34 → 21.0.1-next.35

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.
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-media-viewer.mjs","sources":["../../../../packages/components/media-viewer/src/lib/media-viewer-type-registry.service.ts","../../../../packages/components/media-viewer/src/lib/media-viewer.service.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-slider/media-viewer-slider.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-slider/media-viewer-slider.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-container/media-viewer-container.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-container/media-viewer-container.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-types.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/audio-player/audio-player.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/audio-player/audio-player.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/file-info/file-info.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/file-info/file-info.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/image-viewer/image-viewer.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/image-viewer/image-viewer.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/pdf-reader/pdf-reader.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/pdf-reader/pdf-reader.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/video-player/video-player.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/video-player/video-player.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer.module.ts","../../../../packages/components/media-viewer/src/acorex-components-media-viewer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXMediaViewerType } from './media-viewer-types';\n\n@Injectable({ providedIn: 'root' })\nexport class AXMediaViewerTypeRegistryService {\n private plugins: Map<string, AXMediaViewerType> = new Map<string, AXMediaViewerType>();\n\n register(...plugins: AXMediaViewerType[]) {\n plugins.forEach((p) => this.plugins.set(p.name, p));\n }\n\n public resolve(name: string): AXMediaViewerType | undefined {\n return this.plugins.get(name);\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { AXMediaViewerData } from './media-viewer-types';\n\n@Injectable()\nexport class AXMediaViewerService {\n dataArray = signal<AXMediaViewerData[]>([]);\n selectedIndex = signal(0);\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { CdkPortalOutlet, CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n effect,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { AXComponent } from '@acorex/cdk/common';\nimport { AXMediaViewerTypeRegistryService } from '../media-viewer-type-registry.service';\nimport { AXMediaViewerData } from '../media-viewer-types';\nimport { AXMediaViewerService } from '../media-viewer.service';\n\n@Component({\n selector: 'ax-media-viewer-slider',\n templateUrl: './media-viewer-slider.component.html',\n styleUrls: ['./media-viewer-slider.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkPortalOutlet],\n providers: [{ provide: AXComponent, useExisting: AXMediaViewerSliderComponent }],\n})\nexport class AXMediaViewerSliderComponent {\n protected service = inject(AXMediaViewerService);\n\n dataObject = input<AXMediaViewerData>();\n\n /** @ignore */\n protected portal = signal<ComponentPortal<any> | null>(null);\n\n /** @ignore */\n protected registryService = inject(AXMediaViewerTypeRegistryService);\n\n #eff = effect(() => {\n if (this.dataObject()) {\n this.portal.set(new ComponentPortal(this.registryService.resolve(this.dataObject().type).component));\n }\n });\n\n /** @ignore */\n protected _handleAttached(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<unknown>;\n if (ref.instance && isBrowser()) {\n Object.assign(ref.instance, { message: this.dataObject() });\n }\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n","import { AXCarouselDirective, AXCarouselOptions } from '@acorex/cdk/carousel';\nimport { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorFullScreenButtonComponent } from '@acorex/components/decorators';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport Swiper from 'swiper';\nimport { AXMediaViewerSliderComponent } from '../media-viewer-slider/media-viewer-slider.component';\nimport { AXMediaViewerData } from '../media-viewer-types';\nimport { AXMediaViewerService } from '../media-viewer.service';\n\ntype Thumbnail = { tubmnailImage: string; svg: string; type: string; id: string; tooltip?: string };\n@Component({\n selector: 'ax-media-viewer-container',\n templateUrl: './media-viewer-container.component.html',\n styleUrls: ['./media-viewer-container.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXMediaViewerService, { provide: AXComponent, useExisting: AXMediaViewerContainerComponent }],\n imports: [AXCarouselDirective, AXMediaViewerSliderComponent, AXTooltipModule],\n})\nexport class AXMediaViewerContainerComponent implements OnDestroy {\n dataArray = input<AXMediaViewerData[]>();\n\n thumbnail = input(false);\n pagination = input(true);\n\n protected service = inject(AXMediaViewerService);\n protected sanitizer = inject(DomSanitizer);\n protected isMobile = inject(AXPlatform).is('Mobile');\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n protected thumbnailArray = signal<Thumbnail[]>([]);\n protected option = signal<AXCarouselOptions>({});\n protected thumbnailOption = signal<AXCarouselOptions>({\n spaceBetween: 10,\n slidesPerView: 'auto',\n freeMode: true,\n watchSlidesProgress: true,\n breakpoints: {\n 640: {\n slidesPerView: 4,\n spaceBetween: 20,\n },\n 1024: {\n slidesPerView: 5,\n spaceBetween: 30,\n },\n },\n });\n protected isFullScreen = signal(false);\n\n private swiperRef = viewChild<AXCarouselDirective>('f');\n private swiperRef2 = viewChild<AXCarouselDirective>('c');\n private fullScreenButton = contentChild<AXDecoratorFullScreenButtonComponent>(AXDecoratorFullScreenButtonComponent);\n private globalOptions: AXCarouselOptions = {\n slidesPerView: 'auto',\n observer: true,\n observeParents: true,\n updateOnWindowResize: true,\n resizeObserver: true,\n keyboard: true,\n pagination: {\n el: '.ax-carousel-pagination',\n clickable: true,\n },\n watchSlidesProgress: true,\n speed: 0,\n on: {\n afterInit(swiper) {\n requestAnimationFrame(() => {\n swiper.params.speed = 300;\n });\n },\n },\n };\n\n #init = afterNextRender(() => {\n if (!this.fullScreenButton()) return;\n this.fullScreenButton().element.set(this.elementRef.nativeElement);\n this.fullScreenButton().isActive.subscribe((active) => this.isFullScreen.set(active));\n });\n\n #eff2 = effect(() => {\n if (this.swiperRef()?.carousel()) {\n this.swiperRef().carousel().on('activeIndexChange', this.setActiveIndex.bind(this));\n }\n });\n\n private setActiveIndex(e: Swiper) {\n this.service.selectedIndex.set(e.activeIndex);\n }\n\n getActiveIndex() {\n return this.service.selectedIndex();\n }\n\n #eff3 = effect(() => {\n const thumbnailArray: Thumbnail[] = [];\n\n this.service.dataArray().forEach((item) => {\n switch (item.type) {\n case 'video':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n svg: ` \n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M32.6667 58.6673C47.3941 58.6673 59.3333 46.7281 59.3333 32.0006C59.3333 17.2731 47.3941 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7281 17.9391 58.6673 32.6667 58.6673ZM35.7437 38.2678C39.5619 35.9057 41.4709 34.7246 41.8749 33.0534C42.0416 32.3636 42.0416 31.6377 41.8749 30.9478C41.4709 29.2766 39.5619 28.0956 35.7437 25.7335C32.0525 23.4502 30.2072 22.3085 28.7197 22.7674C28.1048 22.9571 27.5448 23.3175 27.0929 23.8138C26 25.0145 26 27.3433 26 32.0006C26 36.658 26 38.9868 27.0929 40.1873C27.5448 40.6838 28.1048 41.0441 28.7197 41.234C30.2072 41.6929 32.0525 40.551 35.7437 38.2678Z\"\n fill=\"#6D28D9\"\n />\n <path\n d=\"M32.6667 58.6673C47.3943 58.6673 59.3333 46.7282 59.3333 32.0006C59.3333 17.2731 47.3943 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7282 17.9391 58.6673 32.6667 58.6673Z\"\n stroke=\"#6D28D9\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M41.8749 33.0521C41.4709 34.7233 39.5619 35.9044 35.7437 38.2665C32.0525 40.5497 30.2072 41.6916 28.7197 41.2327C28.1048 41.0428 27.5448 40.6825 27.0929 40.186C26 38.9855 26 36.6567 26 31.9993C26 27.342 26 25.0132 27.0929 23.8125C27.5448 23.3162 28.1048 22.9558 28.7197 22.7661C30.2072 22.3072 32.0525 23.4489 35.7437 25.7322C39.5619 28.0943 41.4709 29.2753 41.8749 30.9465C42.0416 31.6364 42.0416 32.3623 41.8749 33.0521Z\"\n stroke=\"#6D28D9\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n tubmnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n });\n break;\n\n case 'image':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n tubmnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 43.9415 57.779 49.9127 54.0691 53.6228C50.359 57.3327 44.3878 57.3327 32.4456 57.3327C20.5034 57.3327 14.5323 57.3327 10.8223 53.6228C7.1123 49.9127 7.1123 43.9415 7.1123 31.9993Z\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M44.4453 24C46.6545 24 48.4453 22.2091 48.4453 20C48.4453 17.7909 46.6545 16 44.4453 16C42.2362 16 40.4453 17.7909 40.4453 20C40.4453 22.2091 42.2362 24 44.4453 24Z\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n />\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 37.3372 57.779 41.4823 57.4478 44.7655C54.6288 43.2943 51.72 42.5484 48.7958 42.5516C44.5971 42.5337 40.4374 44.0428 36.5288 46.9937L32.1155 43.5572C26.1984 39.3937 18.7691 37.1903 11.1532 37.3399C10.2489 37.3377 9.34542 37.3665 8.44473 37.4263H7.12884C7.1123 35.7679 7.1123 33.9644 7.1123 31.9993ZM44.4456 23.9993C46.6547 23.9993 48.4456 22.2085 48.4456 19.9993C48.4456 17.7902 46.6547 15.9993 44.4456 15.9993C42.2366 15.9993 40.4456 17.7902 40.4456 19.9993C40.4456 22.2085 42.2366 23.9993 44.4456 23.9993Z\"\n fill=\"#0D9488\"\n />\n <path\n d=\"M43.112 58.6673C41.46 52.7337 37.604 47.4195 32.116 43.5585C26.1989 39.395 18.7697 37.1915 11.1538 37.3411C10.2495 37.339 9.34601 37.3678 8.44531 37.4275\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M35.1123 47.9992C39.6496 44.4614 44.5376 42.6467 49.4755 42.6662C52.2755 42.6632 55.0622 43.2568 57.779 44.4304\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n break;\n\n case 'audio':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n tubmnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg width=\"65\" height=\"64\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7109 10.376C7.00098 14.086 7.00098 20.0571 7.00098 31.9993C7.00098 43.9415 7.00098 49.9127 10.7109 53.6228C14.4209 57.3327 20.3921 57.3327 32.3343 57.3327C44.2764 57.3327 50.2476 57.3327 53.9578 53.6228C57.6676 49.9127 57.6676 43.9415 57.6676 31.9993C57.6676 20.0571 57.6676 14.086 53.9578 10.376C50.2476 6.66602 44.2764 6.66602 32.3343 6.66602C20.3921 6.66602 14.4209 6.66602 10.7109 10.376ZM28.3343 45.3327C32.0162 45.3327 35.001 42.3479 35.001 38.666C35.001 34.9841 32.0162 31.9993 28.3343 31.9993C24.6524 31.9993 21.6676 34.9841 21.6676 38.666C21.6676 42.3479 24.6524 45.3327 28.3343 45.3327Z\"\n fill=\"#E11D48\"\n />\n <path\n d=\"M7.00098 31.9993C7.00098 20.0571 7.00098 14.086 10.7109 10.376C14.4209 6.66602 20.3921 6.66602 32.3343 6.66602C44.2764 6.66602 50.2476 6.66602 53.9578 10.376C57.6676 14.086 57.6676 20.0571 57.6676 31.9993C57.6676 43.9415 57.6676 49.9127 53.9578 53.6228C50.2476 57.3327 44.2764 57.3327 32.3343 57.3327C20.3921 57.3327 14.4209 57.3327 10.7109 53.6228C7.00098 49.9127 7.00098 43.9415 7.00098 31.9993Z\"\n stroke=\"#E11D48\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M35.0003 38.666C35.0003 42.3479 32.0155 45.3327 28.3337 45.3327C24.6518 45.3327 21.667 42.3479 21.667 38.666C21.667 34.9841 24.6518 31.9993 28.3337 31.9993C32.0155 31.9993 35.0003 34.9841 35.0003 38.666ZM35.0003 38.666V18.666C35.8891 19.9993 36.6003 25.5993 43.0003 26.666\"\n stroke=\"#E11D48\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n break;\n\n default:\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n tubmnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg width=\"64\" height=\"64\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n d=\"M53.3337 26.6673V35.5824C53.3337 37.7624 53.3337 38.8523 52.9278 39.8325L50.667 40.0005C43.1246 40.0005 39.3534 40.0005 37.0102 42.3437C34.667 44.6869 34.667 48.4581 34.667 56.0005L34.2329 58.3632C33.3713 58.6672 32.4307 58.6672 30.5491 58.6672C21.8958 58.6672 17.5692 58.6672 14.6385 56.3045C14.0465 55.8272 13.5072 55.2877 13.0298 54.6957C10.667 51.7651 10.667 47.4384 10.667 38.7851V26.6673C10.667 16.6107 10.667 11.5824 13.7912 8.45817C16.9154 5.33398 21.9437 5.33398 32.0003 5.33398C42.0569 5.33398 47.0854 5.33398 50.2094 8.45817C53.3337 11.5824 53.3337 16.6107 53.3337 26.6673Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M21.333 18.666H42.6663\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M21.333 29.334H31.9997\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M34.667 57.3339V56.0005C34.667 48.4581 34.667 44.6869 37.0102 42.3437C39.3534 40.0005 43.1246 40.0005 50.667 40.0005H52.0003M53.3337 35.5824V26.6673C53.3337 16.6107 53.3337 11.5824 50.2094 8.45817C47.0854 5.33398 42.0569 5.33398 32.0003 5.33398C21.9437 5.33398 16.9154 5.33398 13.7912 8.45817C10.667 11.5824 10.667 16.6107 10.667 26.6673V38.7851C10.667 47.4384 10.667 51.7651 13.0298 54.6957C13.5072 55.2877 14.0465 55.8272 14.6385 56.3045C17.5692 58.6672 21.8958 58.6672 30.5491 58.6672C32.4307 58.6672 33.3713 58.6672 34.2329 58.3632C34.4121 58.3 34.5875 58.2272 34.759 58.1453C35.5833 57.7512 36.2483 57.0859 37.5787 55.7557L50.2094 43.1248C51.751 41.5835 52.5217 40.8125 52.9278 39.8325C53.3337 38.8523 53.3337 37.7624 53.3337 35.5824Z\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n }\n });\n\n this.thumbnailArray.set(thumbnailArray);\n });\n\n ngOnDestroy(): void {\n if (this.swiperRef()?.carousel()) {\n this.swiperRef().carousel().off('activeIndexChange', this.setActiveIndex.bind(this));\n }\n // Clear interval to prevent memory leaks\n if (this.interVal) {\n clearInterval(this.interVal);\n this.interVal = undefined;\n }\n }\n\n #eff4 = effect(() => {\n if (this.dataArray().length > 0) {\n this.service.dataArray.set(this.dataArray());\n setTimeout(() => {\n this.init();\n });\n }\n });\n\n #eff5 = effect(() => {\n if (this.isFullScreen()) {\n this.elementRef.nativeElement.classList.add('ax-full-screen-container');\n } else {\n this.elementRef.nativeElement.classList.remove('ax-full-screen-container');\n }\n });\n\n next() {\n if (this.thumbnail()) this.swiperRef2()?.carousel()?.slideNext();\n this.swiperRef()?.carousel()?.slideNext();\n }\n\n prev() {\n if (this.thumbnail()) this.swiperRef2()?.carousel()?.slidePrev();\n this.swiperRef()?.carousel()?.slidePrev();\n }\n\n private interVal?: ReturnType<typeof setInterval>;\n goToIndex(index: number, speed = 1000) {\n if (this.swiperRef()?.carousel() === null) {\n if (this.interVal) {\n clearInterval(this.interVal);\n }\n this.interVal = setInterval(() => {\n this.goToIndex(index, speed);\n }, 500);\n } else {\n if (this.interVal) {\n clearInterval(this.interVal);\n this.interVal = undefined;\n }\n this.swiperRef()?.carousel()?.slideTo(index, speed);\n }\n }\n\n private async init() {\n if (this.swiperRef2()?.carousel()) this.swiperRef2().carousel().destroy();\n if (this.swiperRef()?.carousel()) this.swiperRef().carousel().destroy();\n\n if (this.swiperRef2()) {\n await this.swiperRef2().init(this.thumbnailOption());\n await this.swiperRef().init({\n ...this.globalOptions,\n thumbs: { swiper: this.swiperRef2().carousel() },\n });\n } else {\n await this.swiperRef().init(this.globalOptions);\n }\n }\n}\n","<ng-content select=\"ax-header\"> </ng-content>\n\n<div class=\"ax-media-viewer-slider-container\">\n <ng-content select=\"ax-suffix\"></ng-content>\n\n <div class=\"ax-carousel-container\">\n <div #f=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of service.dataArray(); track item.id) {\n <div class=\"ax-carousel-slide\">\n <ax-media-viewer-slider [dataObject]=\"item\"></ax-media-viewer-slider>\n </div>\n }\n </div>\n @if (pagination()) {\n <div class=\"ax-carousel-pagination\"></div>\n }\n </div>\n </div>\n\n <ng-content select=\"ax-prefix\"></ng-content>\n</div>\n\n@if (thumbnail() && thumbnailArray().length > 0 && !isMobile) {\n <div class=\"ax-carousel-thumbnail-container\">\n <div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of thumbnailArray(); track item.id) {\n <div class=\"ax-carousel-slide\" [axTooltip]=\"item.tooltip\">\n @if (item.tubmnailImage) {\n <div class=\"ax-thumbnail-image-container\">\n <img [src]=\"item.tubmnailImage\" alt=\"thumbnail\" />\n </div>\n } @else {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(item.svg)\"></div>\n <div class=\"thumbnail-backdrop {{ item.type }}\"></div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { Injectable, Type } from '@angular/core';\n\nexport interface AXMediaViewerType {\n name: string;\n component: Type<any>;\n}\n\nexport type AXMediaViewerData = {\n id: string;\n name?: string;\n size?: string;\n type: 'image' | 'audio' | 'pdf' | 'video';\n url: string;\n thumbnailUrl?: string;\n tooltip?: string;\n};\n\n@Injectable()\nexport class AXMediaViewerBaseComponent {\n message: AXMediaViewerData;\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent, AXMediaViewerData } from '../../media-viewer-types';\n\n@Component({\n selector: 'ax-audio-player',\n templateUrl: './audio-player.component.html',\n styleUrls: ['./audio-player.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }],\n})\nexport class AXAudioPlayerComponent extends AXMediaViewerBaseComponent {\n dataObject = signal<AXMediaViewerData>(null);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.dataObject.set(this.message);\n });\n }\n}\n","<audio class=\"ax-audio-player-tag\" controls [src]=\"dataObject()?.url\"></audio>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerData } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-file-info',\n templateUrl: './file-info.component.html',\n styleUrls: ['./file-info.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXFileInfoComponent }],\n})\nexport class AXFileInfoComponent {\n protected service = inject(AXMediaViewerService);\n protected infoData = computed<AXMediaViewerData>(() => {\n return this.service.dataArray()[this.service.selectedIndex()];\n });\n}\n","<div class=\"ax-info-container\">\n @if (infoData()?.name) {\n <div class=\"ax-name-info\">\n @switch (infoData()?.type) {\n @case ('video') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M32.6667 58.6673C47.3941 58.6673 59.3333 46.7281 59.3333 32.0006C59.3333 17.2731 47.3941 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7281 17.9391 58.6673 32.6667 58.6673ZM35.7437 38.2678C39.5619 35.9057 41.4709 34.7246 41.8749 33.0534C42.0416 32.3636 42.0416 31.6377 41.8749 30.9478C41.4709 29.2766 39.5619 28.0956 35.7437 25.7335C32.0525 23.4502 30.2072 22.3085 28.7197 22.7674C28.1048 22.9571 27.5448 23.3175 27.0929 23.8138C26 25.0145 26 27.3433 26 32.0006C26 36.658 26 38.9868 27.0929 40.1873C27.5448 40.6838 28.1048 41.0441 28.7197 41.234C30.2072 41.6929 32.0525 40.551 35.7437 38.2678Z\"\n />\n <path\n d=\"M32.6667 58.6673C47.3943 58.6673 59.3333 46.7282 59.3333 32.0006C59.3333 17.2731 47.3943 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7282 17.9391 58.6673 32.6667 58.6673Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M41.8749 33.0521C41.4709 34.7233 39.5619 35.9044 35.7437 38.2665C32.0525 40.5497 30.2072 41.6916 28.7197 41.2327C28.1048 41.0428 27.5448 40.6825 27.0929 40.186C26 38.9855 26 36.6567 26 31.9993C26 27.342 26 25.0132 27.0929 23.8125C27.5448 23.3162 28.1048 22.9558 28.7197 22.7661C30.2072 22.3072 32.0525 23.4489 35.7437 25.7322C39.5619 28.0943 41.4709 29.2753 41.8749 30.9465C42.0416 31.6364 42.0416 32.3623 41.8749 33.0521Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('image') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 43.9415 57.779 49.9127 54.0691 53.6228C50.359 57.3327 44.3878 57.3327 32.4456 57.3327C20.5034 57.3327 14.5323 57.3327 10.8223 53.6228C7.1123 49.9127 7.1123 43.9415 7.1123 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M44.4453 24C46.6545 24 48.4453 22.2091 48.4453 20C48.4453 17.7909 46.6545 16 44.4453 16C42.2362 16 40.4453 17.7909 40.4453 20C40.4453 22.2091 42.2362 24 44.4453 24Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 37.3372 57.779 41.4823 57.4478 44.7655C54.6288 43.2943 51.72 42.5484 48.7958 42.5516C44.5971 42.5337 40.4374 44.0428 36.5288 46.9937L32.1155 43.5572C26.1984 39.3937 18.7691 37.1903 11.1532 37.3399C10.2489 37.3377 9.34542 37.3665 8.44473 37.4263H7.12884C7.1123 35.7679 7.1123 33.9644 7.1123 31.9993ZM44.4456 23.9993C46.6547 23.9993 48.4456 22.2085 48.4456 19.9993C48.4456 17.7902 46.6547 15.9993 44.4456 15.9993C42.2366 15.9993 40.4456 17.7902 40.4456 19.9993C40.4456 22.2085 42.2366 23.9993 44.4456 23.9993Z\"\n />\n <path\n d=\"M43.112 58.6673C41.46 52.7337 37.604 47.4195 32.116 43.5585C26.1989 39.395 18.7697 37.1915 11.1538 37.3411C10.2495 37.339 9.34601 37.3678 8.44531 37.4275\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M35.1123 47.9992C39.6496 44.4614 44.5376 42.6467 49.4755 42.6662C52.2755 42.6632 55.0622 43.2568 57.779 44.4304\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('audio') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7109 10.376C7.00098 14.086 7.00098 20.0571 7.00098 31.9993C7.00098 43.9415 7.00098 49.9127 10.7109 53.6228C14.4209 57.3327 20.3921 57.3327 32.3343 57.3327C44.2764 57.3327 50.2476 57.3327 53.9578 53.6228C57.6676 49.9127 57.6676 43.9415 57.6676 31.9993C57.6676 20.0571 57.6676 14.086 53.9578 10.376C50.2476 6.66602 44.2764 6.66602 32.3343 6.66602C20.3921 6.66602 14.4209 6.66602 10.7109 10.376ZM28.3343 45.3327C32.0162 45.3327 35.001 42.3479 35.001 38.666C35.001 34.9841 32.0162 31.9993 28.3343 31.9993C24.6524 31.9993 21.6676 34.9841 21.6676 38.666C21.6676 42.3479 24.6524 45.3327 28.3343 45.3327Z\"\n />\n <path\n d=\"M7.00098 31.9993C7.00098 20.0571 7.00098 14.086 10.7109 10.376C14.4209 6.66602 20.3921 6.66602 32.3343 6.66602C44.2764 6.66602 50.2476 6.66602 53.9578 10.376C57.6676 14.086 57.6676 20.0571 57.6676 31.9993C57.6676 43.9415 57.6676 49.9127 53.9578 53.6228C50.2476 57.3327 44.2764 57.3327 32.3343 57.3327C20.3921 57.3327 14.4209 57.3327 10.7109 53.6228C7.00098 49.9127 7.00098 43.9415 7.00098 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M35.0003 38.666C35.0003 42.3479 32.0155 45.3327 28.3337 45.3327C24.6518 45.3327 21.667 42.3479 21.667 38.666C21.667 34.9841 24.6518 31.9993 28.3337 31.9993C32.0155 31.9993 35.0003 34.9841 35.0003 38.666ZM35.0003 38.666V18.666C35.8891 19.9993 36.6003 25.5993 43.0003 26.666\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @default {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n d=\"M53.3337 26.6673V35.5824C53.3337 37.7624 53.3337 38.8523 52.9278 39.8325L50.667 40.0005C43.1246 40.0005 39.3534 40.0005 37.0102 42.3437C34.667 44.6869 34.667 48.4581 34.667 56.0005L34.2329 58.3632C33.3713 58.6672 32.4307 58.6672 30.5491 58.6672C21.8958 58.6672 17.5692 58.6672 14.6385 56.3045C14.0465 55.8272 13.5072 55.2877 13.0298 54.6957C10.667 51.7651 10.667 47.4384 10.667 38.7851V26.6673C10.667 16.6107 10.667 11.5824 13.7912 8.45817C16.9154 5.33398 21.9437 5.33398 32.0003 5.33398C42.0569 5.33398 47.0854 5.33398 50.2094 8.45817C53.3337 11.5824 53.3337 16.6107 53.3337 26.6673Z\"\n />\n <path\n d=\"M21.333 18.666H42.6663\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M21.333 29.334H31.9997\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M34.667 57.3339V56.0005C34.667 48.4581 34.667 44.6869 37.0102 42.3437C39.3534 40.0005 43.1246 40.0005 50.667 40.0005H52.0003M53.3337 35.5824V26.6673C53.3337 16.6107 53.3337 11.5824 50.2094 8.45817C47.0854 5.33398 42.0569 5.33398 32.0003 5.33398C21.9437 5.33398 16.9154 5.33398 13.7912 8.45817C10.667 11.5824 10.667 16.6107 10.667 26.6673V38.7851C10.667 47.4384 10.667 51.7651 13.0298 54.6957C13.5072 55.2877 14.0465 55.8272 14.6385 56.3045C17.5692 58.6672 21.8958 58.6672 30.5491 58.6672C32.4307 58.6672 33.3713 58.6672 34.2329 58.3632C34.4121 58.3 34.5875 58.2272 34.759 58.1453C35.5833 57.7512 36.2483 57.0859 37.5787 55.7557L50.2094 43.1248C51.751 41.5835 52.5217 40.8125 52.9278 39.8325C53.3337 38.8523 53.3337 37.7624 53.3337 35.5824Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n }\n <ax-text>{{ infoData().name }}</ax-text>\n </div>\n }\n\n @if (infoData()?.size) {\n <div class=\"ax-size-info\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 22V17C8 15.8954 8.89543 15 10 15H14C15.1046 15 16 15.8954 16 17V22\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path d=\"M10 7H14\" stroke=\"#6B7280\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path\n d=\"M3 20V4C3 2.89543 3.89543 2 5 2H14.2759C14.7438 2 15.1968 2.16403 15.5563 2.46356L20.2804 6.40031C20.7364 6.7803 21 7.34319 21 7.93675V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <ax-text>{{ infoData().size }}</ax-text>\n </div>\n }\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXImageComponent } from '@acorex/components/image';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\n\n@Component({\n selector: 'ax-image-viewer',\n templateUrl: './image-viewer.component.html',\n styleUrls: ['./image-viewer.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageComponent, AXLoadingComponent, AXDecoratorGenericComponent, AXTranslatorPipe, AsyncPipe],\n providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }],\n})\nexport class AXImageViewerComponent extends AXMediaViewerBaseComponent {\n protected hasError = signal(false);\n\n protected handleImageError(): void {\n this.hasError.set(true);\n }\n}\n","<ax-image alt=\"image\" [src]=\"this.message?.url\" (onError)=\"handleImageError()\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n @if (hasError()) {\n <div\n style=\"\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n \"\n >\n <span style=\"font-size: 3rem; margin-bottom: 0.5rem\">🖼️</span>\n <span style=\"font-size: 0.875rem; opacity: 0.7\">\n {{ 'media-viewer.image.failed-to-load' | translate | async }}\n </span>\n </div>\n }\n </ax-placeholder>\n</ax-image>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXPdfReaderComponent } from '@acorex/components/pdf-reader';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\n\n@Component({\n selector: 'ax-pdf',\n templateUrl: './pdf-reader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXPdfReaderComponent],\n providers: [{ provide: AXComponent, useExisting: PdfComponent }],\n})\nexport class PdfComponent extends AXMediaViewerBaseComponent {\n sanitizer = inject(DomSanitizer);\n}\n","<ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(this.message.url)\"> </ax-pdf-reader>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXVideoPlayerComponent } from '@acorex/components/video-player';\nimport { afterNextRender, ChangeDetectionStrategy, Component, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent, AXMediaViewerData } from '../../media-viewer-types';\n\n@Component({\n selector: 'ax-video',\n templateUrl: './video-player.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXVideoPlayerComponent],\n providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }],\n})\nexport class VideoPlayerComponent extends AXMediaViewerBaseComponent {\n dataObject = signal<AXMediaViewerData>(null);\n\n constructor() {\n super();\n afterNextRender(() => {\n this.dataObject.set(this.message);\n });\n }\n}\n","<ax-video-player [src]=\"dataObject()?.url\"></ax-video-player>\n","import { AXCarouselDirective } from '@acorex/cdk/carousel';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPdfReaderModule } from '@acorex/components/pdf-reader';\nimport { AXVideoPlayerModule } from '@acorex/components/video-player';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMediaViewerContainerComponent } from './media-viewer-container/media-viewer-container.component';\nimport { AXMediaViewerSliderComponent } from './media-viewer-slider/media-viewer-slider.component';\nimport { AXAudioPlayerComponent } from './media-viewer-tools/audio-player/audio-player.component';\nimport { AXFileInfoComponent } from './media-viewer-tools/file-info/file-info.component';\nimport { AXImageViewerComponent } from './media-viewer-tools/image-viewer/image-viewer.component';\nimport { PdfComponent } from './media-viewer-tools/pdf-reader/pdf-reader.component';\nimport { VideoPlayerComponent } from './media-viewer-tools/video-player/video-player.component';\nimport { AXMediaViewerTypeRegistryService } from './media-viewer-type-registry.service';\nimport { AXMediaViewerType } from './media-viewer-types';\n\nexport interface AXMediaViewerModuleConfig {\n types: AXMediaViewerType[];\n}\n\nconst COMPONENT = [\n AXMediaViewerContainerComponent,\n AXMediaViewerSliderComponent,\n AXAudioPlayerComponent,\n AXImageViewerComponent,\n PdfComponent,\n VideoPlayerComponent,\n AXFileInfoComponent,\n];\nconst MODULES = [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n CdkPortalOutlet,\n FormsModule,\n AXImageModule,\n AXLoadingModule,\n AXCarouselDirective,\n AXPdfReaderModule,\n AXVideoPlayerModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXMediaViewerModule {\n constructor() {\n const instances = inject<any[]>('AXMediaViewerFactory' as any, { optional: true });\n\n instances?.forEach((f) => {\n f();\n });\n }\n\n static forRoot(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule> {\n return {\n ngModule: AXMediaViewerModule,\n providers: [\n {\n provide: 'AXMediaViewerFactory',\n useFactory: (registry: AXMediaViewerTypeRegistryService) => () => {\n if (config?.types?.length) {\n registry.register(...config.types);\n }\n registry.register({\n name: 'audio',\n component: AXAudioPlayerComponent,\n });\n registry.register({\n name: 'image',\n component: AXImageViewerComponent,\n });\n registry.register({\n name: 'pdf',\n component: PdfComponent,\n });\n registry.register({\n name: 'video',\n component: VideoPlayerComponent,\n });\n },\n deps: [AXMediaViewerTypeRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule> {\n return {\n ngModule: AXMediaViewerModule,\n providers: [\n {\n provide: 'AXMediaViewerFactory',\n useFactory: (registry: AXMediaViewerTypeRegistryService) => () => {\n if (config?.types?.length) {\n registry.register(...config.types);\n }\n },\n deps: [AXMediaViewerTypeRegistryService],\n multi: true,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;MAIa,gCAAgC,CAAA;AAD7C,IAAA,WAAA,GAAA;AAEU,QAAA,IAAA,CAAA,OAAO,GAAmC,IAAI,GAAG,EAA6B;AASvF,IAAA;IAPC,QAAQ,CAAC,GAAG,OAA4B,EAAA;QACtC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACrD;AAEO,IAAA,OAAO,CAAC,IAAY,EAAA;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC/B;+GATW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gCAAgC,cADnB,MAAM,EAAA,CAAA,CAAA;;4FACnB,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAD5C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCCrB,oBAAoB,CAAA;AADjC,IAAA,WAAA,GAAA;AAEE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAsB,EAAE,qDAAC;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,CAAC,yDAAC;AAC1B,IAAA;+GAHY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAApB,oBAAoB,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC;;;MCwBY,4BAA4B,CAAA;AATzC,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAEhD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,YAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAqB;;AAG7B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAA8B,IAAI,kDAAC;;AAGlD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,gCAAgC,CAAC;AAEpE,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAK;AACjB,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;YACtG;AACF,QAAA,CAAC,gDAAC;AASH,IAAA;AAbC,IAAA,IAAI;;AAOM,IAAA,eAAe,CAAC,GAA+B,EAAA;QACvD,GAAG,GAAG,GAA4B;AAClC,QAAA,IAAI,GAAG,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE;AAC/B,YAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;QAC7D;IACF;+GAvBW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,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,EAAA,SAAA,EAF5B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBlF,qGACA,kSDuBY,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGd,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBATxC,SAAS;+BACE,wBAAwB,EAAA,eAAA,EAGjB,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,eAAe,CAAC,EAAA,SAAA,EACf,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,4BAA8B,EAAE,CAAC,EAAA,QAAA,EAAA,qGAAA,EAAA,MAAA,EAAA,CAAA,0OAAA,CAAA,EAAA;;;MEUrE,+BAA+B,CAAA;AAT5C,IAAA,WAAA,GAAA;QAUE,IAAA,CAAA,SAAS,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAuB;AAExC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACxB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,IAAI,sDAAC;AAEd,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACtC,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;QAChC,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC;AACnC,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AAE/D,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAc,EAAE,0DAAC;AACxC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAoB,EAAE,kDAAC;QACtC,IAAA,CAAA,eAAe,GAAG,MAAM,CAAoB;AACpD,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,WAAW,EAAE;AACX,gBAAA,GAAG,EAAE;AACH,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,aAAa,EAAE,CAAC;AAChB,oBAAA,YAAY,EAAE,EAAE;AACjB,iBAAA;AACF,aAAA;AACF,SAAA,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AACQ,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,KAAK,wDAAC;AAE9B,QAAA,IAAA,CAAA,SAAS,GAAG,SAAS,CAAsB,GAAG,qDAAC;AAC/C,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAAsB,GAAG,sDAAC;AAChD,QAAA,IAAA,CAAA,gBAAgB,GAAG,YAAY,CAAuC,oCAAoC,4DAAC;AAC3G,QAAA,IAAA,CAAA,aAAa,GAAsB;AACzC,YAAA,aAAa,EAAE,MAAM;AACrB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,oBAAoB,EAAE,IAAI;AAC1B,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE;AACV,gBAAA,EAAE,EAAE,yBAAyB;AAC7B,gBAAA,SAAS,EAAE,IAAI;AAChB,aAAA;AACD,YAAA,mBAAmB,EAAE,IAAI;AACzB,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,EAAE,EAAE;AACF,gBAAA,SAAS,CAAC,MAAM,EAAA;oBACd,qBAAqB,CAAC,MAAK;AACzB,wBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG;AAC3B,oBAAA,CAAC,CAAC;gBACJ,CAAC;AACF,aAAA;SACF;AAED,QAAA,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,MAAK;AAC3B,YAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAAE;AAC9B,YAAA,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACvF,QAAA,CAAC,CAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAK;YAClB,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE;gBAChC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF;AACF,QAAA,CAAC,iDAAC;AAUF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAK;YAClB,MAAM,cAAc,GAAgB,EAAE;YAEtC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AACxC,gBAAA,QAAQ,IAAI,CAAC,IAAI;AACf,oBAAA,KAAK,OAAO;wBACV,cAAc,CAAC,IAAI,CAAC;4BAClB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,4BAAA,GAAG,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;AAoBF,cAAA,CAAA;4BACH,aAAa,EAAE,IAAI,CAAC,YAAY;AAChC,4BAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;AAC9B,yBAAA,CAAC;wBACF;AAEF,oBAAA,KAAK,OAAO;wBACV,cAAc,CAAC,IAAI,CAAC;4BAClB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,aAAa,EAAE,IAAI,CAAC,YAAY;AAChC,4BAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;AAC7B,4BAAA,GAAG,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BF,cAAA,CAAA;AACJ,yBAAA,CAAC;wBACF;AAEF,oBAAA,KAAK,OAAO;wBACV,cAAc,CAAC,IAAI,CAAC;4BAClB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,aAAa,EAAE,IAAI,CAAC,YAAY;AAChC,4BAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;AAC7B,4BAAA,GAAG,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;AAqBF,cAAA,CAAA;AACJ,yBAAA,CAAC;wBACF;AAEF,oBAAA;wBACE,cAAc,CAAC,IAAI,CAAC;4BAClB,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,aAAa,EAAE,IAAI,CAAC,YAAY;AAChC,4BAAA,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;AAC7B,4BAAA,GAAG,EAAE,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BF,cAAA,CAAA;AACJ,yBAAA,CAAC;;AAER,YAAA,CAAC,CAAC;AAEF,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC;AACzC,QAAA,CAAC,iDAAC;AAaF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAK;YAClB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,gBAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC5C,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,CAAC,CAAC;YACJ;AACF,QAAA,CAAC,iDAAC;AAEF,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,MAAK;AAClB,YAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,0BAA0B,CAAC;YACzE;iBAAO;gBACL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,0BAA0B,CAAC;YAC5E;AACF,QAAA,CAAC,iDAAC;AA4CH,IAAA;AA/OC,IAAA,KAAK;AAML,IAAA,KAAK;AAMG,IAAA,cAAc,CAAC,CAAS,EAAA;QAC9B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/C;IAEA,cAAc,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;IACrC;AAEA,IAAA,KAAK;IAqJL,WAAW,GAAA;QACT,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE;YAChC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF;;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5B,YAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;QAC3B;IACF;AAEA,IAAA,KAAK;AASL,IAAA,KAAK;IAQL,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE;QAChE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE;IAC3C;IAEA,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,SAAS,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE;QAChE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE;IAC3C;AAGA,IAAA,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,IAAI,EAAA;QACnC,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE;AACzC,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9B;AACA,YAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,MAAK;AAC/B,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;YAC9B,CAAC,EAAE,GAAG,CAAC;QACT;aAAO;AACL,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,gBAAA,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC5B,gBAAA,IAAI,CAAC,QAAQ,GAAG,SAAS;YAC3B;AACA,YAAA,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;QACrD;IACF;AAEQ,IAAA,MAAM,IAAI,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE;YAAE,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;AACzE,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE;YAAE,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE;AAEvE,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;AACrB,YAAA,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;AACpD,YAAA,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC;gBAC1B,GAAG,IAAI,CAAC,aAAa;gBACrB,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;AACjD,aAAA,CAAC;QACJ;aAAO;YACL,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QACjD;IACF;+GAtSW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAA/B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,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,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,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,EAAA,SAAA,EAH/B,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAoC3B,oCAAoC,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,WAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,GAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpEpH,k/CA2CA,26pBDVY,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,4BAA4B,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,mBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAEjE,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAT3C,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,eAAA,EAGpB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,+BAAiC,EAAE,CAAC,EAAA,OAAA,EAChG,CAAC,mBAAmB,EAAE,4BAA4B,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,k/CAAA,EAAA,MAAA,EAAA,CAAA,m3pBAAA,CAAA,EAAA;+WAiC1B,GAAG,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CACF,GAAG,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MACuB,oCAAoC,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MElDvG,0BAA0B,CAAA;+GAA1B,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC;;;ACLK,MAAO,sBAAuB,SAAQ,0BAA0B,CAAA;AAGpE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAHT,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAoB,IAAI,sDAAC;QAI1C,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;+GARW,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,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,iDCV5E,sFACA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDWa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBARlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,mBAGV,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,sFAAA,EAAA,MAAA,EAAA,CAAA,sRAAA,CAAA,EAAA;;;MEK/D,mBAAmB,CAAA;AAThC,IAAA,WAAA,GAAA;AAUY,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACtC,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAoB,MAAK;AACpD,YAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;AAC/D,QAAA,CAAC,oDAAC;AACH,IAAA;+GALY,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,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EAFnB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbzE,w8SAuIA,8qBD3HY,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAG1B,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAT/B,SAAS;+BACE,cAAc,EAAA,eAAA,EAGP,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,2BAA2B,CAAC,EAAA,SAAA,EAC3B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,mBAAqB,EAAE,CAAC,EAAA,QAAA,EAAA,w8SAAA,EAAA,MAAA,EAAA,CAAA,snBAAA,CAAA,EAAA;;;AEKnE,MAAO,sBAAuB,SAAQ,0BAA0B,CAAA;AATtE,IAAA,WAAA,GAAA;;AAUY,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,oDAAC;AAKnC,IAAA;IAHW,gBAAgB,GAAA;AACxB,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;IACzB;+GALW,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,SAAA,EAFtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB5E,srBAsBA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDPY,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,aAAA,EAAA,KAAA,EAAA,KAAA,EAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,2HAAE,2BAA2B,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,IAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAE,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAG7F,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAA,SAAA,EAC9F,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,sBAAwB,EAAE,CAAC,EAAA,QAAA,EAAA,srBAAA,EAAA,MAAA,EAAA,CAAA,8QAAA,CAAA,EAAA;;;AEFtE,MAAO,YAAa,SAAQ,0BAA0B,CAAA;AAR5D,IAAA,WAAA,GAAA;;AASE,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC;AACjC,IAAA;+GAFY,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,SAAA,EAFZ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZlE,yGACA,4CDUY,oBAAoB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGnB,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;+BACE,QAAQ,EAAA,eAAA,EAED,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,oBAAoB,CAAC,EAAA,SAAA,EACpB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,YAAc,EAAE,CAAC,EAAA,QAAA,EAAA,yGAAA,EAAA;;;AEC5D,MAAO,oBAAqB,SAAQ,0BAA0B,CAAA;AAGlE,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAHT,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAoB,IAAI,sDAAC;QAI1C,eAAe,CAAC,MAAK;YACnB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACnC,QAAA,CAAC,CAAC;IACJ;+GARW,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,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAFpB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECX1E,mEACA,4CDSY,sBAAsB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGrB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBARhC,SAAS;+BACE,UAAU,EAAA,eAAA,EAEH,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B,CAAC,sBAAsB,CAAC,EAAA,SAAA,EACtB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,oBAAsB,EAAE,CAAC,EAAA,QAAA,EAAA,mEAAA,EAAA;;;AEc1E,MAAM,SAAS,GAAG;IAChB,+BAA+B;IAC/B,4BAA4B;IAC5B,sBAAsB;IACtB,sBAAsB;IACtB,YAAY;IACZ,oBAAoB;IACpB,mBAAmB;CACpB;AACD,MAAM,OAAO,GAAG;IACd,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,WAAW;IACX,aAAa;IACb,eAAe;IACf,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;CACpB;MAMY,mBAAmB,CAAA;AAC9B,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,SAAS,GAAG,MAAM,CAAQ,sBAA6B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAElF,QAAA,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,KAAI;AACvB,YAAA,CAAC,EAAE;AACL,QAAA,CAAC,CAAC;IACJ;IAEA,OAAO,OAAO,CAAC,MAAkC,EAAA;QAC/C,OAAO;AACL,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAA0C,KAAK,MAAK;AAC/D,wBAAA,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;4BACzB,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;wBACpC;wBACA,QAAQ,CAAC,QAAQ,CAAC;AAChB,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,SAAS,EAAE,sBAAsB;AAClC,yBAAA,CAAC;wBACF,QAAQ,CAAC,QAAQ,CAAC;AAChB,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,SAAS,EAAE,sBAAsB;AAClC,yBAAA,CAAC;wBACF,QAAQ,CAAC,QAAQ,CAAC;AAChB,4BAAA,IAAI,EAAE,KAAK;AACX,4BAAA,SAAS,EAAE,YAAY;AACxB,yBAAA,CAAC;wBACF,QAAQ,CAAC,QAAQ,CAAC;AAChB,4BAAA,IAAI,EAAE,OAAO;AACb,4BAAA,SAAS,EAAE,oBAAoB;AAChC,yBAAA,CAAC;oBACJ,CAAC;oBACD,IAAI,EAAE,CAAC,gCAAgC,CAAC;AACxC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF;IACH;IAEA,OAAO,QAAQ,CAAC,MAAkC,EAAA;QAChD,OAAO;AACL,YAAA,QAAQ,EAAE,mBAAmB;AAC7B,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,sBAAsB;AAC/B,oBAAA,UAAU,EAAE,CAAC,QAA0C,KAAK,MAAK;AAC/D,wBAAA,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;4BACzB,QAAQ,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;wBACpC;oBACF,CAAC;oBACD,IAAI,EAAE,CAAC,gCAAgC,CAAC;AACxC,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;SACF;IACH;+GA3DW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAhB9B,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,iBAAiB;AACjB,YAAA,mBAAmB,EAlBnB,+BAA+B;YAC/B,4BAA4B;YAC5B,sBAAsB;YACtB,sBAAsB;YACtB,YAAY;YACZ,oBAAoB;AACpB,YAAA,mBAAmB,aANnB,+BAA+B;YAC/B,4BAA4B;YAC5B,sBAAsB;YACtB,sBAAsB;YACtB,YAAY;YACZ,oBAAoB;YACpB,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAmBR,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,YAhB9B,YAAY;YACZ,cAAc;YACd,iBAAiB;YAEjB,WAAW;YACX,aAAa;YACb,eAAe;YAEf,iBAAiB;AACjB,YAAA,mBAAmB,EAlBnB,+BAA+B;YAG/B,sBAAsB;YACtB,YAAY;YACZ,oBAAoB;YACpB,mBAAmB,CAAA,EAAA,CAAA,CAAA;;4FAmBR,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACxB,iBAAA;;;AClDD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-components-media-viewer.mjs","sources":["../../../../packages/components/media-viewer/src/lib/media-viewer-type-registry.service.ts","../../../../packages/components/media-viewer/src/lib/media-viewer.service.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-slider/media-viewer-slider.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-slider/media-viewer-slider.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-types.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/thumbnail-viewer/thumbnail-viewer.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/thumbnail-viewer/thumbnail-viewer.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-container/media-viewer-container.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-container/media-viewer-container.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/audio-player/audio-player.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/audio-player/audio-player.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/file-info/file-info.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/file-info/file-info.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/image-viewer/image-viewer.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/image-viewer/image-viewer.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/pdf-reader/pdf-reader.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/pdf-reader/pdf-reader.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/video-player/video-player.component.ts","../../../../packages/components/media-viewer/src/lib/media-viewer-tools/video-player/video-player.component.html","../../../../packages/components/media-viewer/src/lib/media-viewer.module.ts","../../../../packages/components/media-viewer/src/acorex-components-media-viewer.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { AXMediaViewerType } from './media-viewer-types';\n\n@Injectable({ providedIn: 'root' })\nexport class AXMediaViewerTypeRegistryService {\n private plugins: Map<string, AXMediaViewerType> = new Map<string, AXMediaViewerType>();\n\n register(...plugins: AXMediaViewerType[]) {\n plugins.forEach((p) => this.plugins.set(p.name, p));\n }\n\n public resolve(name: string): AXMediaViewerType | undefined {\n return this.plugins.get(name);\n }\n}\n","import { Injectable, signal } from '@angular/core';\nimport { AXMediaViewerData } from './media-viewer-types';\n\n@Injectable()\nexport class AXMediaViewerService {\n dataArray = signal<AXMediaViewerData[]>([]);\n selectedIndex = signal(0);\n dirtyItems = new Map();\n}\n","import { isBrowser } from '@acorex/core/platform';\nimport { CdkPortalOutlet, CdkPortalOutletAttachedRef, ComponentPortal } from '@angular/cdk/portal';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n effect,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { AXComponent } from '@acorex/cdk/common';\nimport { AXMediaViewerTypeRegistryService } from '../media-viewer-type-registry.service';\nimport { AXMediaViewerData } from '../media-viewer-types';\nimport { AXMediaViewerService } from '../media-viewer.service';\n\n@Component({\n selector: 'ax-media-viewer-slider',\n templateUrl: './media-viewer-slider.component.html',\n styleUrls: ['./media-viewer-slider.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [CdkPortalOutlet],\n providers: [{ provide: AXComponent, useExisting: AXMediaViewerSliderComponent }],\n})\nexport class AXMediaViewerSliderComponent {\n protected service = inject(AXMediaViewerService);\n\n dataObject = input<AXMediaViewerData>();\n\n index = input();\n\n /** @ignore */\n protected portal = signal<ComponentPortal<any> | null>(null);\n\n /** @ignore */\n protected registryService = inject(AXMediaViewerTypeRegistryService);\n\n #eff = effect(() => {\n if (this.dataObject()) {\n this.portal.set(new ComponentPortal(this.registryService.resolve(this.dataObject().type).component));\n }\n });\n\n /** @ignore */\n protected _handleAttached(ref: CdkPortalOutletAttachedRef) {\n ref = ref as ComponentRef<unknown>;\n if (ref.instance && isBrowser()) {\n Object.assign(ref.instance, { message: { data: this.dataObject(), index: this.index() } });\n }\n }\n}\n","<ng-template [cdkPortalOutlet]=\"portal()\" (attached)=\"_handleAttached($event)\"></ng-template>\n","import { Injectable, Type } from '@angular/core';\n\nexport interface AXMediaViewerType {\n name: string;\n component: Type<any>;\n}\n\nexport type AXMediaViewerData = {\n id: string;\n name?: string;\n size?: string;\n type: 'image' | 'audio' | 'pdf' | 'video';\n url: string | (() => Promise<string>);\n thumbnailUrl?: string | (() => Promise<string>);\n tooltip?: string;\n};\n\n@Injectable()\nexport class AXMediaViewerBaseComponent {\n message: { data: AXMediaViewerData; index: number };\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXImageComponent } from '@acorex/components/image';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { afterNextRender, ChangeDetectionStrategy, Component, input, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\n\n@Component({\n selector: 'ax-thumbnail-viewer',\n templateUrl: './thumbnail-viewer.component.html',\n styles: `\n ax-thumbnail-viewer {\n ax-image {\n width: 100% !important;\n height: 100% !important;\n }\n\n .placeholder-image-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 2rem;\n text-align: center;\n\n .placeholder-image {\n font-size: 3rem;\n margin-bottom: 0.5rem;\n }\n }\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageComponent, AXLoadingComponent, AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXThumbnailViewerComponent }],\n})\nexport class AXThumbnailViewerComponent extends AXMediaViewerBaseComponent {\n protected hasError = signal(false);\n\n protected src = signal(null);\n\n item = input<string | (() => Promise<string>)>(null);\n\n #init = afterNextRender(async () => {\n const item = this.item();\n if (typeof item === 'function') {\n const result = await item();\n this.src.set(result);\n } else {\n this.src.set(item);\n }\n });\n\n protected handleImageError(): void {\n this.hasError.set(true);\n }\n}\n","<ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n @if (hasError()) {\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">🖼️</span>\n </div>\n }\n </ax-placeholder>\n</ax-image>\n","import { AXCarouselDirective, AXCarouselOptions } from '@acorex/cdk/carousel';\nimport { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorFullScreenButtonComponent } from '@acorex/components/decorators';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n contentChild,\n effect,\n ElementRef,\n inject,\n input,\n OnDestroy,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport Swiper from 'swiper';\nimport { AXMediaViewerSliderComponent } from '../media-viewer-slider/media-viewer-slider.component';\nimport { AXThumbnailViewerComponent } from '../media-viewer-tools/thumbnail-viewer/thumbnail-viewer.component';\nimport { AXMediaViewerData } from '../media-viewer-types';\nimport { AXMediaViewerService } from '../media-viewer.service';\n\ntype Thumbnail = {\n thumbnailImage: string | (() => Promise<string>);\n svg: string;\n type: string;\n id: string;\n tooltip?: string;\n};\n\n@Component({\n selector: 'ax-media-viewer-container',\n templateUrl: './media-viewer-container.component.html',\n styleUrls: ['./media-viewer-container.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXMediaViewerService, { provide: AXComponent, useExisting: AXMediaViewerContainerComponent }],\n imports: [AXCarouselDirective, AXMediaViewerSliderComponent, AXTooltipModule, AXThumbnailViewerComponent],\n})\nexport class AXMediaViewerContainerComponent implements OnDestroy {\n dataArray = input<AXMediaViewerData[]>();\n\n thumbnail = input(false);\n pagination = input(true);\n\n protected service = inject(AXMediaViewerService);\n protected sanitizer = inject(DomSanitizer);\n protected isMobile = inject(AXPlatform).is('Mobile');\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n protected thumbnailArray = signal<Thumbnail[]>([]);\n protected option = signal<AXCarouselOptions>({});\n protected thumbnailOption = signal<AXCarouselOptions>({\n spaceBetween: 10,\n slidesPerView: 'auto',\n watchSlidesProgress: true,\n breakpoints: {\n 640: {\n slidesPerView: 4,\n spaceBetween: 20,\n },\n 1024: {\n slidesPerView: 5,\n spaceBetween: 30,\n },\n },\n });\n protected isFullScreen = signal(false);\n\n private swiperRef = viewChild<AXCarouselDirective>('f');\n private swiperRef2 = viewChild<AXCarouselDirective>('c');\n private fullScreenButton = contentChild<AXDecoratorFullScreenButtonComponent>(AXDecoratorFullScreenButtonComponent);\n private globalOptions: AXCarouselOptions = {\n slidesPerView: 'auto',\n observer: true,\n observeParents: true,\n updateOnWindowResize: true,\n resizeObserver: true,\n keyboard: true,\n pagination: {\n el: '.ax-carousel-pagination',\n clickable: true,\n },\n watchSlidesProgress: true,\n speed: 0,\n on: {\n afterInit(swiper) {\n requestAnimationFrame(() => {\n swiper.params.speed = 300;\n });\n },\n },\n };\n\n #init = afterNextRender(() => {\n if (!this.fullScreenButton()) return;\n this.fullScreenButton().element.set(this.elementRef.nativeElement);\n this.fullScreenButton().isActive.subscribe((active) => this.isFullScreen.set(active));\n });\n\n #eff2 = effect(() => {\n if (this.swiperRef()?.carousel()) {\n this.swiperRef().carousel().on('activeIndexChange', this.setActiveIndex.bind(this));\n }\n });\n\n private setActiveIndex(e: Swiper) {\n this.service.selectedIndex.set(e.activeIndex);\n }\n\n getActiveIndex() {\n return this.service.selectedIndex();\n }\n\n #eff3 = effect(() => {\n const thumbnailArray: Thumbnail[] = [];\n\n this.service.dataArray().forEach((item) => {\n switch (item.type) {\n case 'video':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n svg: ` \n <svg viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M32.6667 58.6673C47.3941 58.6673 59.3333 46.7281 59.3333 32.0006C59.3333 17.2731 47.3941 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7281 17.9391 58.6673 32.6667 58.6673ZM35.7437 38.2678C39.5619 35.9057 41.4709 34.7246 41.8749 33.0534C42.0416 32.3636 42.0416 31.6377 41.8749 30.9478C41.4709 29.2766 39.5619 28.0956 35.7437 25.7335C32.0525 23.4502 30.2072 22.3085 28.7197 22.7674C28.1048 22.9571 27.5448 23.3175 27.0929 23.8138C26 25.0145 26 27.3433 26 32.0006C26 36.658 26 38.9868 27.0929 40.1873C27.5448 40.6838 28.1048 41.0441 28.7197 41.234C30.2072 41.6929 32.0525 40.551 35.7437 38.2678Z\"\n fill=\"#6D28D9\"\n />\n <path\n d=\"M32.6667 58.6673C47.3943 58.6673 59.3333 46.7282 59.3333 32.0006C59.3333 17.2731 47.3943 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7282 17.9391 58.6673 32.6667 58.6673Z\"\n stroke=\"#6D28D9\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M41.8749 33.0521C41.4709 34.7233 39.5619 35.9044 35.7437 38.2665C32.0525 40.5497 30.2072 41.6916 28.7197 41.2327C28.1048 41.0428 27.5448 40.6825 27.0929 40.186C26 38.9855 26 36.6567 26 31.9993C26 27.342 26 25.0132 27.0929 23.8125C27.5448 23.3162 28.1048 22.9558 28.7197 22.7661C30.2072 22.3072 32.0525 23.4489 35.7437 25.7322C39.5619 28.0943 41.4709 29.2753 41.8749 30.9465C42.0416 31.6364 42.0416 32.3623 41.8749 33.0521Z\"\n stroke=\"#6D28D9\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n thumbnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n });\n break;\n\n case 'image':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n thumbnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 43.9415 57.779 49.9127 54.0691 53.6228C50.359 57.3327 44.3878 57.3327 32.4456 57.3327C20.5034 57.3327 14.5323 57.3327 10.8223 53.6228C7.1123 49.9127 7.1123 43.9415 7.1123 31.9993Z\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M44.4453 24C46.6545 24 48.4453 22.2091 48.4453 20C48.4453 17.7909 46.6545 16 44.4453 16C42.2362 16 40.4453 17.7909 40.4453 20C40.4453 22.2091 42.2362 24 44.4453 24Z\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n />\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 37.3372 57.779 41.4823 57.4478 44.7655C54.6288 43.2943 51.72 42.5484 48.7958 42.5516C44.5971 42.5337 40.4374 44.0428 36.5288 46.9937L32.1155 43.5572C26.1984 39.3937 18.7691 37.1903 11.1532 37.3399C10.2489 37.3377 9.34542 37.3665 8.44473 37.4263H7.12884C7.1123 35.7679 7.1123 33.9644 7.1123 31.9993ZM44.4456 23.9993C46.6547 23.9993 48.4456 22.2085 48.4456 19.9993C48.4456 17.7902 46.6547 15.9993 44.4456 15.9993C42.2366 15.9993 40.4456 17.7902 40.4456 19.9993C40.4456 22.2085 42.2366 23.9993 44.4456 23.9993Z\"\n fill=\"#0D9488\"\n />\n <path\n d=\"M43.112 58.6673C41.46 52.7337 37.604 47.4195 32.116 43.5585C26.1989 39.395 18.7697 37.1915 11.1538 37.3411C10.2495 37.339 9.34601 37.3678 8.44531 37.4275\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M35.1123 47.9992C39.6496 44.4614 44.5376 42.6467 49.4755 42.6662C52.2755 42.6632 55.0622 43.2568 57.779 44.4304\"\n stroke=\"#0D9488\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n break;\n\n case 'audio':\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n thumbnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7109 10.376C7.00098 14.086 7.00098 20.0571 7.00098 31.9993C7.00098 43.9415 7.00098 49.9127 10.7109 53.6228C14.4209 57.3327 20.3921 57.3327 32.3343 57.3327C44.2764 57.3327 50.2476 57.3327 53.9578 53.6228C57.6676 49.9127 57.6676 43.9415 57.6676 31.9993C57.6676 20.0571 57.6676 14.086 53.9578 10.376C50.2476 6.66602 44.2764 6.66602 32.3343 6.66602C20.3921 6.66602 14.4209 6.66602 10.7109 10.376ZM28.3343 45.3327C32.0162 45.3327 35.001 42.3479 35.001 38.666C35.001 34.9841 32.0162 31.9993 28.3343 31.9993C24.6524 31.9993 21.6676 34.9841 21.6676 38.666C21.6676 42.3479 24.6524 45.3327 28.3343 45.3327Z\"\n fill=\"#E11D48\"\n />\n <path\n d=\"M7.00098 31.9993C7.00098 20.0571 7.00098 14.086 10.7109 10.376C14.4209 6.66602 20.3921 6.66602 32.3343 6.66602C44.2764 6.66602 50.2476 6.66602 53.9578 10.376C57.6676 14.086 57.6676 20.0571 57.6676 31.9993C57.6676 43.9415 57.6676 49.9127 53.9578 53.6228C50.2476 57.3327 44.2764 57.3327 32.3343 57.3327C20.3921 57.3327 14.4209 57.3327 10.7109 53.6228C7.00098 49.9127 7.00098 43.9415 7.00098 31.9993Z\"\n stroke=\"#E11D48\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M35.0003 38.666C35.0003 42.3479 32.0155 45.3327 28.3337 45.3327C24.6518 45.3327 21.667 42.3479 21.667 38.666C21.667 34.9841 24.6518 31.9993 28.3337 31.9993C32.0155 31.9993 35.0003 34.9841 35.0003 38.666ZM35.0003 38.666V18.666C35.8891 19.9993 36.6003 25.5993 43.0003 26.666\"\n stroke=\"#E11D48\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n break;\n\n default:\n thumbnailArray.push({\n id: item.id,\n type: item.type,\n thumbnailImage: item.thumbnailUrl,\n tooltip: item.tooltip || null,\n svg: ` \n <svg viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n d=\"M53.3337 26.6673V35.5824C53.3337 37.7624 53.3337 38.8523 52.9278 39.8325L50.667 40.0005C43.1246 40.0005 39.3534 40.0005 37.0102 42.3437C34.667 44.6869 34.667 48.4581 34.667 56.0005L34.2329 58.3632C33.3713 58.6672 32.4307 58.6672 30.5491 58.6672C21.8958 58.6672 17.5692 58.6672 14.6385 56.3045C14.0465 55.8272 13.5072 55.2877 13.0298 54.6957C10.667 51.7651 10.667 47.4384 10.667 38.7851V26.6673C10.667 16.6107 10.667 11.5824 13.7912 8.45817C16.9154 5.33398 21.9437 5.33398 32.0003 5.33398C42.0569 5.33398 47.0854 5.33398 50.2094 8.45817C53.3337 11.5824 53.3337 16.6107 53.3337 26.6673Z\"\n fill=\"#2563EB\"\n />\n <path\n d=\"M21.333 18.666H42.6663\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M21.333 29.334H31.9997\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M34.667 57.3339V56.0005C34.667 48.4581 34.667 44.6869 37.0102 42.3437C39.3534 40.0005 43.1246 40.0005 50.667 40.0005H52.0003M53.3337 35.5824V26.6673C53.3337 16.6107 53.3337 11.5824 50.2094 8.45817C47.0854 5.33398 42.0569 5.33398 32.0003 5.33398C21.9437 5.33398 16.9154 5.33398 13.7912 8.45817C10.667 11.5824 10.667 16.6107 10.667 26.6673V38.7851C10.667 47.4384 10.667 51.7651 13.0298 54.6957C13.5072 55.2877 14.0465 55.8272 14.6385 56.3045C17.5692 58.6672 21.8958 58.6672 30.5491 58.6672C32.4307 58.6672 33.3713 58.6672 34.2329 58.3632C34.4121 58.3 34.5875 58.2272 34.759 58.1453C35.5833 57.7512 36.2483 57.0859 37.5787 55.7557L50.2094 43.1248C51.751 41.5835 52.5217 40.8125 52.9278 39.8325C53.3337 38.8523 53.3337 37.7624 53.3337 35.5824Z\"\n stroke=\"#2563EB\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>`,\n });\n }\n });\n\n this.thumbnailArray.set(thumbnailArray);\n });\n\n ngOnDestroy(): void {\n if (this.swiperRef()?.carousel()) {\n this.swiperRef().carousel().off('activeIndexChange', this.setActiveIndex.bind(this));\n }\n // Clear interval to prevent memory leaks\n if (this.interVal) {\n clearInterval(this.interVal);\n this.interVal = undefined;\n }\n }\n\n #eff4 = effect(() => {\n if (this.dataArray().length > 0) {\n this.service.dataArray.set(this.dataArray());\n setTimeout(() => {\n this.init();\n });\n }\n });\n\n #eff5 = effect(() => {\n if (this.isFullScreen()) {\n this.elementRef.nativeElement.classList.add('ax-full-screen-container');\n } else {\n this.elementRef.nativeElement.classList.remove('ax-full-screen-container');\n }\n });\n\n next() {\n if (this.thumbnail()) this.swiperRef2()?.carousel()?.slideNext();\n this.swiperRef()?.carousel()?.slideNext();\n }\n\n prev() {\n if (this.thumbnail()) this.swiperRef2()?.carousel()?.slidePrev();\n this.swiperRef()?.carousel()?.slidePrev();\n }\n\n private interVal?: ReturnType<typeof setInterval>;\n goToIndex(index: number, speed = 1000) {\n if (this.swiperRef()?.carousel() === null) {\n if (this.interVal) {\n clearInterval(this.interVal);\n }\n this.interVal = setInterval(() => {\n this.goToIndex(index, speed);\n }, 500);\n } else {\n if (this.interVal) {\n clearInterval(this.interVal);\n this.interVal = undefined;\n }\n this.swiperRef()?.carousel()?.slideTo(index, speed);\n }\n }\n\n private async init() {\n if (this.swiperRef2()?.carousel()) this.swiperRef2().carousel().destroy();\n if (this.swiperRef()?.carousel()) this.swiperRef().carousel().destroy();\n\n if (this.swiperRef2()) {\n await this.swiperRef2().init(this.thumbnailOption());\n await this.swiperRef().init({\n ...this.globalOptions,\n thumbs: { swiper: this.swiperRef2().carousel() },\n });\n } else {\n await this.swiperRef().init(this.globalOptions);\n }\n }\n}\n","<ng-content select=\"ax-header\"> </ng-content>\n\n<div class=\"ax-media-viewer-slider-container\">\n <ng-content select=\"ax-suffix\"></ng-content>\n\n <div class=\"ax-carousel-container\">\n <div #f=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of dataArray(); track item.id) {\n <div class=\"ax-carousel-slide\">\n <ax-media-viewer-slider [index]=\"$index\" [dataObject]=\"item\"></ax-media-viewer-slider>\n </div>\n }\n </div>\n @if (pagination()) {\n <div class=\"ax-carousel-pagination\"></div>\n }\n </div>\n </div>\n\n <ng-content select=\"ax-prefix\"></ng-content>\n</div>\n\n@if (thumbnail() && thumbnailArray().length > 0 && !isMobile) {\n <div class=\"ax-carousel-thumbnail-container\">\n <div #c=\"axCarousel\" axCarousel class=\"ax-carousel\">\n <div class=\"ax-carousel-wrapper\">\n @for (item of thumbnailArray(); track item.id) {\n <div class=\"ax-carousel-slide\" [axTooltip]=\"item.tooltip\">\n @if (item.thumbnailImage) {\n <div class=\"ax-thumbnail-image-container\">\n <ax-thumbnail-viewer [item]=\"item.thumbnailImage\"></ax-thumbnail-viewer>\n </div>\n } @else {\n <div [innerHTML]=\"sanitizer.bypassSecurityTrustHtml(item.svg)\"></div>\n <div class=\"thumbnail-backdrop {{ item.type }}\"></div>\n }\n </div>\n }\n </div>\n </div>\n </div>\n}\n","import { AXComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-audio-player',\n templateUrl: './audio-player.component.html',\n styleUrls: ['./audio-player.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: AXComponent, useExisting: AXAudioPlayerComponent }],\n})\nexport class AXAudioPlayerComponent extends AXMediaViewerBaseComponent {\n protected src = signal(null);\n\n protected service = inject(AXMediaViewerService);\n\n #init = effect(async () => {\n if (this.message.index === this.service.selectedIndex()) {\n if (this.service.dirtyItems.has(`item-${this.message.index}`)) {\n this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));\n return;\n }\n\n if (typeof this.message.data?.url === 'function') {\n const result = await this.message.data?.url();\n this.service.dirtyItems.set(`item-${this.message.index}`, result);\n this.src.set(result);\n } else {\n this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);\n this.src.set(this.message.data?.url);\n }\n }\n });\n}\n","<audio class=\"ax-audio-player-tag\" controls [src]=\"src()\"></audio>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerData } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-file-info',\n templateUrl: './file-info.component.html',\n styleUrls: ['./file-info.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXFileInfoComponent }],\n})\nexport class AXFileInfoComponent {\n protected service = inject(AXMediaViewerService);\n protected infoData = computed<AXMediaViewerData>(() => {\n return this.service.dataArray()[this.service.selectedIndex()];\n });\n}\n","<div class=\"ax-info-container\">\n @if (infoData()?.name) {\n <div class=\"ax-name-info\">\n @switch (infoData()?.type) {\n @case ('video') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M32.6667 58.6673C47.3941 58.6673 59.3333 46.7281 59.3333 32.0006C59.3333 17.2731 47.3941 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7281 17.9391 58.6673 32.6667 58.6673ZM35.7437 38.2678C39.5619 35.9057 41.4709 34.7246 41.8749 33.0534C42.0416 32.3636 42.0416 31.6377 41.8749 30.9478C41.4709 29.2766 39.5619 28.0956 35.7437 25.7335C32.0525 23.4502 30.2072 22.3085 28.7197 22.7674C28.1048 22.9571 27.5448 23.3175 27.0929 23.8138C26 25.0145 26 27.3433 26 32.0006C26 36.658 26 38.9868 27.0929 40.1873C27.5448 40.6838 28.1048 41.0441 28.7197 41.234C30.2072 41.6929 32.0525 40.551 35.7437 38.2678Z\"\n />\n <path\n d=\"M32.6667 58.6673C47.3943 58.6673 59.3333 46.7282 59.3333 32.0006C59.3333 17.2731 47.3943 5.33398 32.6667 5.33398C17.9391 5.33398 6 17.2731 6 32.0006C6 46.7282 17.9391 58.6673 32.6667 58.6673Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M41.8749 33.0521C41.4709 34.7233 39.5619 35.9044 35.7437 38.2665C32.0525 40.5497 30.2072 41.6916 28.7197 41.2327C28.1048 41.0428 27.5448 40.6825 27.0929 40.186C26 38.9855 26 36.6567 26 31.9993C26 27.342 26 25.0132 27.0929 23.8125C27.5448 23.3162 28.1048 22.9558 28.7197 22.7661C30.2072 22.3072 32.0525 23.4489 35.7437 25.7322C39.5619 28.0943 41.4709 29.2753 41.8749 30.9465C42.0416 31.6364 42.0416 32.3623 41.8749 33.0521Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('image') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 43.9415 57.779 49.9127 54.0691 53.6228C50.359 57.3327 44.3878 57.3327 32.4456 57.3327C20.5034 57.3327 14.5323 57.3327 10.8223 53.6228C7.1123 49.9127 7.1123 43.9415 7.1123 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M44.4453 24C46.6545 24 48.4453 22.2091 48.4453 20C48.4453 17.7909 46.6545 16 44.4453 16C42.2362 16 40.4453 17.7909 40.4453 20C40.4453 22.2091 42.2362 24 44.4453 24Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.1123 31.9993C7.1123 20.0571 7.1123 14.086 10.8223 10.376C14.5323 6.66602 20.5034 6.66602 32.4456 6.66602C44.3878 6.66602 50.359 6.66602 54.0691 10.376C57.779 14.086 57.779 20.0571 57.779 31.9993C57.779 37.3372 57.779 41.4823 57.4478 44.7655C54.6288 43.2943 51.72 42.5484 48.7958 42.5516C44.5971 42.5337 40.4374 44.0428 36.5288 46.9937L32.1155 43.5572C26.1984 39.3937 18.7691 37.1903 11.1532 37.3399C10.2489 37.3377 9.34542 37.3665 8.44473 37.4263H7.12884C7.1123 35.7679 7.1123 33.9644 7.1123 31.9993ZM44.4456 23.9993C46.6547 23.9993 48.4456 22.2085 48.4456 19.9993C48.4456 17.7902 46.6547 15.9993 44.4456 15.9993C42.2366 15.9993 40.4456 17.7902 40.4456 19.9993C40.4456 22.2085 42.2366 23.9993 44.4456 23.9993Z\"\n />\n <path\n d=\"M43.112 58.6673C41.46 52.7337 37.604 47.4195 32.116 43.5585C26.1989 39.395 18.7697 37.1915 11.1538 37.3411C10.2495 37.339 9.34601 37.3678 8.44531 37.4275\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M35.1123 47.9992C39.6496 44.4614 44.5376 42.6467 49.4755 42.6662C52.2755 42.6632 55.0622 43.2568 57.779 44.4304\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @case ('audio') {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 65 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.7109 10.376C7.00098 14.086 7.00098 20.0571 7.00098 31.9993C7.00098 43.9415 7.00098 49.9127 10.7109 53.6228C14.4209 57.3327 20.3921 57.3327 32.3343 57.3327C44.2764 57.3327 50.2476 57.3327 53.9578 53.6228C57.6676 49.9127 57.6676 43.9415 57.6676 31.9993C57.6676 20.0571 57.6676 14.086 53.9578 10.376C50.2476 6.66602 44.2764 6.66602 32.3343 6.66602C20.3921 6.66602 14.4209 6.66602 10.7109 10.376ZM28.3343 45.3327C32.0162 45.3327 35.001 42.3479 35.001 38.666C35.001 34.9841 32.0162 31.9993 28.3343 31.9993C24.6524 31.9993 21.6676 34.9841 21.6676 38.666C21.6676 42.3479 24.6524 45.3327 28.3343 45.3327Z\"\n />\n <path\n d=\"M7.00098 31.9993C7.00098 20.0571 7.00098 14.086 10.7109 10.376C14.4209 6.66602 20.3921 6.66602 32.3343 6.66602C44.2764 6.66602 50.2476 6.66602 53.9578 10.376C57.6676 14.086 57.6676 20.0571 57.6676 31.9993C57.6676 43.9415 57.6676 49.9127 53.9578 53.6228C50.2476 57.3327 44.2764 57.3327 32.3343 57.3327C20.3921 57.3327 14.4209 57.3327 10.7109 53.6228C7.00098 49.9127 7.00098 43.9415 7.00098 31.9993Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n />\n <path\n d=\"M35.0003 38.666C35.0003 42.3479 32.0155 45.3327 28.3337 45.3327C24.6518 45.3327 21.667 42.3479 21.667 38.666C21.667 34.9841 24.6518 31.9993 28.3337 31.9993C32.0155 31.9993 35.0003 34.9841 35.0003 38.666ZM35.0003 38.666V18.666C35.8891 19.9993 36.6003 25.5993 43.0003 26.666\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n @default {\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 64 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n opacity=\"0.4\"\n d=\"M53.3337 26.6673V35.5824C53.3337 37.7624 53.3337 38.8523 52.9278 39.8325L50.667 40.0005C43.1246 40.0005 39.3534 40.0005 37.0102 42.3437C34.667 44.6869 34.667 48.4581 34.667 56.0005L34.2329 58.3632C33.3713 58.6672 32.4307 58.6672 30.5491 58.6672C21.8958 58.6672 17.5692 58.6672 14.6385 56.3045C14.0465 55.8272 13.5072 55.2877 13.0298 54.6957C10.667 51.7651 10.667 47.4384 10.667 38.7851V26.6673C10.667 16.6107 10.667 11.5824 13.7912 8.45817C16.9154 5.33398 21.9437 5.33398 32.0003 5.33398C42.0569 5.33398 47.0854 5.33398 50.2094 8.45817C53.3337 11.5824 53.3337 16.6107 53.3337 26.6673Z\"\n />\n <path\n d=\"M21.333 18.666H42.6663\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M21.333 29.334H31.9997\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M34.667 57.3339V56.0005C34.667 48.4581 34.667 44.6869 37.0102 42.3437C39.3534 40.0005 43.1246 40.0005 50.667 40.0005H52.0003M53.3337 35.5824V26.6673C53.3337 16.6107 53.3337 11.5824 50.2094 8.45817C47.0854 5.33398 42.0569 5.33398 32.0003 5.33398C21.9437 5.33398 16.9154 5.33398 13.7912 8.45817C10.667 11.5824 10.667 16.6107 10.667 26.6673V38.7851C10.667 47.4384 10.667 51.7651 13.0298 54.6957C13.5072 55.2877 14.0465 55.8272 14.6385 56.3045C17.5692 58.6672 21.8958 58.6672 30.5491 58.6672C32.4307 58.6672 33.3713 58.6672 34.2329 58.3632C34.4121 58.3 34.5875 58.2272 34.759 58.1453C35.5833 57.7512 36.2483 57.0859 37.5787 55.7557L50.2094 43.1248C51.751 41.5835 52.5217 40.8125 52.9278 39.8325C53.3337 38.8523 53.3337 37.7624 53.3337 35.5824Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n }\n }\n <ax-text>{{ infoData().name }}</ax-text>\n </div>\n }\n\n @if (infoData()?.size) {\n <div class=\"ax-size-info\">\n <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M8 22V17C8 15.8954 8.89543 15 10 15H14C15.1046 15 16 15.8954 16 17V22\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linejoin=\"round\"\n />\n <path d=\"M10 7H14\" stroke=\"#6B7280\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n <path\n d=\"M3 20V4C3 2.89543 3.89543 2 5 2H14.2759C14.7438 2 15.1968 2.16403 15.5563 2.46356L20.2804 6.40031C20.7364 6.7803 21 7.34319 21 7.93675V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20Z\"\n stroke=\"#6B7280\"\n stroke-width=\"1.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <ax-text>{{ infoData().size }}</ax-text>\n </div>\n }\n</div>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXDecoratorGenericComponent } from '@acorex/components/decorators';\nimport { AXImageComponent } from '@acorex/components/image';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-image-viewer',\n templateUrl: './image-viewer.component.html',\n styleUrls: ['./image-viewer.component.compiled.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXImageComponent, AXLoadingComponent, AXDecoratorGenericComponent],\n providers: [{ provide: AXComponent, useExisting: AXImageViewerComponent }],\n})\nexport class AXImageViewerComponent extends AXMediaViewerBaseComponent {\n protected hasError = signal(false);\n\n protected src = signal(null);\n\n protected service = inject(AXMediaViewerService);\n\n #init = effect(async () => {\n if (this.message.index === this.service.selectedIndex()) {\n if (this.service.dirtyItems.has(`item-${this.message.index}`)) {\n this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));\n return;\n }\n\n if (typeof this.message.data?.url === 'function') {\n const result = await this.message.data?.url();\n this.service.dirtyItems.set(`item-${this.message.index}`, result);\n this.src.set(result);\n } else {\n this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);\n this.src.set(this.message.data?.url);\n }\n }\n });\n\n protected handleImageError(): void {\n this.hasError.set(true);\n }\n}\n","<ax-image alt=\"image\" [src]=\"src()\" (onError)=\"handleImageError()\">\n <ax-loading></ax-loading>\n <ax-placeholder>\n @if (hasError()) {\n <div class=\"placeholder-image-container\">\n <span class=\"placeholder-image\">🖼️</span>\n </div>\n }\n </ax-placeholder>\n</ax-image>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXPdfReaderComponent } from '@acorex/components/pdf-reader';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-pdf',\n templateUrl: './pdf-reader.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXPdfReaderComponent],\n providers: [{ provide: AXComponent, useExisting: PdfComponent }],\n})\nexport class PdfComponent extends AXMediaViewerBaseComponent {\n sanitizer = inject(DomSanitizer);\n\n protected src = signal(null);\n\n protected service = inject(AXMediaViewerService);\n\n #init = effect(async () => {\n if (this.message.index === this.service.selectedIndex()) {\n if (this.service.dirtyItems.has(`item-${this.message.index}`)) {\n this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));\n return;\n }\n\n if (typeof this.message.data?.url === 'function') {\n const result = await this.message.data?.url();\n this.service.dirtyItems.set(`item-${this.message.index}`, result);\n this.src.set(result);\n } else {\n this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);\n this.src.set(this.message.data?.url);\n }\n }\n });\n}\n","<ax-pdf-reader [src]=\"sanitizer.bypassSecurityTrustResourceUrl(src())\"> </ax-pdf-reader>\n","import { AXComponent } from '@acorex/cdk/common';\nimport { AXVideoPlayerComponent } from '@acorex/components/video-player';\nimport { ChangeDetectionStrategy, Component, effect, inject, signal, ViewEncapsulation } from '@angular/core';\nimport { AXMediaViewerBaseComponent } from '../../media-viewer-types';\nimport { AXMediaViewerService } from '../../media-viewer.service';\n\n@Component({\n selector: 'ax-video',\n templateUrl: './video-player.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [AXVideoPlayerComponent],\n providers: [{ provide: AXComponent, useExisting: VideoPlayerComponent }],\n})\nexport class VideoPlayerComponent extends AXMediaViewerBaseComponent {\n protected src = signal(null);\n\n protected service = inject(AXMediaViewerService);\n\n #init = effect(async () => {\n if (this.message.index === this.service.selectedIndex()) {\n if (this.service.dirtyItems.has(`item-${this.message.index}`)) {\n this.src.set(this.service.dirtyItems.get(`item-${this.message.index}`));\n return;\n }\n\n if (typeof this.message.data?.url === 'function') {\n const result = await this.message.data?.url();\n this.service.dirtyItems.set(`item-${this.message.index}`, result);\n this.src.set(result);\n } else {\n this.service.dirtyItems.set(`item-${this.message.index}`, this.message.data?.url);\n this.src.set(this.message.data?.url);\n }\n }\n });\n}\n","<ax-video-player [src]=\"src()\"></ax-video-player>\n","import { AXCarouselDirective } from '@acorex/cdk/carousel';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPdfReaderModule } from '@acorex/components/pdf-reader';\nimport { AXVideoPlayerModule } from '@acorex/components/video-player';\nimport { CdkPortalOutlet } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule, inject } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMediaViewerContainerComponent } from './media-viewer-container/media-viewer-container.component';\nimport { AXMediaViewerSliderComponent } from './media-viewer-slider/media-viewer-slider.component';\nimport { AXAudioPlayerComponent } from './media-viewer-tools/audio-player/audio-player.component';\nimport { AXFileInfoComponent } from './media-viewer-tools/file-info/file-info.component';\nimport { AXImageViewerComponent } from './media-viewer-tools/image-viewer/image-viewer.component';\nimport { PdfComponent } from './media-viewer-tools/pdf-reader/pdf-reader.component';\nimport { AXThumbnailViewerComponent } from './media-viewer-tools/thumbnail-viewer/thumbnail-viewer.component';\nimport { VideoPlayerComponent } from './media-viewer-tools/video-player/video-player.component';\nimport { AXMediaViewerTypeRegistryService } from './media-viewer-type-registry.service';\nimport { AXMediaViewerType } from './media-viewer-types';\n\nexport interface AXMediaViewerModuleConfig {\n types: AXMediaViewerType[];\n}\n\nconst COMPONENT = [\n AXMediaViewerContainerComponent,\n AXMediaViewerSliderComponent,\n AXAudioPlayerComponent,\n AXImageViewerComponent,\n PdfComponent,\n VideoPlayerComponent,\n AXFileInfoComponent,\n AXThumbnailViewerComponent,\n];\nconst MODULES = [\n CommonModule,\n AXButtonModule,\n AXDecoratorModule,\n CdkPortalOutlet,\n FormsModule,\n AXImageModule,\n AXLoadingModule,\n AXCarouselDirective,\n AXPdfReaderModule,\n AXVideoPlayerModule,\n];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXMediaViewerModule {\n constructor() {\n const instances = inject<any[]>('AXMediaViewerFactory' as any, { optional: true });\n\n instances?.forEach((f) => {\n f();\n });\n }\n\n static forRoot(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule> {\n return {\n ngModule: AXMediaViewerModule,\n providers: [\n {\n provide: 'AXMediaViewerFactory',\n useFactory: (registry: AXMediaViewerTypeRegistryService) => () => {\n if (config?.types?.length) {\n registry.register(...config.types);\n }\n registry.register({\n name: 'audio',\n component: AXAudioPlayerComponent,\n });\n registry.register({\n name: 'image',\n component: AXImageViewerComponent,\n });\n registry.register({\n name: 'pdf',\n component: PdfComponent,\n });\n registry.register({\n name: 'video',\n component: VideoPlayerComponent,\n });\n },\n deps: [AXMediaViewerTypeRegistryService],\n multi: true,\n },\n ],\n };\n }\n\n static forChild(config?: AXMediaViewerModuleConfig): ModuleWithProviders<AXMediaViewerModule> {\n return {\n ngModule: AXMediaViewerModule,\n providers: [\n {\n provide: 'AXMediaViewerFactory',\n useFactory: (registry: AXMediaViewerTypeRegistryService) => () => {\n if (config?.types?.length) {\n registry.register(...config.types);\n }\n },\n deps: [AXMediaViewerTypeRegistryService],\n multi: true,\n },\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ class AXPopoverComponent extends MXBaseComponent {
38
38
  /** @ignore */
39
39
  this._disabled = false;
40
40
  this.width = input('fit-content', ...(ngDevMode ? [{ debugName: "width" }] : []));
41
+ this.forceDisableActionSheetStyle = input(false, ...(ngDevMode ? [{ debugName: "forceDisableActionSheetStyle" }] : []));
41
42
  this.translateService = inject(AXTranslationService);
42
43
  this.#init = afterNextRender(() => {
43
44
  const lang = this.translateService.getActiveLang();
@@ -502,7 +503,7 @@ class AXPopoverComponent extends MXBaseComponent {
502
503
  panelClass: panelClasses,
503
504
  width: this.width(),
504
505
  onDispose: () => this.handleOverlayDisposed(),
505
- actionSheetStyle: this.isActionsheetStyle,
506
+ actionSheetStyle: this.forceDisableActionSheetStyle() ? false : this.isActionsheetStyle,
506
507
  });
507
508
  // Store component ref if it's a component
508
509
  if (this._overlayRef.instance && 'instance' in this._overlayRef.instance) {
@@ -587,7 +588,7 @@ class AXPopoverComponent extends MXBaseComponent {
587
588
  }
588
589
  }
589
590
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXPopoverComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
590
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, repositionOnScroll: { classPropertyName: "repositionOnScroll", publicName: "repositionOnScroll", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
591
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.16", type: AXPopoverComponent, isStandalone: true, selector: "ax-popover", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, forceDisableActionSheetStyle: { classPropertyName: "forceDisableActionSheetStyle", publicName: "forceDisableActionSheetStyle", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, offsetX: { classPropertyName: "offsetX", publicName: "offsetX", isSignal: false, isRequired: false, transformFunction: null }, offsetY: { classPropertyName: "offsetY", publicName: "offsetY", isSignal: false, isRequired: false, transformFunction: null }, target: { classPropertyName: "target", publicName: "target", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: false, isRequired: false, transformFunction: null }, openOn: { classPropertyName: "openOn", publicName: "openOn", isSignal: false, isRequired: false, transformFunction: null }, closeOn: { classPropertyName: "closeOn", publicName: "closeOn", isSignal: false, isRequired: false, transformFunction: null }, hasBackdrop: { classPropertyName: "hasBackdrop", publicName: "hasBackdrop", isSignal: false, isRequired: false, transformFunction: null }, openAfter: { classPropertyName: "openAfter", publicName: "openAfter", isSignal: false, isRequired: false, transformFunction: null }, closeAfter: { classPropertyName: "closeAfter", publicName: "closeAfter", isSignal: false, isRequired: false, transformFunction: null }, repositionOnScroll: { classPropertyName: "repositionOnScroll", publicName: "repositionOnScroll", isSignal: false, isRequired: false, transformFunction: null }, backdropClass: { classPropertyName: "backdropClass", publicName: "backdropClass", isSignal: false, isRequired: false, transformFunction: null }, panelClass: { classPropertyName: "panelClass", publicName: "panelClass", isSignal: false, isRequired: false, transformFunction: null }, adaptivityEnabled: { classPropertyName: "adaptivityEnabled", publicName: "adaptivityEnabled", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { onOpened: "onOpened", onClosed: "onClosed" }, providers: [
591
592
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
592
593
  { provide: AXComponent, useExisting: AXPopoverComponent },
593
594
  ], viewQueries: [{ propertyName: "_baseTemplate", first: true, predicate: ["baseTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
@@ -598,7 +599,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
598
599
  { provide: AXFocusableComponent, useExisting: AXPopoverComponent },
599
600
  { provide: AXComponent, useExisting: AXPopoverComponent },
600
601
  ], template: "<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n" }]
601
- }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], disabled: [{
602
+ }], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], forceDisableActionSheetStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "forceDisableActionSheetStyle", required: false }] }], disabled: [{
602
603
  type: Input
603
604
  }], offsetX: [{
604
605
  type: Input
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../packages/components/popover/src/lib/popover.component.ts","../../../../packages/components/popover/src/lib/popover.component.html","../../../../packages/components/popover/src/lib/popover.module.ts","../../../../packages/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import {\n AXComponent,\n AXConnectedPosition,\n AXEvent,\n AXFocusableComponent,\n AXPlacementType,\n MXBaseComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentType } from '@acorex/core/components';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n DOCUMENT,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { Subject, Subscription, delay, fromEvent } from 'rxjs';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'hover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickOut' | 'leave';\n\n/**\n * @category Components\n * A popover component with custom encapsulation and change detection settings.\n */\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent },\n { provide: AXComponent, useExisting: AXPopoverComponent },\n ],\n})\nexport class AXPopoverComponent extends MXBaseComponent implements OnDestroy {\n private platform = inject(AXPlatform);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n private overlayService = inject(AXOverlayService);\n\n private onKeyDownHandler: ((e: KeyboardEvent) => void) | null = null;\n\n /** @ignore */\n private _overlayRef: AXOverlayRef<unknown> | null = null;\n\n /** @ignore */\n private _lastActiveElement: Element | null = null;\n\n /** @ignore */\n private _targetEvents: {\n mouseenter?: Subscription;\n mouseleave?: Subscription;\n click?: Subscription;\n } = {};\n\n /** @ignore */\n private _outsideClickHandler: ((e: MouseEvent) => void) | null = null;\n\n /** @ignore */\n private _scrollHandler: ((e: Event) => void) | null = null;\n\n /** @ignore */\n private _scrollListenerActive = false;\n\n /** @ignore */\n private resizeObserver: ResizeObserver | null = null;\n /** @ignore */\n private resize$ = new Subject<void>();\n\n /** @ignore */\n private _disabled = false;\n\n readonly width = input<string>('fit-content');\n\n private translateService = inject(AXTranslationService);\n\n #init = afterNextRender(() => {\n const lang = this.translateService.getActiveLang();\n\n let defaultPlacementDirection: AXPlacementType;\n\n if (lang === 'en-US') {\n defaultPlacementDirection = 'bottom-start';\n } else {\n defaultPlacementDirection = 'bottom-end';\n }\n\n if (!this.placement) this.placement = defaultPlacementDirection;\n\n const converted = this.placement\n ? convertToPlacement(this.placement)\n : convertToPlacement(defaultPlacementDirection);\n\n this._placements = converted;\n\n this.resize$.subscribe(() => {\n if (this.isOpen) {\n this.updatePosition();\n }\n });\n });\n\n /**\n * Gets or sets whether the popover is disabled.\n * When disabled, the popover will not open and will close if already open.\n */\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(v: boolean) {\n this._disabled = v;\n if (this._disabled && this.isOpen) {\n this.close();\n }\n }\n\n /** @ignore */\n private _offsetX = 0;\n\n /**\n * Gets or sets the horizontal offset and updates it accordingly.\n */\n @Input()\n public get offsetX(): number {\n return this._offsetX;\n }\n\n /**\n * Sets the horizontal offset and updates it with a callback.\n */\n public set offsetX(v: number) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n /** @ignore */\n private _offsetY = 0;\n\n /**\n * Vertical offset with update callback.\n */\n @Input()\n public get offsetY(): number {\n return this._offsetY;\n }\n\n /**\n * Sets the vertical offset and updates the component position.\n */\n public set offsetY(v: number) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n /** @ignore */\n private _target!: Element;\n\n /**\n * Gets or sets the target element, supporting Element, ElementRef, or MXBaseComponent.\n */\n @Input()\n public get target(): Element | ElementRef | MXBaseComponent {\n return this._target;\n }\n\n /**\n * Sets the target element and updates event bindings.\n */\n public set target(v: Element | ElementRef | MXBaseComponent) {\n this.removeTargetEvents();\n if (v instanceof Element) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v?.getHostElement == 'function') this._target = v.getHostElement();\n this.bindTargetEvents();\n }\n\n /** @ignore */\n private _placements: AXConnectedPosition[] = [];\n\n /** @ignore */\n private _placement: AXPlacementType = null;\n\n /**\n * Gets the current placement of the component.\n */\n @Input()\n public get placement(): AXPlacementType {\n return this._placement;\n }\n\n /**\n * Sets the component's placement and updates its position settings.\n */\n public set placement(v: AXPlacementType) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n if (!n) return;\n const converted = convertToPlacement(n);\n this._placements = converted;\n this.updateOffset();\n if (this._overlayRef) {\n this._overlayRef.updatePosition();\n }\n },\n });\n }\n\n /** @ignore */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /**\n * Gets the reference to the component.\n */\n public get componentRef(): ComponentRef<unknown> | null {\n return this._componentRef;\n }\n\n /**\n * Holds the context data for the component.\n */\n public context: unknown;\n\n /** @ignore */\n @ViewChild('baseTemplate', { static: true })\n _baseTemplate: TemplateRef<unknown>;\n\n /**\n * Defines the content to be displayed, which can be a template or a component.\n */\n @Input()\n content: TemplateRef<unknown> | AXComponentType<unknown>;\n\n /** @ignore */\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n /**\n * Gets or sets the trigger for opening the popover and updates target events.\n */\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n\n /**\n * Sets the trigger for opening the popover and updates target events.\n */\n public set openOn(v: AXPopoverOpenTrigger) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n /** @ignore */\n private _closeOn: AXPopoverCloseTrigger = 'clickOut';\n\n /**\n * Gets or sets the trigger for closing the popover.\n */\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n\n /**\n * Sets the trigger for closing the popover and rebinds target events.\n */\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n /**\n * Determines if a backdrop should be displayed behind the popover.\n */\n @Input()\n hasBackdrop = false;\n\n /**\n * Delay in milliseconds before the popover opens after a trigger event.\n */\n private _openAfter = 200;\n\n @Input()\n public get openAfter() {\n return this._openAfter;\n }\n\n public set openAfter(value) {\n this._openAfter = value;\n this.bindTargetEvents();\n }\n\n /**\n * Delay in milliseconds before the popover closes after a trigger event.\n */\n private _closeAfter = 200;\n\n @Input()\n public get closeAfter() {\n return this._closeAfter;\n }\n\n public set closeAfter(value) {\n this._closeAfter = value;\n this.bindTargetEvents();\n }\n\n /**\n * Whether to update the popover position when scrolling.\n */\n @Input()\n repositionOnScroll = true;\n\n /**\n * CSS class to apply to the backdrop element.\n */\n @Input()\n backdropClass: string;\n\n /**\n * CSS class to apply to the panel element.\n */\n @Input()\n panelClass: string;\n\n /**\n * Enables or disables adaptivity.\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * Emits when the component is opened.\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits when the component is closed.\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /** @ignore */\n private _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /** @ignore */\n private _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /** @ignore */\n private removeTargetEvents(): void {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1]?.unsubscribe();\n });\n this._targetEvents = {};\n }\n\n /** @ignore */\n private bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target) return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n\n if (this.openOn === 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {\n this.open();\n });\n }\n\n if (this.closeOn === 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {\n this.close();\n });\n }\n\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._targetEvents.click = click$.subscribe(() => {\n this.openOn === 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n\n /** @ignore */\n private bindOverlayEvents() {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) return;\n overlayElement.style.pointerEvents = 'none';\n\n // Outside click handler\n if (this.closeOn === 'clickOut') {\n this._outsideClickHandler = (e: MouseEvent) => {\n const el = e.target as Element;\n if (this.isOpen && !this._target?.contains(el) && !overlayElement?.contains(el)) {\n // Check if the click is inside a child overlay (e.g., selectbox dropdown)\n // Child overlays have a higher z-index than this popover\n if (this.isClickInsideChildOverlay(el)) {\n return;\n }\n this.close();\n }\n };\n this.document.addEventListener('mousedown', this._outsideClickHandler);\n }\n\n // Scroll listener to close on scroll\n this.setupScrollListener();\n\n // Resize observer\n this.initializeResizeObserver();\n\n setTimeout(() => {\n overlayElement.style.pointerEvents = 'auto';\n }, this.openAfter);\n }\n\n /** @ignore */\n private removeOverlayEvents() {\n if (this._outsideClickHandler) {\n this.document.removeEventListener('mousedown', this._outsideClickHandler);\n this._outsideClickHandler = null;\n }\n this.removeScrollListener();\n }\n\n /** @ignore */\n private setupScrollListener() {\n if (!this.repositionOnScroll || !isPlatformBrowser(this.platformID)) {\n return;\n }\n\n this._scrollHandler = () => {\n // Ignore scroll events during initial setup\n if (!this._scrollListenerActive) {\n return;\n }\n\n // Update popover position to follow the anchor element\n this._overlayRef?.updatePosition();\n };\n\n // Listen on document with capture to catch all scroll events\n this.document.addEventListener('scroll', this._scrollHandler, true);\n window.addEventListener('scroll', this._scrollHandler, true);\n\n // Delay activation to prevent initial layout scroll events from triggering\n requestAnimationFrame(() => {\n this._scrollListenerActive = true;\n });\n }\n\n /** @ignore */\n private removeScrollListener() {\n if (this._scrollHandler) {\n this.document.removeEventListener('scroll', this._scrollHandler, true);\n window.removeEventListener('scroll', this._scrollHandler, true);\n this._scrollHandler = null;\n }\n this._scrollListenerActive = false;\n }\n\n /**\n * Checks if the clicked element is inside a child overlay (e.g., selectbox dropdown).\n * Child overlays are identified by having a higher z-index than this popover's overlay.\n * @ignore\n */\n private isClickInsideChildOverlay(element: Element): boolean {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) return false;\n\n // Find if the clicked element is inside any overlay container\n const clickedOverlay = element.closest('.ax-overlay-container');\n if (!clickedOverlay) return false;\n\n // Get z-index values\n const popoverZIndex = parseInt(overlayElement.style.zIndex || '0', 10);\n const clickedZIndex = parseInt((clickedOverlay as HTMLElement).style.zIndex || '0', 10);\n\n // If the clicked overlay has a higher z-index, it's a child overlay\n return clickedZIndex > popoverZIndex;\n }\n\n /** @ignore */\n private handleOverlayDisposed() {\n // Called when overlay is disposed externally (e.g., by scroll)\n this.disconnectResizeObserver();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n this._overlayRef = null;\n this._componentRef = null;\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n /**\n * Toggles the component's open state.\n */\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n /**\n * Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.\n */\n close() {\n if (!this.isOpen) {\n return;\n }\n this.disconnectResizeObserver();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n\n this._componentRef = null;\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n /**\n * Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.\n */\n async open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n\n this.addKeyDownListener();\n this.saveFocus();\n await this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n\n /** @ignore */\n private addKeyDownListener() {\n if (isPlatformBrowser(this.platformID)) {\n this.onKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.close();\n }\n };\n this.document.addEventListener('keydown', this.onKeyDownHandler);\n }\n }\n\n /** @ignore */\n private removeKeyDownListener() {\n if (this.onKeyDownHandler) {\n this.document.removeEventListener('keydown', this.onKeyDownHandler);\n this.onKeyDownHandler = null;\n }\n }\n\n /** @ignore */\n private saveFocus() {\n if (isPlatformBrowser(this.platformID)) {\n this._lastActiveElement = this.document.activeElement as Element;\n }\n }\n\n /** @ignore */\n private restoreFocus() {\n if (this._lastActiveElement instanceof HTMLElement) {\n this._lastActiveElement?.focus?.();\n }\n }\n\n /** @ignore */\n private async openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n // Build panel classes\n const panelClasses = ['ax-animate-fadeIn', 'ax-animate-faster'];\n if (this.platform.isDark()) {\n panelClasses.push('ax-dark');\n }\n if (this.panelClass) {\n panelClasses.push(this.panelClass);\n }\n\n // Determine content to display\n let contentToRender: TemplateRef<unknown> | AXComponentType<unknown>;\n let inputs: Record<string, unknown> | undefined;\n\n if (this.content instanceof TemplateRef) {\n contentToRender = this.content;\n } else if (typeof this.content === 'function') {\n contentToRender = this.content;\n inputs = this.context as Record<string, unknown>;\n } else {\n contentToRender = this._baseTemplate;\n }\n\n // Create the overlay\n this._overlayRef = await this.overlayService.create(contentToRender, {\n inputs,\n anchorOptions: {\n anchor: targetRef as HTMLElement,\n placement: this._placement,\n offsetX: this._offsetX,\n offsetY: this._offsetY,\n autoFlip: true,\n },\n panelClass: panelClasses,\n width: this.width(),\n onDispose: () => this.handleOverlayDisposed(),\n actionSheetStyle: this.isActionsheetStyle,\n });\n\n // Store component ref if it's a component\n if (this._overlayRef.instance && 'instance' in this._overlayRef.instance) {\n this._componentRef = this._overlayRef.instance as unknown as ComponentRef<unknown>;\n if (this.context && this._componentRef.instance) {\n Object.assign(this._componentRef.instance, this.context);\n }\n }\n\n // Bind overlay events\n this.bindOverlayEvents();\n }\n\n /**\n * Checks if the overlay is currently open.\n * @returns {boolean}\n */\n get isOpen(): boolean {\n return this._overlayRef !== null;\n }\n\n /**\n * Determines if the actionsheet style should be applied.\n * @returns {boolean}\n */\n get isActionsheetStyle(): boolean {\n return this.platform.is('SM');\n }\n\n /** @ignore */\n private updateOffset() {\n this._placements?.forEach((p) => {\n if (this._offsetY != null) p.offsetY = this._offsetY;\n if (this._offsetX != null) p.offsetX = this._offsetX;\n });\n }\n\n /**\n * Updates the position of the overlay and focuses on it.\n */\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n /**\n * Focuses the overlay element.\n */\n public focus(): void {\n // Optional focus behavior\n }\n\n /**\n * Brings this popover to the front of all other overlays.\n */\n public bringToFront(): void {\n this._overlayRef?.bringToFront();\n }\n\n /** @ignore */\n private initializeResizeObserver(): void {\n if (!isPlatformBrowser(this.platformID) || !this._overlayRef?.overlayElement) {\n return;\n }\n this.disconnectResizeObserver();\n this.resizeObserver = new ResizeObserver(() => {\n this.resize$.next();\n });\n this.resizeObserver.observe(this._overlayRef.overlayElement);\n }\n\n /** @ignore */\n private disconnectResizeObserver(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.disconnectResizeObserver();\n this.resize$.complete();\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [CommonModule, AXPopoverComponent],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../packages/components/popover/src/lib/popover.component.ts","../../../../packages/components/popover/src/lib/popover.component.html","../../../../packages/components/popover/src/lib/popover.module.ts","../../../../packages/components/popover/src/acorex-components-popover.ts"],"sourcesContent":["import {\n AXComponent,\n AXConnectedPosition,\n AXEvent,\n AXFocusableComponent,\n AXPlacementType,\n MXBaseComponent,\n convertToPlacement,\n} from '@acorex/cdk/common';\nimport { AXOverlayRef, AXOverlayService } from '@acorex/cdk/overlay';\nimport { AXComponentType } from '@acorex/core/components';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ComponentRef,\n DOCUMENT,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n Output,\n PLATFORM_ID,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n afterNextRender,\n inject,\n input,\n} from '@angular/core';\nimport { Subject, Subscription, delay, fromEvent } from 'rxjs';\n\nexport type AXPopoverOpenTrigger = 'manual' | 'click' | 'hover' | 'toggle';\n\nexport type AXPopoverCloseTrigger = 'manual' | 'clickOut' | 'leave';\n\n/**\n * @category Components\n * A popover component with custom encapsulation and change detection settings.\n */\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: AXFocusableComponent, useExisting: AXPopoverComponent },\n { provide: AXComponent, useExisting: AXPopoverComponent },\n ],\n})\nexport class AXPopoverComponent extends MXBaseComponent implements OnDestroy {\n private platform = inject(AXPlatform);\n private document = inject(DOCUMENT);\n private platformID = inject(PLATFORM_ID);\n private overlayService = inject(AXOverlayService);\n\n private onKeyDownHandler: ((e: KeyboardEvent) => void) | null = null;\n\n /** @ignore */\n private _overlayRef: AXOverlayRef<unknown> | null = null;\n\n /** @ignore */\n private _lastActiveElement: Element | null = null;\n\n /** @ignore */\n private _targetEvents: {\n mouseenter?: Subscription;\n mouseleave?: Subscription;\n click?: Subscription;\n } = {};\n\n /** @ignore */\n private _outsideClickHandler: ((e: MouseEvent) => void) | null = null;\n\n /** @ignore */\n private _scrollHandler: ((e: Event) => void) | null = null;\n\n /** @ignore */\n private _scrollListenerActive = false;\n\n /** @ignore */\n private resizeObserver: ResizeObserver | null = null;\n /** @ignore */\n private resize$ = new Subject<void>();\n\n /** @ignore */\n private _disabled = false;\n\n readonly width = input<string>('fit-content');\n\n readonly forceDisableActionSheetStyle = input(false);\n\n private translateService = inject(AXTranslationService);\n\n #init = afterNextRender(() => {\n const lang = this.translateService.getActiveLang();\n\n let defaultPlacementDirection: AXPlacementType;\n\n if (lang === 'en-US') {\n defaultPlacementDirection = 'bottom-start';\n } else {\n defaultPlacementDirection = 'bottom-end';\n }\n\n if (!this.placement) this.placement = defaultPlacementDirection;\n\n const converted = this.placement\n ? convertToPlacement(this.placement)\n : convertToPlacement(defaultPlacementDirection);\n\n this._placements = converted;\n\n this.resize$.subscribe(() => {\n if (this.isOpen) {\n this.updatePosition();\n }\n });\n });\n\n /**\n * Gets or sets whether the popover is disabled.\n * When disabled, the popover will not open and will close if already open.\n */\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(v: boolean) {\n this._disabled = v;\n if (this._disabled && this.isOpen) {\n this.close();\n }\n }\n\n /** @ignore */\n private _offsetX = 0;\n\n /**\n * Gets or sets the horizontal offset and updates it accordingly.\n */\n @Input()\n public get offsetX(): number {\n return this._offsetX;\n }\n\n /**\n * Sets the horizontal offset and updates it with a callback.\n */\n public set offsetX(v: number) {\n this.setOption({\n name: 'offsetX',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n /** @ignore */\n private _offsetY = 0;\n\n /**\n * Vertical offset with update callback.\n */\n @Input()\n public get offsetY(): number {\n return this._offsetY;\n }\n\n /**\n * Sets the vertical offset and updates the component position.\n */\n public set offsetY(v: number) {\n this.setOption({\n name: 'offsetY',\n value: v,\n afterCallback: () => {\n this.updateOffset();\n },\n });\n }\n\n /** @ignore */\n private _target!: Element;\n\n /**\n * Gets or sets the target element, supporting Element, ElementRef, or MXBaseComponent.\n */\n @Input()\n public get target(): Element | ElementRef | MXBaseComponent {\n return this._target;\n }\n\n /**\n * Sets the target element and updates event bindings.\n */\n public set target(v: Element | ElementRef | MXBaseComponent) {\n this.removeTargetEvents();\n if (v instanceof Element) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v?.getHostElement == 'function') this._target = v.getHostElement();\n this.bindTargetEvents();\n }\n\n /** @ignore */\n private _placements: AXConnectedPosition[] = [];\n\n /** @ignore */\n private _placement: AXPlacementType = null;\n\n /**\n * Gets the current placement of the component.\n */\n @Input()\n public get placement(): AXPlacementType {\n return this._placement;\n }\n\n /**\n * Sets the component's placement and updates its position settings.\n */\n public set placement(v: AXPlacementType) {\n this.setOption({\n name: 'placement',\n value: v,\n afterCallback: (o, n) => {\n if (!n) return;\n const converted = convertToPlacement(n);\n this._placements = converted;\n this.updateOffset();\n if (this._overlayRef) {\n this._overlayRef.updatePosition();\n }\n },\n });\n }\n\n /** @ignore */\n private _componentRef: ComponentRef<unknown> | null = null;\n\n /**\n * Gets the reference to the component.\n */\n public get componentRef(): ComponentRef<unknown> | null {\n return this._componentRef;\n }\n\n /**\n * Holds the context data for the component.\n */\n public context: unknown;\n\n /** @ignore */\n @ViewChild('baseTemplate', { static: true })\n _baseTemplate: TemplateRef<unknown>;\n\n /**\n * Defines the content to be displayed, which can be a template or a component.\n */\n @Input()\n content: TemplateRef<unknown> | AXComponentType<unknown>;\n\n /** @ignore */\n private _openOn: AXPopoverOpenTrigger = 'toggle';\n\n /**\n * Gets or sets the trigger for opening the popover and updates target events.\n */\n @Input()\n public get openOn(): AXPopoverOpenTrigger {\n return this._openOn;\n }\n\n /**\n * Sets the trigger for opening the popover and updates target events.\n */\n public set openOn(v: AXPopoverOpenTrigger) {\n this.setOption({\n name: 'openOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n /** @ignore */\n private _closeOn: AXPopoverCloseTrigger = 'clickOut';\n\n /**\n * Gets or sets the trigger for closing the popover.\n */\n @Input()\n public get closeOn(): AXPopoverCloseTrigger {\n return this._closeOn;\n }\n\n /**\n * Sets the trigger for closing the popover and rebinds target events.\n */\n public set closeOn(v: AXPopoverCloseTrigger) {\n this.setOption({\n name: 'closeOn',\n value: v,\n afterCallback: () => {\n this.bindTargetEvents();\n },\n });\n }\n\n /**\n * Determines if a backdrop should be displayed behind the popover.\n */\n @Input()\n hasBackdrop = false;\n\n /**\n * Delay in milliseconds before the popover opens after a trigger event.\n */\n private _openAfter = 200;\n\n @Input()\n public get openAfter() {\n return this._openAfter;\n }\n\n public set openAfter(value) {\n this._openAfter = value;\n this.bindTargetEvents();\n }\n\n /**\n * Delay in milliseconds before the popover closes after a trigger event.\n */\n private _closeAfter = 200;\n\n @Input()\n public get closeAfter() {\n return this._closeAfter;\n }\n\n public set closeAfter(value) {\n this._closeAfter = value;\n this.bindTargetEvents();\n }\n\n /**\n * Whether to update the popover position when scrolling.\n */\n @Input()\n repositionOnScroll = true;\n\n /**\n * CSS class to apply to the backdrop element.\n */\n @Input()\n backdropClass: string;\n\n /**\n * CSS class to apply to the panel element.\n */\n @Input()\n panelClass: string;\n\n /**\n * Enables or disables adaptivity.\n */\n @Input()\n adaptivityEnabled = false;\n\n /**\n * Emits when the component is opened.\n * @event\n */\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /**\n * Emits when the component is closed.\n * @event\n */\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n /** @ignore */\n private _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /** @ignore */\n private _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n /** @ignore */\n private removeTargetEvents(): void {\n Object.entries(this._targetEvents).forEach((e) => {\n e[1]?.unsubscribe();\n });\n this._targetEvents = {};\n }\n\n /** @ignore */\n private bindTargetEvents() {\n this.removeTargetEvents();\n if (!this._target) return;\n const targetMouseEnter$ = fromEvent(this._target, 'mouseenter');\n const targetMouseLeave$ = fromEvent(this._target, 'mouseleave');\n\n if (this.openOn === 'hover') {\n this._targetEvents.mouseenter = targetMouseEnter$.pipe(delay(this.openAfter)).subscribe(() => {\n this.open();\n });\n }\n\n if (this.closeOn === 'leave') {\n this._targetEvents.mouseleave = targetMouseLeave$.pipe(delay(this.closeAfter)).subscribe(() => {\n this.close();\n });\n }\n\n if (this.openOn === 'click' || this.openOn === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._targetEvents.click = click$.subscribe(() => {\n this.openOn === 'toggle' ? this.toggle() : this.open();\n });\n }\n }\n\n /** @ignore */\n private bindOverlayEvents() {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) return;\n overlayElement.style.pointerEvents = 'none';\n\n // Outside click handler\n if (this.closeOn === 'clickOut') {\n this._outsideClickHandler = (e: MouseEvent) => {\n const el = e.target as Element;\n if (this.isOpen && !this._target?.contains(el) && !overlayElement?.contains(el)) {\n // Check if the click is inside a child overlay (e.g., selectbox dropdown)\n // Child overlays have a higher z-index than this popover\n if (this.isClickInsideChildOverlay(el)) {\n return;\n }\n this.close();\n }\n };\n this.document.addEventListener('mousedown', this._outsideClickHandler);\n }\n\n // Scroll listener to close on scroll\n this.setupScrollListener();\n\n // Resize observer\n this.initializeResizeObserver();\n\n setTimeout(() => {\n overlayElement.style.pointerEvents = 'auto';\n }, this.openAfter);\n }\n\n /** @ignore */\n private removeOverlayEvents() {\n if (this._outsideClickHandler) {\n this.document.removeEventListener('mousedown', this._outsideClickHandler);\n this._outsideClickHandler = null;\n }\n this.removeScrollListener();\n }\n\n /** @ignore */\n private setupScrollListener() {\n if (!this.repositionOnScroll || !isPlatformBrowser(this.platformID)) {\n return;\n }\n\n this._scrollHandler = () => {\n // Ignore scroll events during initial setup\n if (!this._scrollListenerActive) {\n return;\n }\n\n // Update popover position to follow the anchor element\n this._overlayRef?.updatePosition();\n };\n\n // Listen on document with capture to catch all scroll events\n this.document.addEventListener('scroll', this._scrollHandler, true);\n window.addEventListener('scroll', this._scrollHandler, true);\n\n // Delay activation to prevent initial layout scroll events from triggering\n requestAnimationFrame(() => {\n this._scrollListenerActive = true;\n });\n }\n\n /** @ignore */\n private removeScrollListener() {\n if (this._scrollHandler) {\n this.document.removeEventListener('scroll', this._scrollHandler, true);\n window.removeEventListener('scroll', this._scrollHandler, true);\n this._scrollHandler = null;\n }\n this._scrollListenerActive = false;\n }\n\n /**\n * Checks if the clicked element is inside a child overlay (e.g., selectbox dropdown).\n * Child overlays are identified by having a higher z-index than this popover's overlay.\n * @ignore\n */\n private isClickInsideChildOverlay(element: Element): boolean {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) return false;\n\n // Find if the clicked element is inside any overlay container\n const clickedOverlay = element.closest('.ax-overlay-container');\n if (!clickedOverlay) return false;\n\n // Get z-index values\n const popoverZIndex = parseInt(overlayElement.style.zIndex || '0', 10);\n const clickedZIndex = parseInt((clickedOverlay as HTMLElement).style.zIndex || '0', 10);\n\n // If the clicked overlay has a higher z-index, it's a child overlay\n return clickedZIndex > popoverZIndex;\n }\n\n /** @ignore */\n private handleOverlayDisposed() {\n // Called when overlay is disposed externally (e.g., by scroll)\n this.disconnectResizeObserver();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n this._overlayRef = null;\n this._componentRef = null;\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n /**\n * Toggles the component's open state.\n */\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n /**\n * Closes the component if it's open, detaches the overlay, restores focus, and emits the closed event.\n */\n close() {\n if (!this.isOpen) {\n return;\n }\n this.disconnectResizeObserver();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n\n this._componentRef = null;\n this.restoreFocus();\n this._emitOnClosedEvent();\n }\n\n /**\n * Opens the component if it's not already open, saves focus, opens the overlay, and emits the opened event.\n */\n async open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.addKeyDownListener();\n this.saveFocus();\n await this.openOverlayInternal();\n this._emitOnOpenedEvent();\n }\n\n /** @ignore */\n private addKeyDownListener() {\n if (isPlatformBrowser(this.platformID)) {\n this.onKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n this.close();\n }\n };\n this.document.addEventListener('keydown', this.onKeyDownHandler);\n }\n }\n\n /** @ignore */\n private removeKeyDownListener() {\n if (this.onKeyDownHandler) {\n this.document.removeEventListener('keydown', this.onKeyDownHandler);\n this.onKeyDownHandler = null;\n }\n }\n\n /** @ignore */\n private saveFocus() {\n if (isPlatformBrowser(this.platformID)) {\n this._lastActiveElement = this.document.activeElement as Element;\n }\n }\n\n /** @ignore */\n private restoreFocus() {\n if (this._lastActiveElement instanceof HTMLElement) {\n this._lastActiveElement?.focus?.();\n }\n }\n\n /** @ignore */\n private async openOverlayInternal() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n // Build panel classes\n const panelClasses = ['ax-animate-fadeIn', 'ax-animate-faster'];\n if (this.platform.isDark()) {\n panelClasses.push('ax-dark');\n }\n if (this.panelClass) {\n panelClasses.push(this.panelClass);\n }\n\n // Determine content to display\n let contentToRender: TemplateRef<unknown> | AXComponentType<unknown>;\n let inputs: Record<string, unknown> | undefined;\n\n if (this.content instanceof TemplateRef) {\n contentToRender = this.content;\n } else if (typeof this.content === 'function') {\n contentToRender = this.content;\n inputs = this.context as Record<string, unknown>;\n } else {\n contentToRender = this._baseTemplate;\n }\n\n // Create the overlay\n this._overlayRef = await this.overlayService.create(contentToRender, {\n inputs,\n anchorOptions: {\n anchor: targetRef as HTMLElement,\n placement: this._placement,\n offsetX: this._offsetX,\n offsetY: this._offsetY,\n autoFlip: true,\n },\n panelClass: panelClasses,\n width: this.width(),\n onDispose: () => this.handleOverlayDisposed(),\n actionSheetStyle: this.forceDisableActionSheetStyle() ? false : this.isActionsheetStyle,\n });\n\n // Store component ref if it's a component\n if (this._overlayRef.instance && 'instance' in this._overlayRef.instance) {\n this._componentRef = this._overlayRef.instance as unknown as ComponentRef<unknown>;\n if (this.context && this._componentRef.instance) {\n Object.assign(this._componentRef.instance, this.context);\n }\n }\n\n // Bind overlay events\n this.bindOverlayEvents();\n }\n\n /**\n * Checks if the overlay is currently open.\n * @returns {boolean}\n */\n get isOpen(): boolean {\n return this._overlayRef !== null;\n }\n\n /**\n * Determines if the actionsheet style should be applied.\n * @returns {boolean}\n */\n get isActionsheetStyle(): boolean {\n return this.platform.is('SM');\n }\n\n /** @ignore */\n private updateOffset() {\n this._placements?.forEach((p) => {\n if (this._offsetY != null) p.offsetY = this._offsetY;\n if (this._offsetX != null) p.offsetX = this._offsetX;\n });\n }\n\n /**\n * Updates the position of the overlay and focuses on it.\n */\n public updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n\n /**\n * Focuses the overlay element.\n */\n public focus(): void {\n // Optional focus behavior\n }\n\n /**\n * Brings this popover to the front of all other overlays.\n */\n public bringToFront(): void {\n this._overlayRef?.bringToFront();\n }\n\n /** @ignore */\n private initializeResizeObserver(): void {\n if (!isPlatformBrowser(this.platformID) || !this._overlayRef?.overlayElement) {\n return;\n }\n this.disconnectResizeObserver();\n this.resizeObserver = new ResizeObserver(() => {\n this.resize$.next();\n });\n this.resizeObserver.observe(this._overlayRef.overlayElement);\n }\n\n /** @ignore */\n private disconnectResizeObserver(): void {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n }\n\n /** @ignore */\n ngOnDestroy(): void {\n this.disconnectResizeObserver();\n this.resize$.complete();\n this.removeTargetEvents();\n this.removeOverlayEvents();\n this.removeKeyDownListener();\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n imports: [CommonModule, AXPopoverComponent],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}