UNPKG

primeng

Version:

PrimeNG is an open source UI library for Angular featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeB

1 lines 48.8 kB
{"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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"}