{"version":3,"file":"primeng-galleria.mjs","sources":["../../src/galleria/galleria-token.ts","../../src/galleria/galleria-item-slot.ts","../../src/galleria/style/galleriastyle.ts","../../src/galleria/galleria-item.ts","../../src/galleria/galleria-thumbnails.ts","../../src/galleria/galleria-content.ts","../../src/galleria/galleria.ts","../../src/galleria/primeng-galleria.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const GALLERIA_INSTANCE = new InjectionToken<any>('GALLERIA_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport type { GalleriaPassThrough } from 'primeng/types/galleria';\nimport type { Galleria } from './galleria';\nimport { GALLERIA_INSTANCE } from './galleria-token';\n\n@Component({\n    selector: 'div[pGalleriaItemSlot]',\n    standalone: true,\n    imports: [NgTemplateOutlet],\n    template: `\n        @if (shouldRender()) {\n            <ng-container [ngTemplateOutlet]=\"contentTemplate()\" [ngTemplateOutletContext]=\"context()\"></ng-container>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GalleriaItemSlot extends BaseComponent<GalleriaPassThrough> {\n    hostName: string = 'Galleria';\n\n    index = input<number>();\n\n    item = input<any>();\n\n    type = input<string>();\n\n    galleria = inject<Galleria>(GALLERIA_INSTANCE);\n\n    $pcGalleria: Galleria | undefined = inject(GALLERIA_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    contentTemplate = computed(() => {\n        const type = this.type();\n        switch (type) {\n            case 'item':\n                return this.galleria.itemTemplate();\n            case 'caption':\n                return this.galleria.captionTemplate();\n            case 'thumbnail':\n                return this.galleria.thumbnailTemplate();\n            case 'indicator':\n                return this.galleria.indicatorTemplate();\n            case 'footer':\n                return this.galleria.footerTemplate();\n            case 'header':\n                return this.galleria.headerTemplate();\n            default:\n                return this.galleria.itemTemplate();\n        }\n    });\n\n    context = computed(() => {\n        const type = this.type();\n        if (type === 'indicator') {\n            return { $implicit: this.index() };\n        }\n        return { $implicit: this.item() };\n    });\n\n    shouldRender() {\n        return !!this.contentTemplate();\n    }\n}\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/galleria';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n    mask: 'p-galleria-mask p-overlay-mask',\n    root: ({ instance }) => {\n        const thumbnailsPosClass = instance.galleria.showThumbnails() && instance.getPositionClass('p-galleria-thumbnails', instance.galleria.thumbnailsPosition());\n        const indicatorPosClass = instance.galleria.showIndicators() && instance.getPositionClass('p-galleria-indicators', instance.galleria.indicatorsPosition());\n\n        return [\n            'p-galleria p-component',\n            {\n                'p-galleria-fullscreen': instance.galleria.fullScreen(),\n                'p-galleria-inset-indicators': instance.galleria.showIndicatorsOnItem(),\n                'p-galleria-hover-navigators': instance.galleria.showItemNavigatorsOnHover() && !instance.galleria.fullScreen()\n            },\n            thumbnailsPosClass,\n            indicatorPosClass\n        ];\n    },\n    closeButton: 'p-galleria-close-button',\n    closeIcon: 'p-galleria-close-icon',\n    header: 'p-galleria-header',\n    content: 'p-galleria-content',\n    footer: 'p-galleria-footer',\n    itemsContainer: 'p-galleria-items-container',\n    items: 'p-galleria-items',\n    prevButton: ({ instance }) => [\n        'p-galleria-prev-button p-galleria-nav-button',\n        {\n            'p-disabled': instance.isNavBackwardDisabled()\n        }\n    ],\n    prevIcon: 'p-galleria-prev-icon',\n    item: 'p-galleria-item',\n    nextButton: ({ instance }) => [\n        'p-galleria-next-button p-galleria-nav-button',\n        {\n            'p-disabled': instance.isNavForwardDisabled()\n        }\n    ],\n    nextIcon: 'p-galleria-next-icon',\n    caption: 'p-galleria-caption',\n    indicatorList: 'p-galleria-indicator-list',\n    indicator: ({ instance, index }) => [\n        'p-galleria-indicator',\n        {\n            'p-galleria-indicator-active': instance.isIndicatorItemActive(index)\n        }\n    ],\n    indicatorButton: 'p-galleria-indicator-button',\n    thumbnails: 'p-galleria-thumbnails',\n    thumbnailContent: 'p-galleria-thumbnails-content',\n    thumbnailPrevButton: ({ instance }) => [\n        'p-galleria-thumbnail-prev-button p-galleria-thumbnail-nav-button',\n        {\n            'p-disabled': instance.isNavBackwardDisabled()\n        }\n    ],\n    thumbnailPrevIcon: 'p-galleria-thumbnail-prev-icon',\n    thumbnailsViewport: 'p-galleria-thumbnails-viewport',\n    thumbnailItems: 'p-galleria-thumbnail-items',\n    thumbnailItem: ({ instance, index, activeIndex }) => [\n        'p-galleria-thumbnail-item',\n        {\n            'p-galleria-thumbnail-item-current': activeIndex === index,\n            'p-galleria-thumbnail-item-active': instance.isItemActive(index),\n            'p-galleria-thumbnail-item-start': instance.firstItemAciveIndex() === index,\n            'p-galleria-thumbnail-item-end': instance.lastItemActiveIndex() === index\n        }\n    ],\n    thumbnail: 'p-galleria-thumbnail',\n    thumbnailNextButton: ({ instance }) => [\n        'p-galleria-thumbnail-next-button  p-galleria-thumbnail-nav-button',\n        {\n            'p-disabled': instance.isNavForwardDisabled()\n        }\n    ],\n    thumbnailNextIcon: 'p-galleria-thumbnail-next-icon'\n};\n\n@Injectable()\nexport class GalleriaStyle extends BaseStyle {\n    name = 'galleria';\n\n    style = style;\n\n    classes = classes;\n}\n\n/**\n *\n * Galleria is an advanced content gallery component.\n *\n * [Live Demo](https://www.primeng.org/galleria/)\n *\n * @module galleriastyle\n *\n */\nexport enum GalleriaClasses {\n    /**\n     * Class name of the mask element\n     */\n    mask = 'p-galleria-mask',\n    /**\n     * Class name of the root element\n     */\n    root = 'p-galleria',\n    /**\n     * Class name of the close button element\n     */\n    closeButton = 'p-galleria-close-button',\n    /**\n     * Class name of the close icon element\n     */\n    closeIcon = 'p-galleria-close-icon',\n    /**\n     * Class name of the header element\n     */\n    header = 'p-galleria-header',\n    /**\n     * Class name of the content element\n     */\n    content = 'p-galleria-content',\n    /**\n     * Class name of the footer element\n     */\n    footer = 'p-galleria-footer',\n    /**\n     * Class name of the items container element\n     */\n    itemsContainer = 'p-galleria-items-container',\n    /**\n     * Class name of the items element\n     */\n    items = 'p-galleria-items',\n    /**\n     * Class name of the previous item button element\n     */\n    prevButton = 'p-galleria-prev-button',\n    /**\n     * Class name of the previous item icon element\n     */\n    prevIcon = 'p-galleria-prev-icon',\n    /**\n     * Class name of the item element\n     */\n    item = 'p-galleria-item',\n    /**\n     * Class name of the next item button element\n     */\n    nextButton = 'p-galleria-next-button',\n    /**\n     * Class name of the next item icon element\n     */\n    nextIcon = 'p-galleria-next-icon',\n    /**\n     * Class name of the caption element\n     */\n    caption = 'p-galleria-caption',\n    /**\n     * Class name of the indicator list element\n     */\n    indicatorList = 'p-galleria-indicator-list',\n    /**\n     * Class name of the indicator element\n     */\n    indicator = 'p-galleria-indicator',\n    /**\n     * Class name of the indicator button element\n     */\n    indicatorButton = 'p-galleria-indicator-button',\n    /**\n     * Class name of the thumbnails element\n     */\n    thumbnails = 'p-galleria-thumbnails',\n    /**\n     * Class name of the thumbnail content element\n     */\n    thumbnailContent = 'p-galleria-thumbnails-content',\n    /**\n     * Class name of the previous thumbnail button element\n     */\n    previousThumbnailButton = 'p-galleria-thumbnail-prev-button',\n    /**\n     * Class name of the previous thumbnail icon element\n     */\n    previousThumbnailIcon = 'p-galleria-thumbnail-prev-icon',\n    /**\n     * Class name of the thumbnails viewport element\n     */\n    thumbnailsViewport = 'p-galleria-thumbnails-viewport',\n    /**\n     * Class name of the thumbnail items element\n     */\n    thumbnailItems = 'p-galleria-thumbnail-items',\n    /**\n     * Class name of the thumbnail item element\n     */\n    thumbnailItem = 'p-galleria-thumbnail-item',\n    /**\n     * Class name of the thumbnail element\n     */\n    thumbnail = 'p-galleria-thumbnail',\n    /**\n     * Class name of the next thumbnail button element\n     */\n    nextThumbnailButton = 'p-galleria-thumbnail-next-button',\n    /**\n     * Class name of the next thumbnail icon element\n     */\n    nextThumbnailIcon = 'p-galleria-thumbnail-next-icon'\n}\n\nexport interface GalleriaStyle extends BaseStyle {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, inject, input, linkedSignal, output } from '@angular/core';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport type { GalleriaPassThrough } from 'primeng/types/galleria';\nimport type { Galleria } from './galleria';\nimport { GalleriaItemSlot } from './galleria-item-slot';\nimport { GALLERIA_INSTANCE } from './galleria-token';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n@Component({\n    selector: 'div[pGalleriaItem]',\n    standalone: true,\n    imports: [NgTemplateOutlet, BindModule, ChevronLeftIcon, ChevronRightIcon, GalleriaItemSlot],\n    template: `\n        <div [pBind]=\"ptm('items')\" [class]=\"cx('items')\">\n            @if (showItemNavigators()) {\n                <button type=\"button\" role=\"navigation\" [pBind]=\"ptm('prevButton')\" [class]=\"cx('prevButton')\" (click)=\"navBackward($event)\" (focus)=\"onButtonFocus('left')\" (blur)=\"onButtonBlur('left')\" data-pc-group-section=\"itemnavigator\">\n                    @if (!galleria.itemPreviousIconTemplate()) {\n                        <svg data-p-icon=\"chevron-left\" [pBind]=\"ptm('prevIcon')\" [class]=\"cx('prevIcon')\" />\n                    }\n                    <ng-template [ngTemplateOutlet]=\"galleria.itemPreviousIconTemplate()\"></ng-template>\n                </button>\n            }\n            <div\n                pGalleriaItemSlot\n                [pBind]=\"ptm('item')\"\n                [unstyled]=\"unstyled()\"\n                [class]=\"cx('item')\"\n                [item]=\"activeItem()\"\n                [id]=\"activeItemId()\"\n                role=\"group\"\n                [attr.aria-label]=\"ariaSlideNumber(_activeIndex() + 1)\"\n                [attr.aria-roledescription]=\"ariaSlideLabel()\"\n            ></div>\n            @if (showItemNavigators()) {\n                <button type=\"button\" [pBind]=\"ptm('nextButton')\" [class]=\"cx('nextButton')\" (click)=\"navForward($event)\" role=\"navigation\" (focus)=\"onButtonFocus('right')\" (blur)=\"onButtonBlur('right')\" data-pc-group-section=\"itemnavigator\">\n                    @if (!galleria.itemNextIconTemplate()) {\n                        <svg data-p-icon=\"chevron-right\" [pBind]=\"ptm('nextIcon')\" [class]=\"cx('nextIcon')\" />\n                    }\n                    <ng-template [ngTemplateOutlet]=\"galleria.itemNextIconTemplate()\"></ng-template>\n                </button>\n            }\n            @if (galleria.captionTemplate()) {\n                <div pGalleriaItemSlot [pBind]=\"ptm('caption')\" [unstyled]=\"unstyled()\" [class]=\"cx('caption')\" type=\"caption\" [item]=\"activeItem()\"></div>\n            }\n        </div>\n        @if (showIndicators()) {\n            <ul [pBind]=\"ptm('indicatorList')\" [class]=\"cx('indicatorList')\">\n                @for (item of value(); track $index) {\n                    <li\n                        [pBind]=\"getIndicatorPTOptions($index)\"\n                        tabindex=\"0\"\n                        (click)=\"onIndicatorClick($index)\"\n                        (mouseenter)=\"onIndicatorMouseEnter($index)\"\n                        (keydown)=\"onIndicatorKeyDown($event, $index)\"\n                        [class]=\"cx('indicator', { index: $index })\"\n                        [attr.aria-label]=\"ariaPageLabel($index + 1)\"\n                        [attr.aria-selected]=\"_activeIndex() === $index\"\n                        [attr.aria-controls]=\"id() + '_item_' + $index\"\n                        [pBind]=\"ptm('indicator', getIndicatorPTOptions($index))\"\n                        [attr.data-p-active]=\"isIndicatorItemActive($index)\"\n                    >\n                        @if (!galleria.indicatorTemplate()) {\n                            <button type=\"button\" tabIndex=\"-1\" [pBind]=\"ptm('indicatorButton', getIndicatorPTOptions($index))\" [class]=\"cx('indicatorButton')\"></button>\n                        } @else {\n                            <div pGalleriaItemSlot type=\"indicator\" [index]=\"$index\" [pBind]=\"ptm('item')\" [unstyled]=\"unstyled()\"></div>\n                        }\n                    </li>\n                }\n            </ul>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [GalleriaStyle],\n    hostDirectives: [Bind]\n})\nexport class GalleriaItem extends BaseComponent<GalleriaPassThrough> {\n    hostName: string = 'Galleria';\n\n    galleria = inject<Galleria>(GALLERIA_INSTANCE);\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptm('itemsContainer'));\n    }\n\n    id = input<string>();\n\n    circular = input(false, { transform: booleanAttribute });\n\n    value = input<any[]>();\n\n    showItemNavigators = input(false, { transform: booleanAttribute });\n\n    showIndicators = input(true, { transform: booleanAttribute });\n\n    slideShowActive = input(true, { transform: booleanAttribute });\n\n    changeItemOnIndicatorHover = input(true, { transform: booleanAttribute });\n\n    autoPlay = input(false, { transform: booleanAttribute });\n\n    startSlideShow = output<void>();\n\n    stopSlideShow = output<void>();\n\n    onActiveIndexChange = output<number>();\n\n    _componentStyle = inject(GalleriaStyle);\n\n    _activeIndex = linkedSignal(() => this.activeIndexInput());\n\n    activeItem = computed(() => {\n        const val = this.value();\n        return val && val[this._activeIndex()];\n    });\n\n    activeItemId = computed(() => this.id() + '_item_' + this._activeIndex());\n\n    leftButtonFocused = false;\n\n    rightButtonFocused = false;\n\n    private get aria() {\n        return this.galleria.config.translation.aria;\n    }\n\n    constructor() {\n        super();\n\n        // Handle autoPlay changes\n        effect(() => {\n            const auto = this.autoPlay();\n            if (auto) {\n                this.startSlideShow.emit();\n            }\n        });\n    }\n\n    activeIndexInput = input<number>(0, { alias: 'activeIndex' });\n\n    getIndicatorPTOptions(index: number) {\n        return this.ptm('indicator', {\n            context: {\n                highlighted: this._activeIndex() === index\n            }\n        });\n    }\n\n    next() {\n        const val = this.value();\n        const currentIndex = this._activeIndex();\n        let nextItemIndex = currentIndex + 1;\n        let activeIndex = this.circular() && val!.length - 1 === currentIndex ? 0 : nextItemIndex;\n        this.onActiveIndexChange.emit(activeIndex);\n    }\n\n    prev() {\n        const val = this.value();\n        const currentIndex = this._activeIndex();\n        let prevItemIndex = currentIndex !== 0 ? currentIndex - 1 : 0;\n        let activeIndex = this.circular() && currentIndex === 0 ? val!.length - 1 : prevItemIndex;\n        this.onActiveIndexChange.emit(activeIndex);\n    }\n\n    onButtonFocus(pos: 'left' | 'right') {\n        if (pos === 'left') {\n            this.leftButtonFocused = true;\n        } else this.rightButtonFocused = true;\n    }\n\n    onButtonBlur(pos: 'left' | 'right') {\n        if (pos === 'left') {\n            this.leftButtonFocused = false;\n        } else this.rightButtonFocused = false;\n    }\n\n    stopTheSlideShow() {\n        if (this.slideShowActive()) {\n            this.stopSlideShow.emit();\n        }\n    }\n\n    navForward(e: MouseEvent) {\n        this.stopTheSlideShow();\n        this.next();\n\n        if (e && e.cancelable) {\n            e.stopPropagation();\n            e.preventDefault();\n        }\n    }\n\n    navBackward(e: MouseEvent) {\n        this.stopTheSlideShow();\n        this.prev();\n\n        if (e && e.cancelable) {\n            e.stopPropagation();\n            e.preventDefault();\n        }\n    }\n\n    onIndicatorClick(index: number) {\n        this.stopTheSlideShow();\n        this.onActiveIndexChange.emit(index);\n    }\n\n    onIndicatorMouseEnter(index: number) {\n        if (this.changeItemOnIndicatorHover()) {\n            this.stopTheSlideShow();\n            this.onActiveIndexChange.emit(index);\n        }\n    }\n\n    onIndicatorKeyDown(event: KeyboardEvent, index: number) {\n        switch (event.code) {\n            case 'Enter':\n            case 'Space':\n                this.stopTheSlideShow();\n                this.onActiveIndexChange.emit(index);\n                event.preventDefault();\n                break;\n\n            case 'ArrowDown':\n            case 'ArrowUp':\n                event.preventDefault();\n                break;\n\n            default:\n                break;\n        }\n    }\n\n    isNavForwardDisabled() {\n        const val = this.value();\n        return !this.circular() && this._activeIndex() === val!.length - 1;\n    }\n\n    isNavBackwardDisabled() {\n        return !this.circular() && this._activeIndex() === 0;\n    }\n\n    isIndicatorItemActive(index: number) {\n        return this._activeIndex() === index;\n    }\n\n    ariaSlideLabel() {\n        return this.aria?.slide;\n    }\n\n    ariaSlideNumber(value: any) {\n        return this.aria?.slideNumber?.replace(/{slideNumber}/g, value);\n    }\n\n    ariaPageLabel(value: any) {\n        return this.aria?.pageLabel?.replace(/{page}/g, value);\n    }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, inject, input, linkedSignal, output, viewChild } from '@angular/core';\nimport { addClass, find, findSingle, focus, getAttribute, removeClass, setAttribute } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { ChevronLeft as ChevronLeftIcon } from '@primeicons/angular/chevron-left';\nimport { ChevronRight as ChevronRightIcon } from '@primeicons/angular/chevron-right';\nimport { ChevronUp as ChevronUpIcon } from '@primeicons/angular/chevron-up';\nimport { Ripple } from 'primeng/ripple';\nimport { VoidListener } from 'primeng/ts-helpers';\nimport type { GalleriaPassThrough, GalleriaResponsiveOptions } from 'primeng/types/galleria';\nimport type { Galleria } from './galleria';\nimport { GalleriaItemSlot } from './galleria-item-slot';\nimport { GALLERIA_INSTANCE } from './galleria-token';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n@Component({\n    selector: 'div[pGalleriaThumbnails]',\n    standalone: true,\n    imports: [NgTemplateOutlet, BindModule, Ripple, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChevronDownIcon, GalleriaItemSlot],\n    template: `\n        <div [pBind]=\"ptm('thumbnailContent')\" [class]=\"cx('thumbnailContent')\">\n            @if (showThumbnailNavigators()) {\n                <button type=\"button\" [pBind]=\"ptm('thumbnailPrevButton')\" [class]=\"cx('thumbnailPrevButton')\" (click)=\"navBackward($event)\" pRipple [attr.aria-label]=\"ariaPrevButtonLabel()\" data-pc-group-section=\"thumbnailnavigator\">\n                    @if (!galleria.previousThumbnailIconTemplate()) {\n                        @if (!isVertical()) {\n                            <svg data-p-icon=\"chevron-left\" [pBind]=\"ptm('thumbnailPrevIcon')\" [class]=\"cx('thumbnailPrevIcon')\" />\n                        } @else {\n                            <svg data-p-icon=\"chevron-up\" [pBind]=\"ptm('thumbnailPrevIcon')\" [class]=\"cx('thumbnailPrevIcon')\" />\n                        }\n                    }\n                    <ng-template [ngTemplateOutlet]=\"galleria.previousThumbnailIconTemplate()\"></ng-template>\n                </button>\n            }\n            <div [pBind]=\"ptm('thumbnailsViewport')\" [class]=\"cx('thumbnailsViewport')\" [style.height]=\"viewportHeight()\">\n                <div #itemsContainer [pBind]=\"ptm('thumbnailItems')\" [class]=\"cx('thumbnailItems')\" (transitionend)=\"onTransitionEnd()\" (touchstart)=\"onTouchStart($event)\" (touchmove)=\"onTouchMove($event)\" role=\"tablist\">\n                    @for (item of value(); track $index) {\n                        <div\n                            [pBind]=\"ptm('thumbnailItem')\"\n                            [class]=\"cx('thumbnailItem', { index: $index, activeIndex: _activeIndex() })\"\n                            [attr.aria-selected]=\"isActiveItem($index)\"\n                            [attr.aria-controls]=\"getAriaControls($index)\"\n                            (keydown)=\"onThumbnailKeydown($event, $index)\"\n                            [attr.data-p-active]=\"isActiveItem($index)\"\n                        >\n                            <div\n                                [pBind]=\"ptm('thumbnail')\"\n                                [class]=\"cx('thumbnail')\"\n                                [attr.tabindex]=\"getItemTabIndex($index)\"\n                                [attr.aria-current]=\"getAriaCurrent($index)\"\n                                [attr.aria-label]=\"ariaPageLabel($index + 1)\"\n                                (click)=\"onItemClick($index)\"\n                                (touchend)=\"onItemClick($index)\"\n                                (keydown.enter)=\"onItemClick($index)\"\n                            >\n                                <div pGalleriaItemSlot type=\"thumbnail\" [pBind]=\"ptm('thumbnailItem')\" [item]=\"item\" [unstyled]=\"unstyled()\"></div>\n                            </div>\n                        </div>\n                    }\n                </div>\n            </div>\n            @if (showThumbnailNavigators()) {\n                <button type=\"button\" [pBind]=\"ptm('thumbnailNextButton')\" [class]=\"cx('thumbnailNextButton')\" (click)=\"navForward($event)\" pRipple [attr.aria-label]=\"ariaNextButtonLabel()\" data-pc-group-section=\"thumbnailnavigator\">\n                    @if (!galleria.nextThumbnailIconTemplate()) {\n                        @if (!isVertical()) {\n                            <svg data-p-icon=\"chevron-right\" [pBind]=\"ptm('thumbnailNextIcon')\" [class]=\"cx('thumbnailNextIcon')\" />\n                        } @else {\n                            <svg data-p-icon=\"chevron-down\" [pBind]=\"ptm('thumbnailNextIcon')\" [class]=\"cx('thumbnailNextIcon')\" />\n                        }\n                    }\n                    <ng-template [ngTemplateOutlet]=\"galleria.nextThumbnailIconTemplate()\"></ng-template>\n                </button>\n            }\n        </div>\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [GalleriaStyle],\n    host: {\n        '[class]': 'cx(\"thumbnails\")'\n    },\n    hostDirectives: [Bind]\n})\nexport class GalleriaThumbnails extends BaseComponent<GalleriaPassThrough> {\n    hostName: string = 'Galleria';\n\n    galleria = inject<Galleria>(GALLERIA_INSTANCE);\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptm('thumbnails'));\n    }\n\n    containerId = input<string>();\n\n    value = input<any[]>();\n\n    isVertical = input(false, { transform: booleanAttribute });\n\n    slideShowActive = input(false, { transform: booleanAttribute });\n\n    circular = input(false, { transform: booleanAttribute });\n\n    responsiveOptions = input<GalleriaResponsiveOptions[]>();\n\n    contentHeight = input('300px');\n\n    showThumbnailNavigators = input(true, { transform: booleanAttribute });\n\n    numVisibleInput = input<number>(0, { alias: 'numVisible' });\n\n    activeIndexInput = input<number>(0, { alias: 'activeIndex' });\n\n    onActiveIndexChange = output<number>();\n\n    stopSlideShow = output<void>();\n\n    itemsContainer = viewChild<ElementRef>('itemsContainer');\n\n    index: number | undefined;\n\n    startPos: { x: number; y: number } | null = null;\n\n    thumbnailsStyle: HTMLStyleElement | null = null;\n\n    sortedResponsiveOptions: GalleriaResponsiveOptions[] | null = null;\n\n    totalShiftedItems: number = 0;\n\n    page: number = 0;\n\n    documentResizeListener: VoidListener;\n\n    _numVisible = linkedSignal(() => this.numVisibleInput());\n\n    _oldNumVisible = 0;\n\n    d_numVisible = linkedSignal<number, number>({\n        source: () => this.numVisibleInput(),\n        computation: (source, previous) => {\n            if (previous) {\n                this._oldNumVisible = previous.value;\n            }\n            return source;\n        }\n    });\n\n    _oldactiveIndex = 0;\n\n    _activeIndex = linkedSignal<number, number>({\n        source: () => this.activeIndexInput(),\n        computation: (source, previous) => {\n            if (previous) {\n                this._oldactiveIndex = previous.value;\n            }\n            return source;\n        }\n    });\n\n    _componentStyle = inject(GalleriaStyle);\n\n    viewportHeight = computed(() => (this.isVertical() ? this.contentHeight() : ''));\n\n    private get aria() {\n        return this.galleria.config.translation.aria;\n    }\n\n    isActiveItem(index: number) {\n        return this._activeIndex() === index;\n    }\n\n    getItemTabIndex(index: number) {\n        return this.isActiveItem(index) ? 0 : -1;\n    }\n\n    getAriaCurrent(index: number) {\n        return this.isActiveItem(index) ? 'page' : undefined;\n    }\n\n    getAriaControls(index: number) {\n        return this.containerId() + '_item_' + index;\n    }\n\n    onInit() {\n        if (isPlatformBrowser(this.platformId)) {\n            this.createStyle();\n\n            if (this.responsiveOptions()) {\n                this.bindDocumentListeners();\n            }\n        }\n    }\n\n    onAfterContentChecked() {\n        let totalShiftedItems = this.totalShiftedItems;\n        const d_numVisible = this.d_numVisible();\n        const activeIndex = this._activeIndex();\n        const itemsContainer = this.itemsContainer();\n        const val = this.value();\n\n        if ((this._oldNumVisible !== d_numVisible || this._oldactiveIndex !== activeIndex) && itemsContainer) {\n            if (activeIndex <= this.getMedianItemIndex()) {\n                totalShiftedItems = 0;\n            } else if (val!.length - d_numVisible + this.getMedianItemIndex() < activeIndex) {\n                totalShiftedItems = d_numVisible - val!.length;\n            } else if (val!.length - d_numVisible < activeIndex && d_numVisible % 2 === 0) {\n                totalShiftedItems = activeIndex * -1 + this.getMedianItemIndex() + 1;\n            } else {\n                totalShiftedItems = activeIndex * -1 + this.getMedianItemIndex();\n            }\n\n            if (totalShiftedItems !== this.totalShiftedItems) {\n                this.totalShiftedItems = totalShiftedItems;\n            }\n\n            if (itemsContainer && itemsContainer.nativeElement) {\n                itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / d_numVisible)}%, 0, 0)`;\n            }\n\n            if (this._oldactiveIndex !== activeIndex) {\n                this.document.body.setAttribute('data-p-items-hidden', 'false');\n                !this.$unstyled() && removeClass(itemsContainer.nativeElement, 'p-items-hidden');\n                itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n            }\n\n            this._oldactiveIndex = activeIndex;\n            this._oldNumVisible = d_numVisible;\n        }\n    }\n\n    onAfterViewInit() {\n        if (isPlatformBrowser(this.platformId)) {\n            this.calculatePosition();\n        }\n    }\n\n    createStyle() {\n        if (!this.thumbnailsStyle) {\n            this.thumbnailsStyle = this.document.createElement('style');\n            setAttribute(this.thumbnailsStyle, 'nonce', this.galleria.config?.csp()?.nonce);\n            this.document.body.appendChild(this.thumbnailsStyle);\n        }\n\n        const d_numVisible = this.d_numVisible();\n        let innerHTML = `\n            #${this.containerId()} .p-galleria-thumbnail-item {\n                flex: 1 0 ${100 / d_numVisible}%\n            }\n        `;\n\n        const responsiveOptions = this.responsiveOptions();\n        if (responsiveOptions && !this.$unstyled()) {\n            this.sortedResponsiveOptions = [...responsiveOptions];\n            this.sortedResponsiveOptions.sort((data1, data2) => {\n                const value1 = data1.breakpoint;\n                const value2 = data2.breakpoint;\n                let result: number;\n\n                if (value1 == null && value2 != null) result = -1;\n                else if (value1 != null && value2 == null) result = 1;\n                else if (value1 == null && value2 == null) result = 0;\n                else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, { numeric: true });\n                else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n\n                return -1 * result;\n            });\n\n            for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n                let res = this.sortedResponsiveOptions[i];\n\n                innerHTML += `\n                    @media screen and (max-width: ${res.breakpoint}) {\n                        #${this.containerId()} .p-galleria-thumbnail-item {\n                            flex: 1 0 ${100 / res.numVisible}%\n                        }\n                    }\n                `;\n            }\n        }\n\n        this.thumbnailsStyle.innerHTML = innerHTML;\n        setAttribute(this.thumbnailsStyle, 'nonce', this.galleria.config?.csp()?.nonce);\n    }\n\n    calculatePosition() {\n        if (isPlatformBrowser(this.platformId)) {\n            const itemsContainer = this.itemsContainer();\n            if (itemsContainer && this.sortedResponsiveOptions) {\n                let windowWidth = window.innerWidth;\n                let matchedResponsiveData = {\n                    numVisible: this._numVisible()\n                };\n\n                for (let i = 0; i < this.sortedResponsiveOptions.length; i++) {\n                    let res = this.sortedResponsiveOptions[i];\n\n                    if (parseInt(res.breakpoint, 10) >= windowWidth) {\n                        matchedResponsiveData = res;\n                    }\n                }\n\n                if (this.d_numVisible() !== matchedResponsiveData.numVisible) {\n                    this.d_numVisible.set(matchedResponsiveData.numVisible);\n                }\n            }\n        }\n    }\n\n    getTabIndex(index: number) {\n        return this.isItemActive(index) ? 0 : null;\n    }\n\n    navForward(e: TouchEvent | MouseEvent) {\n        this.stopTheSlideShow();\n\n        const activeIndex = this._activeIndex();\n        const val = this.value();\n        let nextItemIndex = activeIndex + 1;\n        if (nextItemIndex + this.totalShiftedItems > this.getMedianItemIndex() && (-1 * this.totalShiftedItems < this.getTotalPageNumber() - 1 || this.circular())) {\n            this.step(-1);\n        }\n\n        let newActiveIndex = this.circular() && val!.length - 1 === activeIndex ? 0 : nextItemIndex;\n        this.onActiveIndexChange.emit(newActiveIndex);\n\n        if (e.cancelable) {\n            e.preventDefault();\n        }\n    }\n\n    navBackward(e: TouchEvent | MouseEvent) {\n        this.stopTheSlideShow();\n\n        const activeIndex = this._activeIndex();\n        const val = this.value();\n        let prevItemIndex = activeIndex !== 0 ? activeIndex - 1 : 0;\n        let diff = prevItemIndex + this.totalShiftedItems;\n        if (this.d_numVisible() - diff - 1 > this.getMedianItemIndex() && (-1 * this.totalShiftedItems !== 0 || this.circular())) {\n            this.step(1);\n        }\n\n        let newActiveIndex = this.circular() && activeIndex === 0 ? val!.length - 1 : prevItemIndex;\n        this.onActiveIndexChange.emit(newActiveIndex);\n\n        if (e.cancelable) {\n            e.preventDefault();\n        }\n    }\n\n    onItemClick(index: number) {\n        this.stopTheSlideShow();\n\n        const activeIndex = this._activeIndex();\n        let selectedItemIndex = index;\n        if (selectedItemIndex !== activeIndex) {\n            const diff = selectedItemIndex + this.totalShiftedItems;\n            let dir = 0;\n            if (selectedItemIndex < activeIndex) {\n                dir = this.d_numVisible() - diff - 1 - this.getMedianItemIndex();\n                if (dir > 0 && -1 * this.totalShiftedItems !== 0) {\n                    this.step(dir);\n                }\n            } else {\n                dir = this.getMedianItemIndex() - diff;\n                if (dir < 0 && -1 * this.totalShiftedItems < this.getTotalPageNumber() - 1) {\n                    this.step(dir);\n                }\n            }\n\n            this._activeIndex.set(selectedItemIndex);\n            this.onActiveIndexChange.emit(selectedItemIndex);\n        }\n    }\n\n    onThumbnailKeydown(event: KeyboardEvent, index: number) {\n        if (event.code === 'Enter' || event.code === 'Space') {\n            this.onItemClick(index);\n            event.preventDefault();\n        }\n\n        switch (event.code) {\n            case 'ArrowRight':\n                this.onRightKey();\n                break;\n\n            case 'ArrowLeft':\n                this.onLeftKey();\n                break;\n\n            case 'Home':\n                this.onHomeKey();\n                event.preventDefault();\n                break;\n\n            case 'End':\n                this.onEndKey();\n                event.preventDefault();\n                break;\n\n            case 'ArrowUp':\n            case 'ArrowDown':\n                event.preventDefault();\n                break;\n\n            case 'Tab':\n                this.onTabKey();\n                break;\n\n            default:\n                break;\n        }\n    }\n\n    onRightKey() {\n        const itemsContainer = this.itemsContainer();\n        const indicators = find(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"]');\n        const activeIndex = this.findFocusedIndicatorIndex();\n\n        this.changedFocusedIndicator(activeIndex, activeIndex + 1 === indicators.length ? indicators.length - 1 : activeIndex + 1);\n    }\n\n    onLeftKey() {\n        const activeIndex = this.findFocusedIndicatorIndex();\n\n        this.changedFocusedIndicator(activeIndex, activeIndex - 1 <= 0 ? 0 : activeIndex - 1);\n    }\n\n    onHomeKey() {\n        const activeIndex = this.findFocusedIndicatorIndex();\n\n        this.changedFocusedIndicator(activeIndex, 0);\n    }\n\n    onEndKey() {\n        const itemsContainer = this.itemsContainer();\n        const indicators = find(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"]');\n        const activeIndex = this.findFocusedIndicatorIndex();\n\n        this.changedFocusedIndicator(activeIndex, indicators.length - 1);\n    }\n\n    onTabKey() {\n        const itemsContainer = this.itemsContainer();\n        const indicators = <any>[...find(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n        const highlightedIndex = indicators.findIndex((ind: any) => getAttribute(ind, 'data-p-active') === true);\n\n        const activeIndicator = <any>findSingle(itemsContainer?.nativeElement, '[tabindex=\"0\"]');\n\n        const activeIndex = indicators.findIndex((ind: any) => ind === activeIndicator?.parentElement);\n\n        indicators[activeIndex].children[0].tabIndex = '-1';\n        indicators[highlightedIndex].children[0].tabIndex = '0';\n    }\n\n    findFocusedIndicatorIndex() {\n        const itemsContainer = this.itemsContainer();\n        const indicators = [...find(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"]')];\n        const activeIndicator = findSingle(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"] > [tabindex=\"0\"]');\n\n        return indicators.findIndex((ind) => ind === activeIndicator?.parentElement);\n    }\n\n    changedFocusedIndicator(prevInd: number, nextInd: number) {\n        const itemsContainer = this.itemsContainer();\n        const indicators = <any>find(itemsContainer?.nativeElement, '[data-pc-section=\"thumbnailitem\"]');\n\n        indicators[prevInd].children[0].tabIndex = '-1';\n        indicators[nextInd].children[0].tabIndex = '0';\n        indicators[nextInd].children[0].focus();\n    }\n\n    step(dir: number) {\n        const d_numVisible = this.d_numVisible();\n        const val = this.value();\n        const activeIndex = this._activeIndex();\n        let totalShiftedItems = this.totalShiftedItems + dir;\n\n        if (dir < 0 && -1 * totalShiftedItems + d_numVisible > val!.length - 1) {\n            totalShiftedItems = d_numVisible - val!.length;\n        } else if (dir > 0 && totalShiftedItems > 0) {\n            totalShiftedItems = 0;\n        }\n\n        if (this.circular()) {\n            if (dir < 0 && val!.length - 1 === activeIndex) {\n                totalShiftedItems = 0;\n            } else if (dir > 0 && activeIndex === 0) {\n                totalShiftedItems = d_numVisible - val!.length;\n            }\n        }\n\n        const itemsContainer = this.itemsContainer();\n        if (itemsContainer) {\n            this.document.body.setAttribute('data-p-items-hidden', 'false');\n            !this.$unstyled() && removeClass(itemsContainer.nativeElement, 'p-items-hidden');\n            itemsContainer.nativeElement.style.transform = this.isVertical() ? `translate3d(0, ${totalShiftedItems * (100 / d_numVisible)}%, 0)` : `translate3d(${totalShiftedItems * (100 / d_numVisible)}%, 0, 0)`;\n            itemsContainer.nativeElement.style.transition = 'transform 500ms ease 0s';\n        }\n\n        this.totalShiftedItems = totalShiftedItems;\n    }\n\n    stopTheSlideShow() {\n        if (this.slideShowActive()) {\n            this.stopSlideShow.emit();\n        }\n    }\n\n    changePageOnTouch(e: TouchEvent, diff: number) {\n        if (diff < 0) {\n            // left\n            this.navForward(e);\n        } else {\n            // right\n            this.navBackward(e);\n        }\n    }\n\n    getTotalPageNumber() {\n        const val = this.value();\n        const d_numVisible = this.d_numVisible();\n        return val!.length > d_numVisible ? val!.length - d_numVisible + 1 : 0;\n    }\n\n    getMedianItemIndex() {\n        const d_numVisible = this.d_numVisible();\n        let index = Math.floor(d_numVisible / 2);\n\n        return d_numVisible % 2 ? index : index - 1;\n    }\n\n    onTransitionEnd() {\n        const itemsContainer = this.itemsContainer();\n        if (itemsContainer && itemsContainer.nativeElement) {\n            this.document.body.setAttribute('data-p-items-hidden', 'true');\n            !this.$unstyled() && addClass(itemsContainer.nativeElement, 'p-items-hidden');\n            itemsContainer.nativeElement.style.transition = '';\n        }\n    }\n\n    onTouchEnd(e: TouchEvent) {\n        let touchobj = e.changedTouches[0];\n\n        if (this.isVertical()) {\n            this.changePageOnTouch(e, touchobj.pageY - (<{ x: number; y: number }>this.startPos).y);\n        } else {\n            this.changePageOnTouch(e, touchobj.pageX - (<{ x: number; y: number }>this.startPos).x);\n        }\n    }\n\n    onTouchMove(e: TouchEvent) {\n        if (e.cancelable) {\n            e.preventDefault();\n        }\n    }\n\n    onTouchStart(e: TouchEvent) {\n        let touchobj = e.changedTouches[0];\n\n        this.startPos = {\n            x: touchobj.pageX,\n            y: touchobj.pageY\n        };\n    }\n\n    isNavBackwardDisabled() {\n        const val = this.value();\n        const d_numVisible = this.d_numVisible();\n        return (!this.circular() && this._activeIndex() === 0) || val!.length <= d_numVisible;\n    }\n\n    isNavForwardDisabled() {\n        const val = this.value();\n        const d_numVisible = this.d_numVisible();\n        return (!this.circular() && this._activeIndex() === val!.length - 1) || val!.length <= d_numVisible;\n    }\n\n    firstItemAciveIndex() {\n        return this.totalShiftedItems * -1;\n    }\n\n    lastItemActiveIndex() {\n        return this.firstItemAciveIndex() + this.d_numVisible() - 1;\n    }\n\n    isItemActive(index: number) {\n        return this.firstItemAciveIndex() <= index && this.lastItemActiveIndex() >= index;\n    }\n\n    bindDocumentListeners() {\n        if (isPlatformBrowser(this.platformId)) {\n            const window = this.document.defaultView || 'window';\n            this.documentResizeListener = this.renderer.listen(window, 'resize', () => {\n                this.calculatePosition();\n            });\n        }\n    }\n\n    unbindDocumentListeners() {\n        if (this.documentResizeListener) {\n            this.documentResizeListener();\n            this.documentResizeListener = null;\n        }\n    }\n\n    onDestroy() {\n        if (this.responsiveOptions()) {\n            this.unbindDocumentListeners();\n        }\n\n        if (this.thumbnailsStyle) {\n            this.thumbnailsStyle.parentNode?.removeChild(this.thumbnailsStyle);\n        }\n    }\n\n    ariaPrevButtonLabel() {\n        return this.aria?.prevPageLabel;\n    }\n\n    ariaNextButtonLabel() {\n        return this.aria?.nextPageLabel;\n    }\n\n    ariaPageLabel(value: any) {\n        return this.aria?.pageLabel?.replace(/{page}/g, value);\n    }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, ElementRef, HostListener, inject, input, linkedSignal, model, numberAttribute, output, viewChild } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport type { GalleriaPassThrough } from 'primeng/types/galleria';\nimport type { Galleria } from './galleria';\nimport { GalleriaItem } from './galleria-item';\nimport { GalleriaItemSlot } from './galleria-item-slot';\nimport { GALLERIA_INSTANCE } from './galleria-token';\nimport { GalleriaThumbnails } from './galleria-thumbnails';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n@Component({\n    selector: 'div[pGalleriaContent]',\n    standalone: true,\n    imports: [NgTemplateOutlet, BindModule, TimesIcon, GalleriaItemSlot, GalleriaItem, GalleriaThumbnails],\n    template: `\n        @if (hasValue()) {\n            @if (galleria.fullScreen()) {\n                <button type=\"button\" [pBind]=\"getPTOptions('closeButton')\" [class]=\"cx('closeButton')\" (click)=\"maskHide.emit(true)\" [attr.aria-label]=\"closeAriaLabel()\">\n                    @if (!galleria.closeIconTemplate()) {\n                        <svg data-p-icon=\"times\" [pBind]=\"getPTOptions('closeIcon')\" [class]=\"cx('closeIcon')\" />\n                    }\n                    <ng-template [ngTemplateOutlet]=\"galleria.closeIconTemplate()\"></ng-template>\n                </button>\n            }\n            @if (shouldRenderHeader()) {\n                <div pGalleriaItemSlot [unstyled]=\"unstyled()\" type=\"header\" [pBind]=\"getPTOptions('header')\" [class]=\"cx('header')\"></div>\n            }\n            <div [pBind]=\"getPTOptions('content')\" [class]=\"cx('content')\" [attr.aria-live]=\"contentAriaLive()\">\n                <div\n                    pGalleriaItem\n                    [id]=\"id()\"\n                    [value]=\"value()\"\n                    [activeIndex]=\"_activeIndex()\"\n                    [circular]=\"galleria.circular()\"\n                    (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n                    [showIndicators]=\"galleria.showIndicators()\"\n                    [changeItemOnIndicatorHover]=\"galleria.changeItemOnIndicatorHover()\"\n                    [showItemNavigators]=\"galleria.showItemNavigators()\"\n                    [autoPlay]=\"galleria.autoPlay()\"\n                    [slideShowActive]=\"slideShowActive\"\n                    (startSlideShow)=\"startSlideShow()\"\n                    (stopSlideShow)=\"stopSlideShow()\"\n                    [pt]=\"pt()\"\n                    [unstyled]=\"unstyled()\"\n                    [class]=\"cx('itemsContainer')\"\n                ></div>\n\n                @if (galleria.showThumbnails()) {\n                    <div\n                        pGalleriaThumbnails\n                        [containerId]=\"id()\"\n                        [value]=\"value()\"\n                        (onActiveIndexChange)=\"onActiveIndexChange($event)\"\n                        [activeIndex]=\"_activeIndex()\"\n                        [numVisible]=\"numVisible()\"\n                        [responsiveOptions]=\"galleria.responsiveOptions()\"\n                        [circular]=\"galleria.circular()\"\n                        [isVertical]=\"isVertical()\"\n                        [contentHeight]=\"galleria.verticalThumbnailViewPortHeight()\"\n                        [showThumbnailNavigators]=\"galleria.showThumbnailNavigators()\"\n                        [slideShowActive]=\"slideShowActive\"\n                        (stopSlideShow)=\"stopSlideShow()\"\n                        [pt]=\"pt()\"\n                        [unstyled]=\"unstyled()\"\n                    ></div>\n                }\n            </div>\n            @if (shouldRenderFooter()) {\n                <div pGalleriaItemSlot [pBind]=\"getPTOptions('footer')\" [class]=\"cx('footer')\" type=\"footer\" [unstyled]=\"unstyled()\"></div>\n            }\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    providers: [GalleriaStyle],\n    host: {\n        '[attr.id]': 'id()',\n        '[attr.role]': '\"region\"',\n        '[style]': 'hostStyle()',\n        '[class]': \"cx('root')\"\n    },\n    hostDirectives: [Bind]\n})\nexport class GalleriaContent extends BaseComponent<GalleriaPassThrough> {\n    hostName: string = 'Galleria';\n\n    galleria = inject<Galleria>(GALLERIA_INSTANCE);\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.getPTOptions('root'));\n    }\n\n    value = input<any[]>([]);\n\n    numVisible = input<number>();\n\n    fullScreen = model(false);\n\n    activeIndexInput = input<number>(0, { alias: 'activeIndex' });\n\n    maskHide = output<boolean>();\n\n    activeItemChange = output<number>();\n\n    closeButton = viewChild<ElementRef>('closeButton');\n\n    _componentStyle = inject(GalleriaStyle);\n\n    $pcGalleria: Galleria | undefined = inject(GALLERIA_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    private _generatedId = uuid('pn_id_');\n\n    id = computed(() => this.galleria.id() || this._generatedId);\n\n    _activeIndex = linkedSignal(() => this.activeIndexInput());\n\n    slideShowActive = true;\n\n    interval: any;\n\n    hostStyle = computed(() => (!this.galleria.fullScreen() ? this.galleria.containerStyle() : {}));\n\n    contentAriaLive = computed(() => (this.galleria.autoPlay() ? 'polite' : 'off'));\n\n    isVertical = computed(() => this.galleria.thumbnailsPosition() === 'left' || this.galleria.thumbnailsPosition() === 'right');\n\n    hasValue = computed(() => {\n        const val = this.value();\n        return val && val.length > 0;\n    });\n\n    // For custom fullscreen\n    @HostListener('document:fullscreenchange')\n    handleFullscreenChange() {\n        if (document?.fullscreenElement === this.el.nativeElement?.children[0]) {\n            this.fullScreen.set(true);\n        } else {\n            this.fullScreen.set(false);\n        }\n    }\n\n    shouldRenderHeader() {\n        return !!this.galleria.headerTemplate();\n    }\n\n    shouldRenderFooter() {\n        return !!this.galleria.footerTemplate();\n    }\n\n    startSlideShow() {\n        if (isPlatformBrowser(this.galleria.platformId)) {\n            if (this.interval) {\n                clearInterval(this.interval);\n            }\n            this.interval = setInterval(() => {\n                let activeIndex = this.galleria.circular() && this.value()!.length - 1 === this._activeIndex() ? 0 : this._activeIndex() + 1;\n                this.onActiveIndexChange(activeIndex);\n                this._activeIndex.set(activeIndex);\n            }, this.galleria.transitionInterval());\n\n            this.slideShowActive = true;\n        }\n    }\n\n    stopSlideShow() {\n        if (this.galleria.autoPlay() && !this.galleria.shouldStopAutoplayByClick()) {\n            return;\n        }\n\n        if (this.interval) {\n            clearInterval(this.interval);\n        }\n\n        this.slideShowActive = false;\n    }\n\n    getPositionClass(preClassName: string, position: string) {\n        const positions = ['top', 'left', 'bottom', 'right'];\n        const pos = positions.find((item) => item === position);\n\n        return pos ? `${preClassName}-${pos}` : '';\n    }\n\n    onActiveIndexChange(index: number) {\n        if (this._activeIndex() !== index) {\n            this._activeIndex.set(index);\n            this.activeItemChange.emit(this._activeIndex());\n        }\n    }\n\n    closeAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n    }\n\n    onDestroy() {\n        if (this.interval) {\n            clearInterval(this.interval);\n            this.interval = null;\n        }\n    }\n\n    getPTOptions(key: string) {\n        return this.ptm(key, {\n            context: {\n                pt: this.pt(),\n                unstyled: this.unstyled()\n            }\n        });\n    }\n}\n","import {\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    computed,\n    contentChild,\n    effect,\n    ElementRef,\n    inject,\n    input,\n    linkedSignal,\n    model,\n    NgModule,\n    numberAttribute,\n    output,\n    signal,\n    TemplateRef,\n    viewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { findSingle, focus, removeClass } from '@primeuix/utils';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { blockBodyScroll, unblockBodyScroll } from 'primeng/dom';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { MotionModule } from 'primeng/motion';\nimport type { CSSProperties } from 'primeng/types/shared';\nimport type { GalleriaCaptionTemplateContext, GalleriaIndicatorTemplateContext, GalleriaItemTemplateContext, GalleriaPassThrough, GalleriaPosition, GalleriaResponsiveOptions, GalleriaThumbnailTemplateContext } from 'primeng/types/galleria';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { GalleriaContent } from './galleria-content';\nimport { GALLERIA_INSTANCE } from './galleria-token';\nimport { GalleriaStyle } from './style/galleriastyle';\n\n/**\n * Galleria is an advanced content gallery component.\n * @group Components\n * @deprecated Use Gallery component instead.\n */\n@Component({\n    selector: 'p-galleria',\n    standalone: true,\n    imports: [GalleriaContent, BindModule, MotionModule, FocusTrap],\n    template: `\n        @if (fullScreen()) {\n            <div #container>\n                @if (renderMask()) {\n                    <div\n                        [pBind]=\"ptm('mask')\"\n                        [pMotion]=\"maskVisible\"\n                        [pMotionAppear]=\"true\"\n                        [pMotionEnterActiveClass]=\"maskEnterActiveClass()\"\n                        [pMotionLeaveActiveClass]=\"maskLeaveActiveClass()\"\n                        [pMotionOptions]=\"computedMaskMotionOptions()\"\n                        (pMotionOnAfterLeave)=\"onMaskAfterLeave()\"\n                        [class]=\"cn(cx('mask'), maskClass())\"\n                        [attr.role]=\"maskRole()\"\n                        [attr.aria-modal]=\"maskAriaModal()\"\n                        (click)=\"onMaskHide($event)\"\n                    >\n                        @if (renderContent()) {\n                            <div\n                                pGalleriaContent\n                                [pMotion]=\"visible()\"\n                                [pMotionAppear]=\"true\"\n                                [pMotionName]=\"'p-galleria'\"\n                                [pMotionOptions]=\"computedMotionOptions()\"\n                                (pMotionOnBeforeEnter)=\"onBeforeEnter($event)\"\n                                (pMotionOnBeforeLeave)=\"onBeforeLeave()\"\n                                (pMotionOnAfterLeave)=\"onAfterLeave()\"\n                                [value]=\"value()\"\n                                [activeIndex]=\"_activeIndex()\"\n                                [numVisible]=\"d_numVisible()\"\n                                (maskHide)=\"onMaskHide()\"\n                                (activeItemChange)=\"onActiveItemChange($event)\"\n                                [style]=\"containerStyle()\"\n                                [fullScreen]=\"fullScreen()\"\n                                [pt]=\"pt()\"\n                                pFocusTrap\n                                [pFocusTrapDisabled]=\"!fullScreen()\"\n                                [unstyled]=\"unstyled()\"\n                            ></div>\n                        }\n                    </div>\n                }\n            </div>\n        } @else {\n            <div pGalleriaContent [pt]=\"pt()\" [unstyled]=\"unstyled()\" [value]=\"value()\" [activeIndex]=\"_activeIndex()\" [numVisible]=\"d_numVisible()\" (activeItemChange)=\"onActiveItemChange($event)\"></div>\n        }\n    `,\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [GalleriaStyle, { provide: GALLERIA_INSTANCE, useExisting: Galleria }, { provide: PARENT_INSTANCE, useExisting: Galleria }],\n    hostDirectives: [Bind]\n})\nexport class Galleria extends BaseComponent<GalleriaPassThrough> {\n    componentName = 'Galleria';\n\n    bindDirectiveInstance = inject(Bind, { self: true });\n\n    $pcGalleria: Galleria | undefined = inject(GALLERIA_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n    onAfterViewChecked() {\n        this.bindDirectiveInstance.setAttrs(this.ptm('host'));\n    }\n\n    /**\n     * Index of the first item.\n     * @group Props\n     */\n    activeIndex = input(0, { transform: numberAttribute });\n\n    /**\n     * Whether to display the component on fullscreen.\n     * @group Props\n     */\n    fullScreen = input(false, { transform: booleanAttribute });\n\n    /**\n     * Unique identifier of the element.\n     * @group Props\n     */\n    id = input<string>();\n\n    /**\n     * An array of objects to display.\n     * @group Props\n     */\n    value = input<any[]>();\n\n    /**\n     * Number of items per page.\n     * @group Props\n     */\n    numVisible = input(3, { transform: numberAttribute });\n\n    /**\n     * An array of options for responsive design.\n     * @see {GalleriaResponsiveOptions}\n     * @group Props\n     */\n    responsiveOptions = input<GalleriaResponsiveOptions[]>();\n\n    /**\n     * Whether to display navigation buttons in item section.\n     * @group Props\n     */\n    showItemNavigators = input(false, { transform: booleanAttribute });\n\n    /**\n     * Whether to display navigation buttons in thumbnail container.\n     * @group Props\n     */\n    showThumbnailNavigators = input(true, { transform: booleanAttribute });\n\n    /**\n     * Whether to display navigation buttons on item hover.\n     * @group Props\n     */\n    showItemNavigatorsOnHover = input(false, { transform: booleanAttribute });\n\n    /**\n     * When enabled, item is changed on indicator hover.\n     * @group Props\n     */\n    changeItemOnIndicatorHover = input(false, { transform: booleanAttribute });\n\n    /**\n     * Defines if scrolling would be infinite.\n     * @group Props\n     */\n    circular = input(false, { transform: booleanAttribute });\n\n    /**\n     * Items are displayed with a slideshow in autoPlay mode.\n     * @group Props\n     */\n    autoPlay = input(false, { transform: booleanAttribute });\n\n    /**\n     * When enabled, autorun should stop by click.\n     * @group Props\n     */\n    shouldStopAutoplayByClick = input(true, { transform: booleanAttribute });\n\n    /**\n     * Time in milliseconds to scroll items.\n     * @group Props\n     */\n    transitionInterval = input(4000, { transform: numberAttribute });\n\n    /**\n     * Whether to display thumbnail container.\n     * @group Props\n     */\n    showThumbnails = input(true, { transform: booleanAttribute });\n\n    /**\n     * Position of thumbnails.\n     * @group Props\n     */\n    thumbnailsPosition = input<GalleriaPosition>('bottom');\n\n    /**\n     * Height of the viewport in vertical thumbnail.\n     * @group Props\n     */\n    verticalThumbnailViewPortHeight = input('300px');\n\n    /**\n     * Whether to display indicator container.\n     * @group Props\n     */\n    showIndicators = input(false, { transform: booleanAttribute });\n\n    /**\n     * When enabled, indicator container is displayed on item container.\n     * @group Props\n     */\n    showIndicatorsOnItem = input(false, { transform: booleanAttribute });\n\n    /**\n     * Position of indicators.\n     * @group Props\n     */\n    indicatorsPosition = input<GalleriaPosition>('bottom');\n\n    /**\n     * Base zIndex value to use in layering.\n     * @group Props\n     */\n    baseZIndex = input(0, { transform: numberAttribute });\n\n    /**\n     * Style class of the mask on fullscreen mode.\n     * @group Props\n     */\n    maskClass = input<string>();\n\n    /**\n     * Style class of the component on fullscreen mode. Otherwise, the 'class' property can be used.\n     * @group Props\n     */\n    containerClass = input<string>();\n\n    /**\n     * Inline style of the component on fullscreen mode. Otherwise, the 'style' property can be used.\n     * @group Props\n     */\n    containerStyle = input<CSSProperties>();\n\n    /**\n     * The motion options.\n     * @group Props\n     */\n    motionOptions = input<MotionOptions>();\n\n    computedMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('motion'),\n            ...this.motionOptions()\n        };\n    });\n\n    /**\n     * The mask motion options.\n     * @group Props\n     */\n    maskMotionOptions = input<MotionOptions>();\n\n    computedMaskMotionOptions = computed<MotionOptions>(() => {\n        return {\n            ...this.ptm('maskMotion'),\n            ...this.maskMotionOptions()\n        };\n    });\n\n    maskEnterActiveClass = computed(() => (this.fullScreen() ? 'p-overlay-mask-enter-active' : ''));\n\n    maskLeaveActiveClass = computed(() => (this.fullScreen() ? 'p-overlay-mask-leave-active' : ''));\n\n    maskRole = computed(() => (this.fullScreen() ? 'dialog' : 'region'));\n\n    maskAriaModal = computed(() => (this.fullScreen() ? 'true' : undefined));\n\n    /**\n     * Specifies the visibility of the mask on fullscreen mode.\n     * @group Props\n     */\n    visible = model(false);\n\n    renderMask = signal<boolean>(false);\n\n    renderContent = signal<boolean>(false);\n\n    /**\n     * Callback to invoke on active index change.\n     * @param {number} number - Active index.\n     * @group Emits\n     */\n    activeIndexChange = output<number>();\n\n    container = viewChild<ElementRef>('container');\n\n    _activeIndex = linkedSignal(() => this.activeIndex());\n\n    /**\n     * Custom header template.\n     * @group Templates\n     */\n    headerTemplate = contentChild<TemplateRef<void>>('header', { descendants: false });\n\n    /**\n     * Custom footer template.\n     * @group Templates\n     */\n    footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n    /**\n     * Custom indicator template.\n     * @group Templates\n     */\n    indicatorTemplate = contentChild<TemplateRef<GalleriaIndicatorTemplateContext>>('indicator', { descendants: false });\n\n    /**\n     * Custom caption template.\n     * @group Templates\n     */\n    captionTemplate = contentChild<TemplateRef<GalleriaCaptionTemplateContext>>('caption', { descendants: false });\n\n    /**\n     * Custom close icon template.\n     * @group Templates\n     */\n    closeIconTemplate = contentChild<TemplateRef<void>>('closeicon', { descendants: false });\n\n    /**\n     * Custom previous thumbnail icon template.\n     * @group Templates\n     */\n    previousThumbnailIconTemplate = contentChild<TemplateRef<void>>('previousthumbnailicon', { descendants: false });\n\n    /**\n     * Custom next thumbnail icon template.\n     * @group Templates\n     */\n    nextThumbnailIconTemplate = contentChild<TemplateRef<void>>('nextthumbnailicon', { descendants: false });\n\n    /**\n     * Custom item previous icon template.\n     * @group Templates\n     */\n    itemPreviousIconTemplate = contentChild<TemplateRef<void>>('itempreviousicon', { descendants: false });\n\n    /**\n     * Custom item next icon template.\n     * @group Templates\n     */\n    itemNextIconTemplate = contentChild<TemplateRef<void>>('itemnexticon', { descendants: false });\n\n    /**\n     * Custom item template.\n     * @group Templates\n     */\n    itemTemplate = contentChild<TemplateRef<GalleriaItemTemplateContext>>('item', { descendants: false });\n\n    /**\n     * Custom thumbnail template.\n     * @group Templates\n     */\n    thumbnailTemplate = contentChild<TemplateRef<GalleriaThumbnailTemplateContext>>('thumbnail', { descendants: false });\n\n    maskVisible = false;\n\n    numVisibleLimit = signal(0);\n\n    d_numVisible = computed(() => this.numVisibleLimit() || this.numVisible());\n\n    _componentStyle = inject(GalleriaStyle);\n\n    mask: HTMLElement | undefined;\n\n    element = inject(ElementRef);\n\n    constructor() {\n        super();\n\n        // Effect for visible changes\n        effect(() => {\n            const isVisible = this.visible();\n            if (isVisible && !this.maskVisible) {\n                this.maskVisible = true;\n                this.renderMask.set(true);\n                this.renderContent.set(true);\n            } else if (!isVisible && this.maskVisible) {\n                this.maskVisible = false;\n            }\n        });\n\n        // Effect for value changes\n        effect(() => {\n            const val = this.value();\n            if (val && val.length < this.numVisible()) {\n                this.numVisibleLimit.set(val.length);\n            } else {\n                this.numVisibleLimit.set(0);\n            }\n        });\n    }\n\n    onMaskHide(event?: MouseEvent) {\n        if (!event || event.target === event.currentTarget) {\n            this.visible.set(false);\n        }\n    }\n\n    onActiveItemChange(index: number) {\n        if (this._activeIndex() !== index) {\n            this._activeIndex.set(index);\n            this.activeIndexChange.emit(index);\n        }\n    }\n\n    onBeforeEnter(event: MotionEvent) {\n        this.mask = <HTMLElement>event.element?.parentElement;\n        this.enableModality();\n        setTimeout(() => {\n            const focusTarget = findSingle(this.container()?.nativeElement, '[data-pc-section=\"closebutton\"]');\n            if (focusTarget) focus(focusTarget as HTMLElement);\n        }, 25);\n    }\n\n    onBeforeLeave() {\n        if (this.mask) {\n            this.maskVisible = false;\n        }\n    }\n\n    onAfterLeave() {\n        this.disableModality();\n        this.renderContent.set(false);\n    }\n\n    onMaskAfterLeave() {\n        if (!this.renderContent()) {\n            this.renderMask.set(false);\n        }\n    }\n\n    enableModality() {\n        //@ts-ignore\n        blockBodyScroll();\n        if (this.mask) {\n            ZIndexUtils.set('modal', this.mask, this.baseZIndex() || this.config.zIndex.modal);\n        }\n    }\n\n    disableModality() {\n        //@ts-ignore\n        unblockBodyScroll();\n        if (this.mask) {\n            ZIndexUtils.clear(this.mask);\n        }\n    }\n\n    onDestroy() {\n        if (this.fullScreen()) {\n            removeClass(this.document.body, 'p-overflow-hidden');\n        }\n\n        if (this.mask) {\n            this.disableModality();\n        }\n    }\n}\n\n@NgModule({\n    imports: [Galleria, SharedModule],\n    exports: [Galleria, SharedModule]\n})\nexport class GalleriaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ChevronDownIcon","TimesIcon"],"mappings":"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"}