{"version":3,"file":"lucca-front-ng-popover.mjs","sources":["../../../packages/ng/popover/animation/popover.animation.ts","../../../packages/ng/popover/panel/popover-panel.model.ts","../../../packages/ng/popover/panel/popover-panel.component.ts","../../../packages/ng/popover/panel/popover-panel.component.html","../../../packages/ng/popover/panel/popover-panel.module.ts","../../../packages/ng/popover/target/popover-target.model.ts","../../../packages/ng/popover/target/popover-target.directive.ts","../../../packages/ng/popover/trigger/popover-trigger.model.ts","../../../packages/ng/popover/trigger/popover-trigger.directive.ts","../../../packages/ng/popover/popover.module.ts","../../../packages/ng/popover/lucca-front-ng-popover.ts"],"sourcesContent":["import { trigger, state, style, animate, transition, AnimationTriggerMetadata } from '@angular/animations';\n\nexport const luTransformPopover: AnimationTriggerMetadata = trigger('transformPopover', [\n\tstate(\n\t\t'enter',\n\t\tstyle({\n\t\t\topacity: 1,\n\t\t\ttransform: `scale(1)`,\n\t\t}),\n\t),\n\ttransition('void => *', [\n\t\tstyle({\n\t\t\topacity: 0,\n\t\t\ttransform: `scale(0)`,\n\t\t}),\n\t\tanimate(`150ms cubic-bezier(0.25, 0.8, 0.25, 1)`),\n\t]),\n\ttransition('* => void', [animate('50ms 100ms linear', style({ opacity: 0 }))]),\n]);\n","import { HorizontalConnectionPos, OverlayRef, VerticalConnectionPos } from '@angular/cdk/overlay';\nimport { TemplateRef } from '@angular/core';\nimport { Observable, Subscription } from 'rxjs';\n\nexport type LuPopoverScrollStrategy = 'reposition' | 'block' | 'close';\n\nexport declare interface ILuPopoverPanel<T = unknown> {\n\tscrollStrategy: LuPopoverScrollStrategy;\n\tcloseOnClick: boolean;\n\tpanelId?: string;\n\ttriggerId?: string;\n\ttemplateRef?: TemplateRef<T>;\n\toverlayRef: OverlayRef;\n\n\t/** will emit when the panel wants to close */\n\tclose: Observable<void>;\n\t/** will emit when the panel wants to open */\n\topen: Observable<void>;\n\t/** will emit when the panel is hovered */\n\thovered: Observable<boolean>;\n\t/** classes to apply to the panel, uses ' ' for separating values */\n\tpanelClasses: string;\n\t/** class to apply to the panel content, uses ' ' for separating values */\n\tcontentClasses: string;\n\n\tkeydownEvents$: Observable<KeyboardEvent>;\n\n\tsetPositionClasses: (posX: HorizontalConnectionPos, posY: VerticalConnectionPos) => void;\n\n\t/** method called by the trigger when it opens the popover */\n\tonOpen(): void;\n\n\t/** method called by the trigger when it closes the popover */\n\tonClose(): void;\n}\n\n/**\n * abstract class for basic implementation of a popover panel\n */\nexport abstract class ALuPopoverPanel<T = unknown> implements ILuPopoverPanel<T> {\n\tpanelId: string;\n\ttriggerId: string;\n\n\tprotected _isOpen: boolean;\n\tget isOpen() {\n\t\treturn this._isOpen;\n\t}\n\n\tprotected _closeOnClick = false;\n\tget closeOnClick() {\n\t\treturn this._closeOnClick;\n\t}\n\n\tset closeOnClick(coc: boolean) {\n\t\tthis._closeOnClick = coc;\n\t}\n\n\tprotected _trapFocus = false;\n\tget trapFocus() {\n\t\treturn this._trapFocus;\n\t}\n\n\tset trapFocus(tf: boolean) {\n\t\tthis._trapFocus = tf;\n\t}\n\n\tprotected _scrollStrategy: LuPopoverScrollStrategy = 'reposition';\n\tget scrollStrategy() {\n\t\treturn this._scrollStrategy;\n\t}\n\n\tset scrollStrategy(ss: LuPopoverScrollStrategy) {\n\t\tthis._scrollStrategy = ss;\n\t}\n\n\tprotected _templateRef: TemplateRef<T>;\n\tget templateRef() {\n\t\treturn this._templateRef;\n\t}\n\n\tset templateRef(tr: TemplateRef<T>) {\n\t\tthis._templateRef = tr;\n\t}\n\n\tprotected _positionClassesMap: Record<string, boolean> = {};\n\tprotected _panelClasses = '';\n\tget panelClasses() {\n\t\treturn this._panelClasses;\n\t}\n\n\tset panelClasses(cl: string) {\n\t\tthis._panelClasses = cl;\n\t}\n\n\tget panelClassesMap(): Record<string, boolean> {\n\t\tconst map: Record<string, boolean> = this._panelClasses\n\t\t\t.split(' ')\n\t\t\t.filter((c) => !!c)\n\t\t\t.reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\t\tobj[className] = true;\n\t\t\t\treturn obj;\n\t\t\t}, {});\n\t\t// also add position classes\n\t\treturn { ...map, ...this._positionClassesMap };\n\t}\n\n\tprotected _contentClasses = '';\n\tget contentClasses() {\n\t\treturn this._contentClasses;\n\t}\n\n\tset contentClasses(cl: string) {\n\t\tthis._contentClasses = cl;\n\t}\n\n\tget contentClassesMap() {\n\t\treturn this._contentClasses.split(' ').reduce((obj: Record<string, boolean>, className: string) => {\n\t\t\tobj[className] = true;\n\t\t\treturn obj;\n\t\t}, {});\n\t}\n\n\tpublic overlayRef: OverlayRef;\n\n\t/** Classes to be passed into the popover's overlay */\n\tprotected _overlayPaneClass: string | string[];\n\tpublic get overlayPaneClass() {\n\t\treturn this._overlayPaneClass;\n\t}\n\n\tpublic set overlayPaneClass(opc) {\n\t\tthis._overlayPaneClass = opc;\n\t}\n\n\t// /** Config object to be passed into the popover's content ngStyle */\n\n\tprotected _keydownEventsSub: Subscription;\n\n\tset keydownEvents$(evt$: Observable<KeyboardEvent>) {\n\t\tif (!this._keydownEventsSub) {\n\t\t\tthis._keydownEventsSub = evt$.subscribe((e) => this._handleKeydown(e));\n\t\t}\n\t}\n\n\tclose: Observable<void>;\n\topen: Observable<void>;\n\thovered: Observable<boolean>;\n\n\tabstract _emitCloseEvent(): void;\n\n\tabstract _emitOpenEvent(): void;\n\n\tabstract _emitHoveredEvent(hovered: boolean): void;\n\n\tsetPositionClasses(posX: HorizontalConnectionPos, posY: VerticalConnectionPos): void {\n\t\tthis._positionClassesMap['is-before'] = posX === 'end';\n\t\tthis._positionClassesMap['is-after'] = posX === 'start';\n\t\tthis._positionClassesMap['is-above'] = posY === 'bottom';\n\t\tthis._positionClassesMap['is-below'] = posY === 'top';\n\t}\n\n\tonClick() {\n\t\tif (this.closeOnClick) {\n\t\t\tthis._emitCloseEvent();\n\t\t}\n\t}\n\n\tonOpen() {\n\t\tthis._isOpen = true;\n\t}\n\n\tonClose() {\n\t\tthis._isOpen = false;\n\t}\n\n\t/**\n\t * TODO: Refactor when @angular/cdk includes feature I mentioned on github see link below.\n\t * https://github.com/angular/material2/pull/5493#issuecomment-313085323\n\t */\n\t/** Disables close of popover when leaving trigger element and mouse over the popover */\n\tonMouseOver() {\n\t\tthis._emitHoveredEvent(true);\n\t}\n\n\t/** Enables close of popover when mouse leaving popover element */\n\tonMouseLeave() {\n\t\tthis._emitHoveredEvent(false);\n\t}\n\n\t/** does nothing but must be overridable */\n\tonMouseDown() {}\n\n\t_handleKeydown(event: KeyboardEvent) {\n\t\tswitch (event.key) {\n\t\t\tcase 'Escape':\n\t\t\t\tthis._emitCloseEvent();\n\t\t\t\treturn;\n\t\t}\n\t}\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnDestroy, Output, TemplateRef, ViewChild } from '@angular/core';\nimport { luTransformPopover } from '../animation/index';\nimport { ALuPopoverPanel, ILuPopoverPanel, LuPopoverScrollStrategy } from './popover-panel.model';\n\n// import { standardPopoverTemplate } from './popover.template';\n\n@Component({\n\tselector: 'lu-popover',\n\ttemplateUrl: './popover-panel.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tanimations: [luTransformPopover],\n\timports: [NgTemplateOutlet, OverlayModule, A11yModule],\n\texportAs: 'LuPopoverPanel',\n})\nexport class LuPopoverPanelComponent extends ALuPopoverPanel implements ILuPopoverPanel, OnDestroy {\n\tprotected _template: TemplateRef<unknown>;\n\tprotected _templateContext: unknown;\n\n\t/** Template to Use for the popover */\n\tget template(): TemplateRef<unknown> {\n\t\treturn this._template;\n\t}\n\t@Input()\n\tset template(value: TemplateRef<unknown>) {\n\t\tthis._template = value;\n\t}\n\n\t/** Template context to use for the popover when created using a template */\n\tget templateContext(): unknown {\n\t\treturn this._templateContext;\n\t}\n\t@Input('template-context')\n\tset templateContext(value: unknown) {\n\t\tthis._templateContext = value;\n\t}\n\n\t/**\n\t * Popover container close on click\n\t * default: false\n\t */\n\t@Input('close-on-click')\n\tset inputCloseOnClick(v: boolean) {\n\t\tthis.closeOnClick = v;\n\t}\n\n\t/**\n\t * Popover focus trap using cdkTrapFocus\n\t * default: false\n\t */\n\t@Input('trap-focus')\n\tset inputTrapFocus(v: boolean) {\n\t\tthis.trapFocus = v;\n\t}\n\n\t/**\n\t * Popover scrollStrategy\n\t * default: reposition\n\t */\n\t@Input('scroll-strategy')\n\tset inputScrollStrategy(v: LuPopoverScrollStrategy) {\n\t\tthis.scrollStrategy = v;\n\t}\n\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container.  Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('panel-classes')\n\tset inputPanelClasses(classes: string) {\n\t\tthis.panelClasses = classes;\n\t}\n\t/**\n\t * This method takes classes set on the host lu-popover element and applies them on the\n\t * popover template that displays in the overlay container. Otherwise, it's difficult\n\t * to style the containing popover from outside the component.\n\t * @param classes list of class names\n\t */\n\t@Input('content-classes')\n\tset inputContentClasses(classes: string) {\n\t\tthis.contentClasses = classes;\n\t}\n\n\t/** Event emitted when the popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-native\n\t@Output() override close = new EventEmitter<void>();\n\t@Output() override open = new EventEmitter<void>();\n\t@Output() override hovered = new EventEmitter<boolean>();\n\n\t@ViewChild(TemplateRef, { static: true })\n\tset vcTemplateRef(tr: TemplateRef<unknown>) {\n\t\tthis.templateRef = tr;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t}\n\n\tngOnDestroy() {\n\t\tthis.onClose();\n\t\tthis.close.complete();\n\t}\n\t_emitCloseEvent(): void {\n\t\tthis.close.emit();\n\t}\n\n\t_emitOpenEvent(): void {\n\t\tthis.open.emit();\n\t}\n\t_emitHoveredEvent(hovered: boolean): void {\n\t\tthis.hovered.emit(hovered);\n\t}\n}\n","<ng-template>\n\t<div\n\t\tclass=\"lu-popover-panel\"\n\t\t[class]=\"panelClassesMap\"\n\t\t(keydown)=\"_handleKeydown($event)\"\n\t\t(click)=\"onClick()\"\n\t\t(mouseover)=\"onMouseOver()\"\n\t\t(mouseleave)=\"onMouseLeave()\"\n\t\t(mousedown)=\"onMouseDown()\"\n\t\t[attr.id]=\"panelId\"\n\t\t[attr.aria-labelledby]=\"triggerId\"\n\t\t[@transformPopover]=\"'enter'\"\n\t>\n\t\t<div class=\"lu-popover-content\" [class]=\"contentClassesMap\" [cdkTrapFocus]=\"trapFocus\">\n\t\t\t<ng-content /><ng-container *ngTemplateOutlet=\"template; context: templateContext\" />\n\t\t</div>\n\t</div>\n</ng-template>\n","import { NgModule } from '@angular/core';\nimport { LuPopoverPanelComponent } from './popover-panel.component';\n\n/**\n * @deprecated use `LuPopoverPanelComponent` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent],\n\texports: [LuPopoverPanelComponent],\n})\nexport class LuPopoverPanelModule {}\n","import { ElementRef } from '@angular/core';\n\nexport type LuPopoverPosition = 'above' | 'below' | 'before' | 'after';\nexport type LuPopoverAlignment = 'top' | 'bottom' | 'left' | 'right' | 'center';\n\n/**\n * anchor for a popover panel\n */\nexport interface ILuPopoverTarget {\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\talignment: LuPopoverAlignment;\n\t/** the element used to position the panel */\n\telementRef: ElementRef;\n\t// /** set to true if you want the panel to appear on top of the target */\n\toverlap: boolean;\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tposition: LuPopoverPosition;\n\n\toffsetX: number;\n\toffsetY: number;\n}\n\nexport abstract class ALuPopoverTarget implements ILuPopoverTarget {\n\tprotected _elementRef: ElementRef;\n\t/** the element used to position the panel */\n\tget elementRef() {\n\t\treturn this._elementRef;\n\t}\n\tset elementRef(ref: ElementRef) {\n\t\tthis._elementRef = ref;\n\t}\n\n\tprotected _position: LuPopoverPosition = 'below';\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\tget position(): LuPopoverPosition {\n\t\treturn this._position;\n\t}\n\tset position(position: LuPopoverPosition | string) {\n\t\tif (position !== 'above' && position !== 'below' && position !== 'after' && position !== 'before') {\n\t\t\tthrow Error(`LuPopoverPosition value must be 'above', 'below', 'before' or 'after'. Got \"${position}\".\n      Example: <lu-popover [position]=\"'before'\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._position = position;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _alignment: LuPopoverAlignment = 'center';\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\tget alignment(): LuPopoverAlignment {\n\t\treturn this._alignment;\n\t}\n\tset alignment(alignment: LuPopoverAlignment | string) {\n\t\tif (alignment !== 'center' && alignment !== 'top' && alignment !== 'bottom' && alignment !== 'right' && alignment !== 'left') {\n\t\t\tthrow Error(`LuPopoverAlignment value must be 'top', 'bottom', 'right' or 'left'. Got \"${alignment}\".\n      Example: <lu-popover [position]=\"above\" [alignment]=\"left\" #popover=\"LuPopover\" />`);\n\t\t}\n\t\tthis._alignment = alignment;\n\t\t// this.setPositionClasses(this._position, this._alignment);\n\t}\n\n\tprotected _overlap = false;\n\t/** set to true if you want the panel to appear on top of the target */\n\tget overlap() {\n\t\treturn this._overlap;\n\t}\n\tset overlap(ot: boolean) {\n\t\tthis._overlap = ot;\n\t}\n\n\tprotected _offsetX = 0;\n\tget offsetX() {\n\t\treturn this._offsetX;\n\t}\n\tset offsetX(ox: number) {\n\t\tthis._offsetX = ox;\n\t}\n\n\tprotected _offsetY = 0;\n\tget offsetY() {\n\t\treturn this._offsetY;\n\t}\n\tset offsetY(oy: number) {\n\t\tthis._offsetY = oy;\n\t}\n}\n\nexport class LuPopoverTarget extends ALuPopoverTarget {\n\tconstructor() {\n\t\tsuper();\n\t}\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\nimport { ALuPopoverTarget, LuPopoverAlignment, LuPopoverPosition } from './popover-target.model';\n\n@Directive({\n\tselector: '[luPopoverTarget]',\n\texportAs: 'LuPopoverTarget',\n})\nexport class LuPopoverTargetDirective extends ALuPopoverTarget {\n\tconstructor(ref: ElementRef) {\n\t\tsuper();\n\t\tthis.elementRef = ref;\n\t}\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.alignment = al;\n\t}\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.offsetY = oy;\n\t}\n}\n","import { isFakeMousedownFromScreenReader } from '@angular/cdk/a11y';\nimport { Direction } from '@angular/cdk/bidi';\nimport {\n\tFlexibleConnectedPositionStrategy,\n\tHorizontalConnectionPos,\n\tOriginConnectionPosition,\n\tOverlay,\n\tOverlayConfig,\n\tOverlayConnectionPosition,\n\tOverlayRef,\n\tVerticalConnectionPos,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';\nimport { ElementRef, ViewContainerRef } from '@angular/core';\nimport { generateId } from '@lucca-front/ng/core';\nimport { Observable, Subject, Subscription, timer } from 'rxjs';\nimport { debounce, distinctUntilChanged, map } from 'rxjs/operators';\nimport { ILuPopoverPanel, LuPopoverScrollStrategy } from '../panel/index';\nimport { ILuPopoverTarget } from '../target/index';\n\nexport type LuPopoverTriggerEvent = 'click' | 'hover' | 'none' | 'focus';\n\n/**\n * component that will decide when to show the popover and attach it to the target\n */\nexport declare interface ILuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> {\n\t/** the popover panel to display */\n\tpanel: TPanel;\n\t/** the popover target to attach the panel */\n\ttarget: TTarget;\n\n\t/** when to display the popover */\n\ttriggerEvent: LuPopoverTriggerEvent;\n\t/** delay before popover apparition when trigger is 'hover' */\n\tenterDelay: number;\n\t/** delay before popover disparition when trigger is 'hover' */\n\tleaveDelay: number;\n\n\t/** disable popover apparition */\n\tdisabled: boolean;\n\t/** Event emitted when the associated popover is opened. */\n\tonOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tonClose: Observable<void>;\n\n\topenPopover();\n\n\tclosePopover();\n\n\ttogglePopover();\n\n\tdestroyPopover();\n}\n\n// tslint:disable-next-line: max-line-length\nexport abstract class ALuPopoverTrigger<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget> implements ILuPopoverTrigger<TPanel, TTarget> {\n\tprotected _portal: TemplatePortal<unknown> | ComponentPortal<TPanel>;\n\tprotected _overlayRef: OverlayRef | null = null;\n\tprotected _popoverOpen = false;\n\t// protected _halt = false;\n\tprotected _backdropSubscription: Subscription;\n\tprotected _positionSubscription: Subscription;\n\n\tprotected _mouseoverTimer: unknown;\n\n\tprotected _hovered$ = new Subject();\n\tprotected _hoveredSubscription: Subscription;\n\tprotected _panelEventsSubscriptions: Subscription;\n\tprotected _overlayDetachmentsSubscription: Subscription;\n\n\t// tracking input type is necessary so it's possible to only auto-focus\n\t// the first item of the list when the popover is opened via the keyboard\n\tprotected _openedByMouse = false;\n\n\tprotected _panel: TPanel;\n\t/** References the popover instance that the trigger is associated with. */\n\tget panel() {\n\t\treturn this._panel;\n\t}\n\n\tset panel(p: TPanel) {\n\t\tthis._panel = p;\n\t}\n\n\tprotected _target: TTarget;\n\t/** References the popover target instance that the trigger is associated with. */\n\tget target() {\n\t\treturn this._target;\n\t}\n\n\tset target(t: TTarget) {\n\t\tthis._target = t;\n\t}\n\n\tprotected _triggerEvent: LuPopoverTriggerEvent = 'click';\n\tget triggerEvent() {\n\t\treturn this._triggerEvent;\n\t}\n\n\tset triggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis._triggerEvent = te;\n\t\tif (te === 'hover' || te === 'focus') {\n\t\t\tif (this._hoveredSubscription) {\n\t\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t\t}\n\t\t\tthis._hoveredSubscription = this._hovered$\n\t\t\t\t.pipe(\n\t\t\t\t\tdistinctUntilChanged(),\n\t\t\t\t\tdebounce((h) => (h ? timer(this.enterDelay) : timer(this.leaveDelay))),\n\t\t\t\t)\n\t\t\t\t.subscribe((h) => (h ? this.openPopover() : this.closePopover()));\n\t\t}\n\t}\n\n\tprotected _enterDelay = 50;\n\tget enterDelay() {\n\t\treturn this._enterDelay;\n\t}\n\n\tset enterDelay(d: number) {\n\t\tthis._enterDelay = d;\n\t}\n\n\tprotected _leaveDelay = 50;\n\tget leaveDelay() {\n\t\treturn this._leaveDelay;\n\t}\n\n\tset leaveDelay(d: number) {\n\t\tthis._leaveDelay = d;\n\t}\n\n\tprotected _disabled = false;\n\tget disabled() {\n\t\treturn this._disabled;\n\t}\n\n\tset disabled(d: boolean) {\n\t\tthis._disabled = d;\n\t}\n\n\tprotected _whenEllipsis = false;\n\tget whenEllipsis() {\n\t\treturn this._whenEllipsis;\n\t}\n\n\tset whenEllipsis(we: boolean) {\n\t\tthis._whenEllipsis = we;\n\t}\n\n\tprotected _triggerId: string;\n\tprotected _panelId: string;\n\n\t/** Event emitted when the associated popover is opened. */\n\tabstract onOpen: Observable<void>;\n\t/** Event emitted when the associated popover is closed. */\n\tabstract onClose: Observable<void>;\n\n\tprotected abstract _emitOpen(): void;\n\n\tprotected abstract _emitClose(): void;\n\n\tconstructor(\n\t\tprotected _overlay: Overlay,\n\t\tprotected _elementRef: ElementRef<HTMLElement>,\n\t\tprotected _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tthis._triggerId = `popoverTrigger_${generateId()}`;\n\t\tthis._panelId = `popoverPanel_${generateId()}`;\n\t}\n\n\tonClick() {\n\t\tif (this.triggerEvent === 'click' && !this.disabled) {\n\t\t\tthis.togglePopover();\n\t\t}\n\t}\n\n\tonMouseEnter() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(true);\n\t\t}\n\t}\n\n\tonMouseLeave() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis._hovered$.next(false);\n\t\t}\n\t}\n\n\tonFocus() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.openPopover();\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\tthis.closePopover();\n\t\t}\n\t}\n\n\t/** Toggles the popover between the open and closed states. */\n\ttogglePopover(): void {\n\t\treturn this._popoverOpen ? this.closePopover() : this.openPopover();\n\t}\n\n\t/** Opens the popover. */\n\topenPopover(): void {\n\t\tif (!this._popoverOpen && !this._disabled && (!this._whenEllipsis || this._hasEllipsis())) {\n\t\t\tthis._createOverlay();\n\t\t\tthis._attachPortalToOverlay();\n\n\t\t\t/** Only subscribe to overlay detachments if trigger event is hover or focus */\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._subscribeToOverlayDetachments();\n\t\t\t}\n\n\t\t\t/** Only subscribe to backdrop if trigger event is click */\n\t\t\tif (this.triggerEvent === 'click') {\n\t\t\t\tthis._subscribeToBackdrop();\n\t\t\t}\n\n\t\t\t/** Only subscribe to mouse enter/leave of the panel if trigger = hover */\n\n\t\t\tthis._initPopover();\n\t\t\tthis._emitOpen();\n\t\t}\n\t}\n\n\t/** Closes the popover. */\n\tclosePopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\t/** Overlay can still be attached if close has been triggered by mouse leave. */\n\t\t\tif (this._overlayRef.hasAttached()) {\n\t\t\t\tthis._overlayRef.detach();\n\t\t\t}\n\n\t\t\t/** unsubscribe to backdrop click if it was defined */\n\t\t\tif (this._backdropSubscription) {\n\t\t\t\t// if (this.popover.triggerEvent === 'click') {\n\t\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t\t}\n\n\t\t\tthis._resetPopover();\n\t\t\tthis._emitClose();\n\t\t}\n\t}\n\n\t/** Removes the popover from the DOM. */\n\tdestroyPopover(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayRef.dispose();\n\t\t\tthis._overlayRef = null;\n\t\t\tthis._cleanUpSubscriptions();\n\t\t}\n\t}\n\n\t/** Focuses the popover trigger. */\n\tfocus() {\n\t\tthis._elementRef.nativeElement.focus();\n\t}\n\n\t_handleMousedown(event: MouseEvent): void {\n\t\tif (!isFakeMousedownFromScreenReader(event)) {\n\t\t\tthis._openedByMouse = true;\n\t\t}\n\t}\n\n\t/** The text direction of the containing app. */\n\tget dir(): Direction {\n\t\t// return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n\t\treturn 'ltr';\n\t}\n\n\t/** Return if the popover main positionning is vertical */\n\tget isVerticallyPositionned(): boolean {\n\t\tconst position = this.target.position;\n\t\treturn position === 'below' || position === 'above';\n\t}\n\n\tprotected _attachPortalToOverlay(): void {\n\t\tthis._overlayRef.attach(this._portal);\n\t}\n\n\tprotected _getPanelScrollStrategy(): LuPopoverScrollStrategy {\n\t\treturn this.panel.scrollStrategy;\n\t}\n\n\t/**\n\t * This method ensures that the popover\n\t */\n\tprotected _subscribeToPanelEvents(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._panelEventsSubscriptions = new Subscription();\n\t\t\tif (this.triggerEvent === 'hover' || this.triggerEvent === 'focus') {\n\t\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\t\tthis.panel.hovered.subscribe((hovered) => {\n\t\t\t\t\t\tthis._hovered$.next(hovered);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t}\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.close.subscribe(() => {\n\t\t\t\t\tthis.closePopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t\tthis._panelEventsSubscriptions.add(\n\t\t\t\tthis.panel.open.subscribe(() => {\n\t\t\t\t\tthis.openPopover();\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay has been detached\n\t * Detach can occur if we scroll while popover is opened\n\t */\n\tprotected _subscribeToOverlayDetachments(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._overlayDetachmentsSubscription = this._overlayRef.detachments().subscribe(() => {\n\t\t\t\tthis._hovered$.next(false);\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method ensures that the popover closes when the overlay backdrop is clicked.\n\t * We do not use first() here because doing so would not catch clicks from within\n\t * the popover, and it would fail to unsubscribe properly. Instead, we unsubscribe\n\t * explicitly when the popover is closed or destroyed.\n\t */\n\tprotected _subscribeToBackdrop(): void {\n\t\tif (this._overlayRef) {\n\t\t\tthis._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n\t\t\t\tthis.closePopover();\n\t\t\t});\n\t\t}\n\t}\n\n\t/**\n\t * This method sets the popover state to open and focuses the first item if\n\t * the popover was opened via the keyboard.\n\t */\n\tprotected _initPopover(): void {\n\t\tthis._setIsPopoverOpen(true);\n\t\tthis.panel.panelId = this._panelId;\n\t\tthis.panel.triggerId = this._triggerId;\n\t\tthis.panel.keydownEvents$ = this._overlayRef.keydownEvents();\n\t\tthis._subscribeToPanelEvents();\n\t}\n\n\t/**\n\t * This method resets the popover when it's closed, most importantly restoring\n\t * focus to the popover trigger if the popover was opened via the keyboard.\n\t */\n\tprotected _resetPopover(): void {\n\t\tthis._setIsPopoverOpen(false);\n\n\t\t// Focus only needs to be reset to the host element if the popover was opened\n\t\t// by the keyboard and manually shifted to the first popover item.\n\t\tif (!this._openedByMouse && this.triggerEvent === 'click') {\n\t\t\tthis.focus();\n\t\t}\n\t\tthis._openedByMouse = false;\n\t}\n\n\t/** set state rather than toggle to support triggers sharing a popover */\n\tprotected _setIsPopoverOpen(isOpen: boolean): void {\n\t\tthis._popoverOpen = isOpen;\n\t\t// tell the panel it's opening/closing\n\t\tif (isOpen) {\n\t\t\tthis.panel.onOpen();\n\t\t} else {\n\t\t\tthis.panel.onClose();\n\t\t}\n\t}\n\n\t/**\n\t *  This method checks that a valid instance of MdPopover has been passed into\n\t *  mdPopoverTriggerFor. If not, an exception is thrown.\n\t */\n\tprotected _checkPanel() {\n\t\tif (!this.panel) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a lu-popover instance.\n      Example:\n      <lu-popover #popover=\"LuPopover\" />\n      <button type=\"button\" [luPopover]=\"popover\"></button>`);\n\t\t}\n\t}\n\n\tprotected _checkTarget() {\n\t\tif (!this.target) {\n\t\t\tthrow Error(`lu-popover-trigger: must pass in a popover target instance.`);\n\t\t}\n\t}\n\n\t/**\n\t *  This method creates the overlay from the provided popover's template and saves its\n\t *  OverlayRef so that it can be attached to the DOM when openPopover is called.\n\t */\n\tprotected _createOverlay(): OverlayRef {\n\t\tif (!this._overlayRef) {\n\t\t\tthis._portal = new TemplatePortal(this.panel.templateRef, this._viewContainerRef);\n\t\t\tconst config = this._getOverlayConfig();\n\t\t\tthis._subscribeToPositions(config.positionStrategy as FlexibleConnectedPositionStrategy);\n\t\t\tthis._overlayRef = this._overlay.create(config);\n\t\t\tthis._panel.overlayRef = this._overlayRef;\n\t\t}\n\n\t\treturn this._overlayRef;\n\t}\n\n\t/**\n\t * This method builds the configuration object needed to create the overlay, the OverlayConfig.\n\t * @returns OverlayConfig\n\t */\n\tprotected _getOverlayConfig(): OverlayConfig {\n\t\tconst overlayState = new OverlayConfig();\n\t\toverlayState.positionStrategy = this._getPosition();\n\t\t/** Display overlay backdrop if trigger event is click */\n\t\tif (this.triggerEvent === 'click') {\n\t\t\toverlayState.hasBackdrop = true;\n\t\t\toverlayState.backdropClass = 'cdk-overlay-transparent-backdrop';\n\t\t}\n\n\t\toverlayState.direction = this.dir;\n\t\tconst scrollStrategy = this._getPanelScrollStrategy();\n\t\tswitch (scrollStrategy) {\n\t\t\tcase 'block':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.block();\n\t\t\t\tbreak;\n\n\t\t\tcase 'close':\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.close();\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\toverlayState.scrollStrategy = this._overlay.scrollStrategies.reposition();\n\t\t\t\tbreak;\n\t\t}\n\t\treturn overlayState;\n\t}\n\n\t/**\n\t * Listens to changes in the position of the overlay and sets the correct classes\n\t * on the popover based on the new position. This ensures the animation origin is always\n\t * correct, even if a fallback position is used for the overlay.\n\t */\n\tprotected _subscribeToPositions(position: FlexibleConnectedPositionStrategy): void {\n\t\tthis._positionSubscription = position.positionChanges\n\t\t\t.pipe(\n\t\t\t\tmap((c) => c.connectionPair),\n\t\t\t\tdistinctUntilChanged(),\n\t\t\t)\n\t\t\t.subscribe((connectionPair) => {\n\t\t\t\tthis.panel.setPositionClasses(connectionPair.overlayX, connectionPair.overlayY);\n\t\t\t});\n\t}\n\n\t/**\n\t * This method builds the position strategy for the overlay, so the popover is properly connected\n\t * to the trigger.\n\t * @returns FlexibleConnectedPositionStrategy\n\t */\n\tprotected _getPosition(): FlexibleConnectedPositionStrategy {\n\t\t/**\n\t\t * For overriding position element, when LuPopoverTargetAt has a valid element reference.\n\t\t * Useful for sticking popover to parent element and offsetting arrow to trigger element.\n\t\t * If undefined defaults to the trigger element reference.\n\t\t */\n\t\tconst element = this.target.elementRef;\n\t\t// if (typeof this.targetElement !== 'undefined' && this.popover) {\n\t\t// \tthis.popover.containerPositioning = true;\n\t\t// \telement = this.targetElement._elementRef;\n\t\t// }\n\n\t\tconst connectionPosition: OriginConnectionPosition = {\n\t\t\toriginX: 'start',\n\t\t\toriginY: 'top',\n\t\t};\n\n\t\t// Position\n\t\tconst position = this.target.position;\n\t\tconst overlap = this.target.overlap;\n\t\tif (position === 'above') {\n\t\t\tconnectionPosition.originY = overlap ? 'bottom' : 'top';\n\t\t} else if (position === 'below') {\n\t\t\tconnectionPosition.originY = overlap ? 'top' : 'bottom';\n\t\t} else if (position === 'before') {\n\t\t\tconnectionPosition.originX = overlap ? 'end' : 'start';\n\t\t} else if (position === 'after') {\n\t\t\tconnectionPosition.originX = overlap ? 'start' : 'end';\n\t\t}\n\n\t\t// Alignment\n\t\tconst alignment = this.target.alignment;\n\t\tif (this.isVerticallyPositionned) {\n\t\t\tif (alignment === 'left') {\n\t\t\t\tconnectionPosition.originX = 'start';\n\t\t\t} else if (alignment === 'right') {\n\t\t\t\tconnectionPosition.originX = 'end';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originX = 'center';\n\t\t\t}\n\t\t} else {\n\t\t\tif (alignment === 'top') {\n\t\t\t\tconnectionPosition.originY = 'top';\n\t\t\t} else if (alignment === 'bottom') {\n\t\t\t\tconnectionPosition.originY = 'bottom';\n\t\t\t} else {\n\t\t\t\tconnectionPosition.originY = 'center';\n\t\t\t}\n\t\t}\n\n\t\tconst overlayPosition: OverlayConnectionPosition = {\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'top',\n\t\t};\n\n\t\tif (overlap) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t} else if (this.isVerticallyPositionned) {\n\t\t\toverlayPosition.overlayX = connectionPosition.originX;\n\t\t\toverlayPosition.overlayY = position === 'above' ? 'bottom' : 'top';\n\t\t} else {\n\t\t\toverlayPosition.overlayX = position === 'before' ? 'end' : 'start';\n\t\t\toverlayPosition.overlayY = connectionPosition.originY;\n\t\t}\n\n\t\treturn this._overlay\n\t\t\t.position()\n\t\t\t.flexibleConnectedTo(element)\n\t\t\t.withPositions([\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: connectionPosition.originX,\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: overlayPosition.overlayX,\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: connectionPosition.originY,\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: overlayPosition.overlayY,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\toriginX: this._invertHorizontalPos(connectionPosition.originX),\n\t\t\t\t\toriginY: this._invertVerticalPos(connectionPosition.originY),\n\t\t\t\t\toverlayX: this._invertHorizontalPos(overlayPosition.overlayX),\n\t\t\t\t\toverlayY: this._invertVerticalPos(overlayPosition.overlayY),\n\t\t\t\t},\n\t\t\t])\n\t\t\t.withDefaultOffsetX(this.target.offsetX)\n\t\t\t.withDefaultOffsetY(this.target.offsetY);\n\t}\n\n\tprotected _invertVerticalPos(y: VerticalConnectionPos) {\n\t\tif (y === 'top') {\n\t\t\ty = 'bottom';\n\t\t} else if (y === 'bottom') {\n\t\t\ty = 'top';\n\t\t}\n\t\treturn y;\n\t}\n\n\tprotected _invertHorizontalPos(x: HorizontalConnectionPos) {\n\t\tif (x === 'end') {\n\t\t\tx = 'start';\n\t\t} else if (x === 'start') {\n\t\t\tx = 'end';\n\t\t}\n\n\t\treturn x;\n\t}\n\n\tprotected _cleanUpSubscriptions(): void {\n\t\tif (this._backdropSubscription) {\n\t\t\tthis._backdropSubscription.unsubscribe();\n\t\t}\n\t\tif (this._positionSubscription) {\n\t\t\tthis._positionSubscription.unsubscribe();\n\t\t}\n\t\tif (this._hoveredSubscription) {\n\t\t\tthis._hoveredSubscription.unsubscribe();\n\t\t}\n\t\tif (this._panelEventsSubscriptions) {\n\t\t\tthis._panelEventsSubscriptions.unsubscribe();\n\t\t}\n\t\tif (this._overlayDetachmentsSubscription) {\n\t\t\tthis._overlayDetachmentsSubscription.unsubscribe();\n\t\t}\n\t}\n\n\tprotected _hasEllipsis(): boolean {\n\t\tif (!(this._elementRef.nativeElement instanceof HTMLElement)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst { scrollWidth, scrollHeight, clientWidth, clientHeight } = this._elementRef.nativeElement;\n\n\t\tconst textClampedByWidth = scrollWidth > clientWidth;\n\t\tconst textClampedByHeight = scrollHeight > clientHeight;\n\n\t\treturn textClampedByWidth || textClampedByHeight;\n\t}\n}\n","import { Overlay } from '@angular/cdk/overlay';\nimport { AfterViewInit, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, OnDestroy, Output, ViewContainerRef } from '@angular/core';\nimport { ILuPopoverPanel } from '../panel/index';\nimport { ILuPopoverTarget, LuPopoverAlignment, LuPopoverPosition, LuPopoverTarget } from '../target/index';\nimport { ALuPopoverTrigger, ILuPopoverTrigger, LuPopoverTriggerEvent } from './popover-trigger.model';\n\n@Directive({\n\tselector: '[luPopover]',\n\texportAs: 'LuPopoverTrigger',\n})\nexport class LuPopoverTriggerDirective<TPanel extends ILuPopoverPanel = ILuPopoverPanel, TTarget extends ILuPopoverTarget = ILuPopoverTarget>\n\textends ALuPopoverTrigger<TPanel, TTarget>\n\timplements ILuPopoverTrigger<TPanel, TTarget>, AfterViewInit, OnDestroy\n{\n\t/** References the popover instance that the trigger is associated with. */\n\t@Input('luPopover') set inputPanel(p: TPanel) {\n\t\tthis.panel = p;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTarget') set inputTarget(t: TTarget) {\n\t\tthis.target = t;\n\t}\n\n\t/** References the popover target instance that the trigger is associated with. */\n\t@Input('luPopoverTrigger') set inputTriggerEvent(te: LuPopoverTriggerEvent) {\n\t\tthis.triggerEvent = te;\n\t}\n\n\t/** Event emitted when the associated popover is opened. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnOpen') onOpen = new EventEmitter<void>();\n\n\t/** Event emitted when the associated popover is closed. */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output('luPopoverOnClose') onClose = new EventEmitter<void>();\n\n\t/** how you want to position the panel relative to the target, allowed values: above, below, before, after */\n\t@Input('luPopoverPosition') set inputPosition(pos: LuPopoverPosition) {\n\t\tthis.target.position = pos;\n\t}\n\t/** how the panel will be align with the target, allowed values: top, bottom, left, right */\n\t@Input('luPopoverAlignment') set inputAlignment(al: LuPopoverAlignment) {\n\t\tthis.target.alignment = al;\n\t}\n\n\t/** when trigger = hover, delay before the popover panel appears */\n\t@Input('luPopoverEnterDelay') set inputEnterDelay(d: number) {\n\t\tthis.enterDelay = d;\n\t}\n\t/** when trigger = hover, delay before the popover panel disappears */\n\t@Input('luPopoverLeaveDelay') set inputLeaveDelay(d: number) {\n\t\tthis.leaveDelay = d;\n\t}\n\n\t/** disable popover apparition */\n\t@Input('luPopoverDisabled') set inputDisabled(d: boolean) {\n\t\tthis.disabled = d;\n\t}\n\n\t/** set to true if you want the panel to appear on top of the target */\n\t@Input('luPopoverOverlap') set inputOverlap(ov: boolean) {\n\t\tthis.target.overlap = ov;\n\t}\n\n\t@Input('luPopoverOffsetX') set inputOffsetX(ox: number) {\n\t\tthis.target.offsetX = ox;\n\t}\n\t@Input('luPopoverOffsetY') set inputOffsetY(oy: number) {\n\t\tthis.target.offsetY = oy;\n\t}\n\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-expanded') get _attrAriaExpanded() {\n\t\treturn this._popoverOpen;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.id') get _attrId() {\n\t\treturn this._triggerId;\n\t}\n\t/** accessibility attribute - dont override */\n\t@HostBinding('attr.aria-controls') get _attrAriaControls() {\n\t\treturn this._panelId;\n\t}\n\n\tconstructor(\n\t\tprotected override _overlay: Overlay,\n\t\tprotected override _elementRef: ElementRef<HTMLElement>,\n\t\tprotected override _viewContainerRef: ViewContainerRef,\n\t) {\n\t\tsuper(_overlay, _elementRef, _viewContainerRef);\n\t\tthis.target = new LuPopoverTarget() as ILuPopoverTarget as TTarget;\n\t\tthis.target.elementRef = this._elementRef;\n\t\tthis._triggerId = this._elementRef.nativeElement.getAttribute('id') || this._triggerId;\n\t}\n\n\t@HostListener('click')\n\toverride onClick() {\n\t\tsuper.onClick();\n\t}\n\n\t@HostListener('mouseenter')\n\toverride onMouseEnter() {\n\t\tsuper.onMouseEnter();\n\t}\n\n\t@HostListener('mouseleave')\n\toverride onMouseLeave() {\n\t\tsuper.onMouseLeave();\n\t}\n\t@HostListener('focus')\n\toverride onFocus() {\n\t\tsuper.onFocus();\n\t}\n\t@HostListener('blur')\n\toverride onBlur() {\n\t\tsuper.onBlur();\n\t}\n\n\tngAfterViewInit() {\n\t\tthis._checkPanel();\n\t\tthis._checkTarget();\n\t}\n\tngOnDestroy() {\n\t\tthis._cleanUpSubscriptions();\n\t\tif (this._popoverOpen) {\n\t\t\tthis.closePopover();\n\t\t}\n\t\tthis.destroyPopover();\n\t}\n\tprotected _emitOpen(): void {\n\t\tthis.onOpen.emit();\n\t}\n\tprotected _emitClose(): void {\n\t\tthis.onClose.emit();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { LuPopoverPanelComponent } from './panel/index';\nimport { LuPopoverTargetDirective } from './target/index';\nimport { LuPopoverTriggerDirective } from './trigger/index';\n\n/**\n * @deprecated use `LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective` instead\n */\n@NgModule({\n\timports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n\texports: [LuPopoverPanelComponent, LuPopoverTargetDirective, LuPopoverTriggerDirective],\n})\nexport class LuPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}