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 • 40.9 kB
Source Map (JSON)
{"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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"}