{"version":3,"file":"primeng-image.mjs","sources":["../../src/image/style/imagestyle.ts","../../src/image/image.ts","../../src/image/primeng-image.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseStyle } from 'primeng/base';\n\nconst theme = ({ dt }) => `\n.p-image-mask {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n\n.p-image-preview {\n    position: relative;\n    display: inline-flex;\n    line-height: 0;\n}\n\n.p-image-preview-mask {\n    position: absolute;\n    inset-inline-start: 0;\n    inset-block-start: 0;\n    width: 100%;\n    height: 100%;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    opacity: 0;\n    transition: opacity 0.3s;\n    border: 0 none;\n    padding: 0;\n    cursor: pointer;\n    background: transparent;\n    color: ${dt('image.preview.mask.color')};\n    transition: background ${dt('image.transition.duration')};\n}\n\n.p-image-preview:hover > .p-image-preview-mask {\n    opacity: 1;\n    cursor: pointer;\n    background: ${dt('image.preview.mask.background')};\n}\n\n.p-image-preview-icon {\n    font-size: ${dt('image.preview.icon.size')};\n    width: ${dt('image.preview.icon.size')};\n    height: ${dt('image.preview.icon.size')};\n}\n\n.p-image-toolbar {\n    position: absolute;\n    inset-block-start: ${dt('image.toolbar.position.top')};\n    inset-inline-end: ${dt('image.toolbar.position.right')};\n    inset-inline-start: ${dt('image.toolbar.position.left')};\n    inset-block-end: ${dt('image.toolbar.position.bottom')};\n    display: flex;\n    z-index: 1;\n    padding: ${dt('image.toolbar.padding')};\n    background: ${dt('image.toolbar.background')};\n    backdrop-filter: blur(${dt('image.toolbar.blur')});\n    border-color: ${dt('image.toolbar.border.color')};\n    border-style: solid;\n    border-width: ${dt('image.toolbar.border.width')};\n    border-radius: ${dt('image.toolbar.border.radius')};\n    gap: ${dt('image.toolbar.gap')};\n}\n\n.p-image-action {\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    color: ${dt('image.action.color')};\n    background: transparent;\n    width: ${dt('image.action.size')};\n    height: ${dt('image.action.size')};\n    margin: 0;\n    padding: 0;\n    border: 0 none;\n    cursor: pointer;\n    user-select: none;\n    border-radius: ${dt('image.action.border.radius')};\n    outline-color: transparent;\n    transition: background ${dt('image.transition.duration')}, color ${dt('image.transition.duration')}, outline-color ${dt('image.transition.duration')}, box-shadow ${dt('image.transition.duration')};\n}\n\n.p-image-action:hover {\n    color: ${dt('image.action.hover.color')};\n    background: ${dt('image.action.hover.background')};\n}\n\n.p-image-action:focus-visible {\n    box-shadow: ${dt('toolbar.action.focus.ring.shadow')};\n    outline: ${dt('toolbar.action.focus.ring.width')} ${dt('toolbar.action.focus.ring.style')} ${dt('toolbar.action.focus.ring.color')};\n    outline-offset: ${dt('toolbar.action.focus.ring.offset')};\n}\n\n.p-image-action .p-icon {\n    font-size: ${dt('image.action.icon.size')};\n    width: ${dt('image.action.icon.size')};\n    height: ${dt('image.action.icon.size')};\n}\n\n.p-image-action.p-disabled {\n    pointer-events: auto;\n}\n\n.p-image-original {\n    transition: transform 0.15s;\n    max-width: 100vw;\n    max-height: 100vh;\n}\n\n.p-image-original-enter-active {\n    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n}\n\n.p-image-original-leave-active {\n    transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.p-image-original-enter-from,\n.p-image-original-leave-to {\n    opacity: 0;\n    transform: scale(0.7);\n}\n`;\n\nconst classes = {\n    root: ({ props }) => [\n        'p-image p-component',\n        {\n            'p-image-preview': props.preview\n        }\n    ],\n    previewMask: 'p-image-preview-mask',\n    previewIcon: 'p-image-preview-icon',\n    mask: 'p-image-mask p-overlay-mask p-overlay-mask-enter',\n    toolbar: 'p-image-toolbar',\n    rotateRightButton: 'p-image-action p-image-rotate-right-button',\n    rotateLeftButton: 'p-image-action p-image-rotate-left-button',\n    zoomOutButton: ({ instance }) => [\n        'p-image-action p-image-zoom-out-button',\n        {\n            'p-disabled': instance.isZoomOutDisabled\n        }\n    ],\n    zoomInButton: ({ instance }) => [\n        'p-image-action p-image-zoom-in-button',\n        {\n            'p-disabled': instance.isZoomInDisabled\n        }\n    ],\n    closeButton: 'p-image-action p-image-close-button',\n    original: 'p-image-original'\n};\n\n@Injectable()\nexport class ImageStyle extends BaseStyle {\n    name = 'image';\n\n    theme = theme;\n\n    classes = classes;\n}\n\n/**\n *\n * Displays an image with preview and tranformation options. For multiple image, see Galleria.\n *\n * [Live Demo](https://www.primeng.org/image/)\n *\n * @module imagestyle\n *\n */\nexport enum ImageClasses {\n    /**\n     * Class name of the root element\n     */\n    root = 'p-image',\n    /**\n     * Class name of the preview mask element\n     */\n    previewMask = 'p-image-preview-mask',\n    /**\n     * Class name of the preview icon element\n     */\n    previewIcon = 'p-image-preview-icon',\n    /**\n     * Class name of the mask element\n     */\n    mask = 'p-image-mask',\n    /**\n     * Class name of the toolbar element\n     */\n    toolbar = 'p-image-toolbar',\n    /**\n     * Class name of the rotate right button element\n     */\n    rotateRightButton = 'p-image-rotate-right-button',\n    /**\n     * Class name of the rotate left button element\n     */\n    rotateLeftButton = 'p-image-rotate-left-button',\n    /**\n     * Class name of the zoom out button element\n     */\n    zoomOutButton = 'p-image-zoom-out-button',\n    /**\n     * Class name of the zoom in button element\n     */\n    zoomInButton = 'p-image-zoom-in-button',\n    /**\n     * Class name of the close button element\n     */\n    closeButton = 'p-image-close-button',\n    /**\n     * Class name of the original element\n     */\n    original = 'p-image-original'\n}\n\nexport interface ImageStyle extends BaseStyle {}\n","import { animate, AnimationEvent, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport {\n    AfterContentInit,\n    booleanAttribute,\n    ChangeDetectionStrategy,\n    Component,\n    ContentChild,\n    ContentChildren,\n    ElementRef,\n    EventEmitter,\n    HostListener,\n    inject,\n    Input,\n    NgModule,\n    Output,\n    QueryList,\n    TemplateRef,\n    ViewChild,\n    ViewEncapsulation\n} from '@angular/core';\nimport { SafeUrl } from '@angular/platform-browser';\nimport { addClass, appendChild, blockBodyScroll, focus, unblockBodyScroll } from '@primeuix/utils';\nimport { PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { FocusTrap } from 'primeng/focustrap';\nimport { EyeIcon, RefreshIcon, SearchMinusIcon, SearchPlusIcon, TimesIcon, UndoIcon } from 'primeng/icons';\nimport { Nullable } from 'primeng/ts-helpers';\nimport { ZIndexUtils } from 'primeng/utils';\nimport { ImageStyle } from './style/imagestyle';\n\n/**\n * Displays an image with preview and tranformation options. For multiple image, see Galleria.\n * @group Components\n */\n@Component({\n    selector: 'p-image',\n    standalone: true,\n    imports: [CommonModule, RefreshIcon, EyeIcon, UndoIcon, SearchMinusIcon, SearchPlusIcon, TimesIcon, FocusTrap, SharedModule],\n    template: `\n        <span [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"style\">\n            <ng-container *ngIf=\"!imageTemplate && !_imageTemplate\">\n                <img [attr.src]=\"src\" [attr.srcset]=\"srcSet\" [attr.sizes]=\"sizes\" [attr.alt]=\"alt\" [attr.width]=\"width\" [attr.height]=\"height\" [attr.loading]=\"loading\" [ngStyle]=\"imageStyle\" [class]=\"imageClass\" (error)=\"imageError($event)\" />\n            </ng-container>\n\n            <ng-container *ngTemplateOutlet=\"imageTemplate || _imageTemplate; context: { errorCallback: imageError.bind(this) }\"></ng-container>\n\n            <button *ngIf=\"preview\" [attr.aria-label]=\"zoomImageAriaLabel\" type=\"button\" class=\"p-image-preview-mask\" (click)=\"onImageClick()\" #previewButton [ngStyle]=\"{ height: height + 'px', width: width + 'px' }\">\n                <ng-container *ngIf=\"indicatorTemplate || !_indicatorTemplate; else defaultTemplate\">\n                    <ng-container *ngTemplateOutlet=\"indicatorTemplate || _indicatorTemplate\"></ng-container>\n                </ng-container>\n                <ng-template #defaultTemplate>\n                    <EyeIcon [styleClass]=\"'p-image-preview-icon'\" />\n                </ng-template>\n            </button>\n            <div #mask class=\"p-image-mask p-overlay-mask p-overlay-mask-enter\" *ngIf=\"maskVisible\" [attr.aria-modal]=\"maskVisible\" role=\"dialog\" (click)=\"onMaskClick()\" (keydown)=\"onMaskKeydown($event)\" pFocusTrap>\n                <div class=\"p-image-toolbar\" (click)=\"handleToolbarClick($event)\">\n                    <button class=\"p-image-action p-image-rotate-right-button\" (click)=\"rotateRight()\" type=\"button\" [attr.aria-label]=\"rightAriaLabel()\">\n                        <RefreshIcon *ngIf=\"!rotateRightIconTemplate && !_rotateRightIconTemplate\" />\n                        <ng-template *ngTemplateOutlet=\"rotateRightIconTemplate || _rotateRightIconTemplate\"></ng-template>\n                    </button>\n                    <button class=\"p-image-action p-image-rotate-left-button\" (click)=\"rotateLeft()\" type=\"button\" [attr.aria-label]=\"leftAriaLabel()\">\n                        <UndoIcon *ngIf=\"!rotateLeftIconTemplate && !_rotateLeftIconTemplate\" />\n                        <ng-template *ngTemplateOutlet=\"rotateLeftIconTemplate || _rotateLeftIconTemplate\"></ng-template>\n                    </button>\n                    <button [ngClass]=\"{ 'p-image-action p-image-zoom-out-button': true, 'p-disabled': isZoomOutDisabled }\" (click)=\"zoomOut()\" type=\"button\" [disabled]=\"isZoomOutDisabled\" [attr.aria-label]=\"zoomOutAriaLabel()\">\n                        <SearchMinusIcon *ngIf=\"!zoomOutIconTemplate && !_zoomOutIconTemplate\" />\n                        <ng-template *ngTemplateOutlet=\"zoomOutIconTemplate || _zoomOutIconTemplate\"></ng-template>\n                    </button>\n                    <button [ngClass]=\"{ 'p-image-action p-image-zoom-in-button': true, 'p-disabled': isZoomOutDisabled }\" (click)=\"zoomIn()\" type=\"button\" [disabled]=\"isZoomInDisabled\" [attr.aria-label]=\"zoomInAriaLabel()\">\n                        <SearchPlusIcon *ngIf=\"!zoomInIconTemplate && !_zoomInIconTemplate\" />\n                        <ng-template *ngTemplateOutlet=\"zoomInIconTemplate || _zoomInIconTemplate\"></ng-template>\n                    </button>\n                    <button class=\"p-image-action p-image-close-button\" type=\"button\" (click)=\"closePreview()\" [attr.aria-label]=\"closeAriaLabel()\" #closeButton>\n                        <TimesIcon *ngIf=\"!closeIconTemplate && !_closeIconTemplate\" />\n                        <ng-template *ngTemplateOutlet=\"closeIconTemplate || _closeIconTemplate\"></ng-template>\n                    </button>\n                </div>\n                <div\n                    *ngIf=\"previewVisible\"\n                    [@animation]=\"{\n                        value: 'visible',\n                        params: { showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions }\n                    }\"\n                    (@animation.start)=\"onAnimationStart($event)\"\n                    (@animation.done)=\"onAnimationEnd($event)\"\n                >\n                    <ng-container *ngIf=\"!previewTemplate && !_previewTemplate\">\n                        <img [attr.src]=\"previewImageSrc ? previewImageSrc : src\" [attr.srcset]=\"previewImageSrcSet\" [attr.sizes]=\"previewImageSizes\" class=\"p-image-original\" [ngStyle]=\"imagePreviewStyle()\" (click)=\"onPreviewImageClick()\" />\n                    </ng-container>\n                    <ng-container\n                        *ngTemplateOutlet=\"\n                            previewTemplate || _previewTemplate;\n                            context: {\n                                class: 'p-image-original',\n                                style: imagePreviewStyle(),\n                                previewCallback: onPreviewImageClick.bind(this)\n                            }\n                        \"\n                    >\n                    </ng-container>\n                </div>\n            </div>\n        </span>\n    `,\n    animations: [\n        trigger('animation', [\n            transition('void => visible', [style({ transform: 'scale(0.7)', opacity: 0 }), animate('{{showTransitionParams}}')]),\n            transition('visible => void', [animate('{{hideTransitionParams}}', style({ transform: 'scale(0.7)', opacity: 0 }))])\n        ])\n    ],\n    changeDetection: ChangeDetectionStrategy.OnPush,\n    encapsulation: ViewEncapsulation.None,\n    providers: [ImageStyle]\n})\nexport class Image extends BaseComponent implements AfterContentInit {\n    /**\n     * Style class of the image element.\n     * @group Props\n     */\n    @Input() imageClass: string | undefined;\n    /**\n     * Inline style of the image element.\n     * @group Props\n     */\n    @Input() imageStyle: { [klass: string]: any } | null | undefined;\n    /**\n     * Class of the element.\n     * @group Props\n     */\n    @Input() styleClass: string | undefined;\n    /**\n     * Inline style of the element.\n     * @group Props\n     */\n    @Input() style: { [klass: string]: any } | null | undefined;\n    /**\n     * The source path for the main image.\n     * @group Props\n     */\n    @Input() src: string | SafeUrl | undefined;\n    /**\n     * The srcset definition for the main image.\n     * @group Props\n     */\n    @Input() srcSet: string | SafeUrl | undefined;\n    /**\n     * The sizes definition for the main image.\n     * @group Props\n     */\n    @Input() sizes: string | undefined;\n    /**\n     * The source path for the preview image.\n     * @group Props\n     */\n    @Input() previewImageSrc: string | SafeUrl | undefined;\n    /**\n     * The srcset definition for the preview image.\n     * @group Props\n     */\n    @Input() previewImageSrcSet: string | SafeUrl | undefined;\n    /**\n     * The sizes definition for the preview image.\n     * @group Props\n     */\n    @Input() previewImageSizes: string | undefined;\n    /**\n     * Attribute of the preview image element.\n     * @group Props\n     */\n    @Input() alt: string | undefined;\n    /**\n     * Attribute of the image element.\n     * @group Props\n     */\n    @Input() width: string | undefined;\n    /**\n     * Attribute of the image element.\n     * @group Props\n     */\n    @Input() height: string | undefined;\n    /**\n     * Attribute of the image element.\n     * @group Props\n     */\n    @Input() loading: 'lazy' | 'eager' | undefined;\n    /**\n     * Target element to attach the dialog, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n     * @group Props\n     */\n    @Input() appendTo: HTMLElement | ElementRef | TemplateRef<any> | string | null | undefined | any;\n    /**\n     * Controls the preview functionality.\n     * @group Props\n     */\n    @Input({ transform: booleanAttribute }) preview: boolean = false;\n    /**\n     * Transition options of the show animation\n     * @group Props\n     */\n    @Input() showTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n    /**\n     * Transition options of the hide animation\n     * @group Props\n     */\n    @Input() hideTransitionOptions: string = '150ms cubic-bezier(0, 0, 0.2, 1)';\n    /**\n     * Triggered when the preview overlay is shown.\n     * @group Emits\n     */\n    @Output() onShow: EventEmitter<any> = new EventEmitter<any>();\n    /**\n     * Triggered when the preview overlay is hidden.\n     * @group Emits\n     */\n    @Output() onHide: EventEmitter<any> = new EventEmitter<any>();\n    /**\n     * This event is triggered if an error occurs while loading an image file.\n     * @param {Event} event - Browser event.\n     * @group Emits\n     */\n    @Output() onImageError: EventEmitter<Event> = new EventEmitter<Event>();\n\n    @ViewChild('mask') mask: ElementRef | undefined;\n\n    @ViewChild('previewButton') previewButton: ElementRef | undefined;\n\n    @ViewChild('closeButton') closeButton: ElementRef | undefined;\n\n    /**\n     * Custom template of indicator.\n     * @group Templates\n     */\n    @ContentChild('indicator', { descendants: false }) indicatorTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of rotaterighticon.\n     * @group Templates\n     */\n    @ContentChild('rotaterighticon', { descendants: false }) rotateRightIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of rotatelefticon.\n     * @group Templates\n     */\n    @ContentChild('rotatelefticon', { descendants: false }) rotateLeftIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of zoomouticon.\n     * @group Templates\n     */\n    @ContentChild('zoomouticon', { descendants: false }) zoomOutIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of zoominicon.\n     * @group Templates\n     */\n    @ContentChild('zoominicon', { descendants: false }) zoomInIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of closeicon.\n     * @group Templates\n     */\n    @ContentChild('closeicon', { descendants: false }) closeIconTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of preview.\n     * @group Templates\n     */\n    @ContentChild('preview', { descendants: false }) previewTemplate: TemplateRef<any> | undefined;\n\n    /**\n     * Custom template of image.\n     * @group Templates\n     */\n    @ContentChild('image', { descendants: false }) imageTemplate: TemplateRef<any> | undefined;\n\n    maskVisible: boolean = false;\n\n    previewVisible: boolean = false;\n\n    rotate: number = 0;\n\n    scale: number = 1;\n\n    previewClick: boolean = false;\n\n    container: Nullable<HTMLElement>;\n\n    wrapper: Nullable<HTMLElement>;\n\n    _componentStyle = inject(ImageStyle);\n\n    public get isZoomOutDisabled(): boolean {\n        return this.scale - this.zoomSettings.step <= this.zoomSettings.min;\n    }\n\n    public get isZoomInDisabled(): boolean {\n        return this.scale + this.zoomSettings.step >= this.zoomSettings.max;\n    }\n\n    private zoomSettings = {\n        default: 1,\n        step: 0.1,\n        max: 1.5,\n        min: 0.5\n    };\n\n    constructor() {\n        super();\n    }\n\n    @ContentChildren(PrimeTemplate) templates: QueryList<PrimeTemplate> | undefined;\n\n    _indicatorTemplate: TemplateRef<any> | undefined;\n\n    _rotateRightIconTemplate: TemplateRef<any> | undefined;\n\n    _rotateLeftIconTemplate: TemplateRef<any> | undefined;\n\n    _zoomOutIconTemplate: TemplateRef<any> | undefined;\n\n    _zoomInIconTemplate: TemplateRef<any> | undefined;\n\n    _closeIconTemplate: TemplateRef<any> | undefined;\n\n    _imageTemplate: TemplateRef<any> | undefined;\n\n    _previewTemplate: TemplateRef<any> | undefined;\n\n    ngAfterContentInit() {\n        this.templates?.forEach((item) => {\n            switch (item.getType()) {\n                case 'indicator':\n                    this._indicatorTemplate = item.template;\n                    break;\n\n                case 'rotaterighticon':\n                    this._rotateRightIconTemplate = item.template;\n                    break;\n\n                case 'rotatelefticon':\n                    this._rotateLeftIconTemplate = item.template;\n                    break;\n\n                case 'zoomouticon':\n                    this._zoomOutIconTemplate = item.template;\n                    break;\n\n                case 'zoominicon':\n                    this._zoomInIconTemplate = item.template;\n                    break;\n\n                case 'closeicon':\n                    this._closeIconTemplate = item.template;\n                    break;\n\n                case 'image':\n                    this._imageTemplate = item.template;\n                    break;\n\n                case 'preview':\n                    this._previewTemplate = item.template;\n                    break;\n\n                default:\n                    this._indicatorTemplate = item.template;\n                    break;\n            }\n        });\n    }\n\n    onImageClick() {\n        if (this.preview) {\n            this.maskVisible = true;\n            this.previewVisible = true;\n            blockBodyScroll();\n        }\n    }\n\n    onMaskClick() {\n        if (!this.previewClick) {\n            this.closePreview();\n        }\n\n        this.previewClick = false;\n    }\n\n    onMaskKeydown(event) {\n        switch (event.code) {\n            case 'Escape':\n                this.onMaskClick();\n                setTimeout(() => {\n                    focus(this.previewButton.nativeElement);\n                }, 25);\n                event.preventDefault();\n\n                break;\n\n            default:\n                break;\n        }\n    }\n\n    onPreviewImageClick() {\n        this.previewClick = true;\n    }\n\n    rotateRight() {\n        this.rotate += 90;\n        this.previewClick = true;\n    }\n\n    rotateLeft() {\n        this.rotate -= 90;\n        this.previewClick = true;\n    }\n\n    zoomIn() {\n        this.scale = this.scale + this.zoomSettings.step;\n        this.previewClick = true;\n    }\n\n    zoomOut() {\n        this.scale = this.scale - this.zoomSettings.step;\n        this.previewClick = true;\n    }\n\n    onAnimationStart(event: AnimationEvent) {\n        switch (event.toState) {\n            case 'visible':\n                this.container = event.element;\n                this.wrapper = this.container?.parentElement;\n                this.appendContainer();\n                this.moveOnTop();\n\n                setTimeout(() => {\n                    focus(this.closeButton.nativeElement);\n                }, 25);\n                break;\n\n            case 'void':\n                addClass(this.wrapper, 'p-overlay-mask-leave');\n                break;\n        }\n    }\n\n    onAnimationEnd(event: AnimationEvent) {\n        switch (event.toState) {\n            case 'void':\n                ZIndexUtils.clear(this.wrapper);\n                this.maskVisible = false;\n                this.container = null;\n                this.wrapper = null;\n                this.cd.markForCheck();\n                this.onHide.emit({});\n                break;\n            case 'visible':\n                this.onShow.emit({});\n                break;\n        }\n    }\n\n    moveOnTop() {\n        ZIndexUtils.set('modal', this.wrapper, this.config.zIndex.modal);\n    }\n\n    appendContainer() {\n        if (this.appendTo) {\n            if (this.appendTo === 'body') this.document.body.appendChild(this.wrapper as HTMLElement);\n            else appendChild(this.appendTo, this.wrapper);\n        }\n    }\n\n    imagePreviewStyle() {\n        return { transform: 'rotate(' + this.rotate + 'deg) scale(' + this.scale + ')' };\n    }\n\n    get zoomImageAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.zoomImage : undefined;\n    }\n\n    containerClass() {\n        return {\n            'p-image p-component': true,\n            'p-image-preview': this.preview\n        };\n    }\n\n    handleToolbarClick(event: MouseEvent): void {\n        event.stopPropagation();\n    }\n\n    closePreview(): void {\n        this.previewVisible = false;\n        this.rotate = 0;\n        this.scale = this.zoomSettings.default;\n        unblockBodyScroll();\n    }\n\n    imageError(event: Event) {\n        this.onImageError.emit(event);\n    }\n\n    rightAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.rotateRight : undefined;\n    }\n\n    leftAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.rotateLeft : undefined;\n    }\n\n    zoomInAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.zoomIn : undefined;\n    }\n\n    zoomOutAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.zoomOut : undefined;\n    }\n\n    closeAriaLabel() {\n        return this.config.translation.aria ? this.config.translation.aria.close : undefined;\n    }\n\n    @HostListener('document:keydown.escape', ['$event']) onKeydownHandler(event: KeyboardEvent) {\n        if (this.previewVisible) {\n            this.closePreview();\n        }\n    }\n}\n\n@NgModule({\n    imports: [Image, SharedModule],\n    exports: [Image, SharedModule]\n})\nexport class ImageModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}