@libs-ui/components-popover 0.2.125 → 0.2.127

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, viewChild, inject, ElementRef, ChangeDetectionStrategy, Component, input, output, effect, untracked } from '@angular/core';
2
+ import { signal, viewChild, inject, ElementRef, Component, ChangeDetectionStrategy, input, output, effect, untracked } from '@angular/core';
3
3
  import { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';
4
4
  import { UtilsUrlSearchParams, cloneIBoundingClientRect, cloneDeep, getViewport, checkMouseOverInContainer, set, get, isNil } from '@libs-ui/utils';
5
5
  import { Subject, interval, take, takeUntil, Subscription, fromEvent } from 'rxjs';
@@ -1 +1 @@
1
- {"version":3,"file":"libs-ui-components-popover.mjs","sources":["../../../../../libs-ui/components/popover/src/defines/get-popover-timer-destroy.define.ts","../../../../../libs-ui/components/popover/src/overlay/overlay.component.ts","../../../../../libs-ui/components/popover/src/overlay/overlay.component.html","../../../../../libs-ui/components/popover/src/popover.component.ts","../../../../../libs-ui/components/popover/src/popover.component.html","../../../../../libs-ui/components/popover/src/libs-ui-components-popover.ts"],"sourcesContent":["import { UtilsUrlSearchParams } from \"@libs-ui/utils\";\n\nexport const KEY_QUERY_POPOVER_TIMER_DESTROY = 'popover-timer-destroy';\n\nconst timerDestroy = parseInt(new UtilsUrlSearchParams(location.href).get(KEY_QUERY_POPOVER_TIMER_DESTROY) || '0');\n\nexport const getPopoverTimerDestroyInQueryUrl = (): number => {\n return timerDestroy;\n};","import { AsyncPipe, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, inject, signal, viewChild } from '@angular/core';\nimport { LibsUiComponentsScrollOverlayDirective } from '@libs-ui/components-scroll-overlay';\nimport { IBoundingClientRect } from '@libs-ui/interfaces-types';\nimport { UtilsUrlSearchParams, cloneDeep, cloneIBoundingClientRect, getViewport } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, interval, take, takeUntil } from 'rxjs';\nimport { IPopoverOverlay } from '../interfaces/overlay.interface';\nimport { TYPE_POPOVER_DIRECTION } from '../interfaces/popover.type';\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-popover-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, NgStyle, AsyncPipe, LibsUiComponentsScrollOverlayDirective, NgTemplateOutlet]\n})\nexport class LibsUiComponentsPopoverOverlayComponent implements OnDestroy {\n /* PROPERTIES */\n protected currentDirection = signal<TYPE_POPOVER_DIRECTION>('bottom');\n protected arrowClass = signal<string>('');\n protected top = signal<number>(0);\n protected left = signal<number>(0);\n protected arrowLeft = signal<number>(0);\n protected arrowTop = signal<number>(0);\n protected config = signal<IPopoverOverlay>({});\n\n private directions = signal<Map<string, Array<TYPE_POPOVER_DIRECTION>>>(new Map());\n private timeout = signal<number>(0);\n private onDestroy = new Subject<void>();\n\n /* OUTPUT */\n readonly outEvent: Subject<TYPE_POPOVER_DIRECTION> = new Subject();\n\n /* VIEW CHILD */\n private container = viewChild.required<ElementRef>('container');\n\n /* INJECT */\n private elementRef = inject(ElementRef);\n\n constructor() {\n this.directions().set('bottom', ['bottom', 'top', 'right', 'left']);\n this.directions().set('right', ['right', 'left', 'bottom', 'top']);\n this.directions().set('left', ['left', 'right', 'bottom', 'top']);\n this.directions().set('top', ['top', 'bottom', 'right', 'left']);\n }\n\n /* FUNCTIONS*/\n public get ElementRef() {\n return this.elementRef;\n }\n\n public get ContainerElement() {\n return this.container().nativeElement;\n }\n\n public setConfig(rectOrigin: IBoundingClientRect, config: IPopoverOverlay, isAddContentToParentDocument?: boolean) {\n isAddContentToParentDocument = isAddContentToParentDocument || config.isAddContentToParentDocument;\n rectOrigin = cloneIBoundingClientRect(rectOrigin);\n this.config.set(cloneDeep(config));\n\n this.container().nativeElement.style.opacity = 0;\n if (this.config().widthByParent) {\n this.config.update(config => ({ ...config, width: rectOrigin.width - (config?.parentBorderWidth || 0) * 2 }));\n }\n let viewPort = getViewport();\n let rectFrame: IBoundingClientRect | undefined = undefined;\n\n if (isAddContentToParentDocument) {\n viewPort = getViewport(window.parent);\n const url = new UtilsUrlSearchParams(location.href);\n const iframeId = url.get('iframeId');\n\n rectFrame = window.parent.document.getElementById(`iframe-${iframeId}`)?.getBoundingClientRect();\n if (rectFrame) {\n rectOrigin.top += rectFrame.top;\n rectOrigin.left += rectFrame.left;\n }\n }\n\n if (this.config().maxHeight === null) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - rectOrigin.top - 44 }));\n }\n\n clearTimeout(this.timeout());\n this.setVariableCss();\n this.setDirections(rectOrigin, viewPort, rectFrame);\n let rectContent = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rectContent.top += rectFrame.top;\n rectContent.left += rectFrame.left;\n }\n\n interval(250).pipe(take(4), takeUntil(this.onDestroy)).subscribe(() => {\n const rect = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rect.top += rectFrame.top;\n rect.left += rectFrame.left;\n }\n if (rect.width !== rectContent.width || rect.height !== rectContent.height || rect.top !== rectContent.top || rect.left !== rectContent.left) {\n clearTimeout(this.timeout());\n this.setDirections(rectOrigin, viewPort, rectFrame);\n rectContent = rect;\n }\n });\n }\n\n private setDirections(rectOrigin: IBoundingClientRect, viewPort: { width: number, height: number }, rectFrame?: IBoundingClientRect) {\n const directions = this.directions().get(this.config().direction || 'bottom') || ['bottom', 'right', 'left', 'top'];\n const positionLast = directions.length - 1;\n\n this.timeout.set(setTimeout(async () => {\n const rectContent = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rectContent.top += rectFrame.top;\n rectContent.left += rectFrame.left;\n }\n for (const index in directions) {\n if (await this.loopDirection(rectOrigin, rectContent, directions[index], positionLast === +index, viewPort)) {\n return;\n }\n }\n }, 50));\n }\n\n private loopDirection(rectOrigin: IBoundingClientRect, rectContent: IBoundingClientRect, direction: TYPE_POPOVER_DIRECTION, isLast: boolean, viewPort: { width: number, height: number }): Promise<boolean> {\n return new Promise(resolve => {\n const positionMode = this.config().position?.mode || 'start';\n const { position } = this.config();\n let result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n\n if (!result) {\n\n if (position) {\n position.mode = positionMode === 'center' || positionMode === 'start' ? 'end' : 'start';\n if (!this.config().ignoreArrow && position.autoUpdatePosition) {\n position.distance = position.mode === 'end' ? position.autoUpdatePosition.endDistance : position.autoUpdatePosition.startDistance;\n }\n this.config.update(config => ({ ...config }));\n }\n result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n }\n if (!result && positionMode === 'center') {\n if (position) {\n position.mode = position.mode === 'start' ? 'end' : 'start';\n this.config.update(config => ({ ...config }));\n }\n result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n }\n if (!result) {\n if (position) {\n position.mode = positionMode;\n this.config.update(config => ({ ...config }));\n }\n\n return resolve(false);\n }\n this.currentDirection.set(direction);\n this.setVariableCss();\n this.setClassArrow(direction);\n this.container().nativeElement.style.opacity = 1;\n this.outEvent.next(direction);\n\n return resolve(true);\n });\n }\n\n private setPosition(direction: TYPE_POPOVER_DIRECTION, rectOrigin: IBoundingClientRect, rectContent: IBoundingClientRect, viewPort: { width: number, height: number }, isLast: boolean): boolean {\n const halfSquare = 6;\n const distanceArrow = 4;\n let bottomPositionRectContent = 0;\n let positionTop = 0;\n let positionLeft = 0;\n let top = 0;\n let left = 0;\n const configValue = this.config();\n\n switch (direction) {\n case 'bottom':\n positionTop = rectOrigin.top + rectOrigin.height + distanceArrow;\n positionLeft = rectOrigin.left + rectOrigin.width / 2 - halfSquare;\n top = positionTop + halfSquare;\n left = positionLeft - rectContent.width / 2 + halfSquare;\n if (configValue.ignoreArrow) {\n top = top - halfSquare - distanceArrow;\n }\n top += configValue.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n left = rectOrigin.left + (configValue.position.distance || 0);\n }\n if (configValue.position?.mode === 'end') {\n left = rectOrigin.left + rectOrigin.width - rectContent.width + (configValue.position.distance || 0);\n }\n left += (configValue.parentBorderWidth || 0);\n\n this.arrowLeft.set(positionLeft - left);\n this.arrowTop.set(-6);\n this.top.set(top);\n this.left.set(left);\n if (top + rectContent.height < viewPort.height && left >= 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n if (isLast) {\n if (this.config) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - rectOrigin.top - rectOrigin.height }));\n }\n left = left >= 0 ? left : 0;\n this.left.set(left);\n }\n\n return false;\n\n case 'right':\n positionTop = rectOrigin.top + rectOrigin.height / 2 - halfSquare;\n positionLeft = rectOrigin.left + rectOrigin.width + distanceArrow;\n top = positionTop - rectContent.height / 2 + halfSquare;\n left = positionLeft + halfSquare;\n\n if (configValue.ignoreArrow) {\n left = positionLeft - distanceArrow;\n }\n\n left += configValue.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n top = rectOrigin.top + (configValue.position?.distance || 0);\n }\n\n if (configValue.position?.mode === 'end') {\n top = rectOrigin.top + rectOrigin.height - rectContent.height + (configValue.position.distance || 0);\n }\n\n bottomPositionRectContent = top + rectContent.height;\n\n if (bottomPositionRectContent > viewPort.height) {\n top = top - (bottomPositionRectContent - viewPort.height);\n }\n\n this.arrowTop.set(positionTop - top + 2);\n this.arrowLeft.set(-9);\n\n this.top.set(top);\n this.left.set(left);\n if (top > 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n\n return false;\n\n case 'left':\n positionTop = rectOrigin.top + rectOrigin.height / 2 - halfSquare;\n positionLeft = rectOrigin.left - (halfSquare * 2) - distanceArrow;\n top = positionTop - rectContent.height / 2 + halfSquare;\n left = positionLeft - rectContent.width + halfSquare;\n if (configValue.ignoreArrow) {\n left = left + halfSquare + distanceArrow;\n }\n\n left -= configValue?.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n top = rectOrigin.top + (configValue.position.distance || 0);\n }\n\n if (configValue.position?.mode === 'end') {\n top = rectOrigin.top + rectOrigin.height - rectContent.height + (configValue.position.distance || 0);\n }\n\n bottomPositionRectContent = top + rectContent.height;\n\n if (bottomPositionRectContent > viewPort.height) {\n top = top - (bottomPositionRectContent - viewPort.height);\n }\n\n this.arrowTop.set(positionTop - top + 2);\n this.arrowLeft.set(rectContent.width - 3);\n\n this.top.set(top);\n this.left.set(left);\n if (left > 0 && top > 0) {\n return true;\n }\n\n return false;\n\n case 'top':\n positionTop = rectOrigin.top - (halfSquare * 2) - distanceArrow;\n positionLeft = rectOrigin.left + rectOrigin.width / 2 - halfSquare;\n top = positionTop - rectContent.height + halfSquare;\n left = positionLeft - rectContent.width / 2 + halfSquare;\n\n if (configValue.ignoreArrow) {\n top = top + halfSquare + distanceArrow;\n }\n\n top -= configValue.directionDistance || 0;\n\n if (configValue.position && configValue.position?.mode === 'start') {\n left = rectOrigin.left + (configValue.position.distance || 0);\n }\n\n if (configValue.position && configValue.position?.mode === 'end') {\n left = rectOrigin.left + rectOrigin.width - rectContent.width + (configValue.position.distance || 0);\n }\n\n left += (configValue.parentBorderWidth || 0);\n this.arrowLeft.set(positionLeft - left);\n this.arrowTop.set(rectContent.height);\n this.top.set(top);\n this.left.set(left);\n if (top > 0 && left >= 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n\n if (isLast) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - (viewPort.height - rectOrigin.top) }));\n top = 0;\n left = left >= 0 ? left : 0;\n this.left.set(left);\n }\n\n return false;\n }\n }\n\n private setClassArrow(direction: TYPE_POPOVER_DIRECTION) {\n if (direction === 'right') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-right');\n }\n if (direction === 'left') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-left');\n }\n if (direction === 'top') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-down');\n }\n\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-up');\n }\n\n private setVariableCss() {\n const configValue = this.config();\n this.ContainerElement.style.setProperty('--libs-ui-popover-overlay-time-animation-time', `${configValue.animationConfig?.time || .4}s`);\n this.ContainerElement.style.setProperty('--libs-ui-popover-overlay-time-animation-distance', `${this.currentDirection() === 'top' ? '-' : ''}${configValue.animationConfig?.distance || 12}px`);\n }\n\n ngOnDestroy() {\n clearTimeout(this.timeout());\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n\n}\n","<div #container\n class=\"libs-ui-popover-overlay {{ config().classInclude || '' }}\"\n [class.libs-ui-popover-overlay-white-theme]=\"config().whiteTheme\"\n [class.libs-ui-popover-overlay-animation-move]=\"config().animationConfig\"\n [ngStyle]=\"config().ngStyles || {}\"\n [style.width]=\"config().width ? config().width + 'px' : 'auto'\"\n [style.maxWidth.px]=\"config().maxWidth\"\n [style.maxHeight.px]=\"config().maxHeight\"\n [style.top.px]=\"top()\"\n [style.left.px]=\"left()\"\n [style.zIndex]=\"config().zIndex || 10\">\n @if (config()) {\n @if (!config().ignoreArrow) {\n <div class='relative'>\n <svg\n [class]=\"'libs-ui-popover-overlay-arrow '+ arrowClass() + ( config().whiteTheme ? ' libs-ui-popover-overlay-white-theme ' : '')\"\n [style.top.px]=\"arrowTop()\"\n [style.left.px]=\"arrowLeft()\"\n [attr.direction]='outEvent | async'>\n <polygon points=\"0,0 6,6 12,0\" />\n Sorry, your browser does not support inline SVG.\n </svg>\n </div>\n }\n @if (config().template; as templateConfig) {\n <div LibsUiComponentsScrollOverlayDirective\n class=\"libs-ui-popover-overlay-body {{ config().classIncludeOverlayBody || '' }}\"\n [attr.isTemplate]=\"true\"\n [style.max-height]=\"(config().maxHeight)+'px'\">\n <ng-container *ngTemplateOutlet=\"templateConfig;context:{itemContext:config().itemContext}\" />\n </div>\n } @else {\n <div class=\"libs-ui-popover-overlay-body libs-ui-font-h7r {{ config().classIncludeOverlayBody || '' }}\"\n LibsUiComponentsScrollOverlayDirective\n [options]=\"config().scrollOverlayOptions\"\n [style.maxHeight.px]=\"config().maxHeight\"\n [style.paddingTop.px]=\"config().paddingTop ?? 8\"\n [style.paddingRight.px]=\"config().paddingRight ?? 8\"\n [style.paddingLeft.px]=\"config().paddingLeft ?? 8\"\n [style.paddingBottom.px]=\"config().paddingBottom ?? 8\"\n [innerHtml]=\"(config().content || ' ') | translate\">\n </div>\n }\n }\n\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ComponentRef, ElementRef, OnDestroy, OnInit, effect, inject, input, output, signal, untracked } from '@angular/core';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { checkMouseOverInContainer, get, getViewport, isNil, set } from '@libs-ui/utils';\nimport { Observable, Subject, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators';\nimport { getPopoverTimerDestroyInQueryUrl } from './defines/get-popover-timer-destroy.define';\nimport { IFlagMouse } from './interfaces/flag-mouse.interface';\nimport { IPopoverFunctionControlEvent } from './interfaces/function-control.interface';\nimport { IPopoverOverlay } from './interfaces/overlay.interface';\nimport { TYPE_POPOVER_DIRECTION, TYPE_POPOVER_EVENT, TYPE_POPOVER_MODE, TYPE_POPOVER_TYPE } from './interfaces/popover.type';\nimport { LibsUiComponentsPopoverOverlayComponent } from './overlay/overlay.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-popover,[LibsUiComponentsPopoverDirective]',\n templateUrl: './popover.component.html',\n styleUrl: './popover.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LibsUiComponentsPopoverComponent implements OnInit, AfterContentInit, OnDestroy {\n /* PROPERTY */\n private mouseEnter!: Observable<MouseEvent>;\n private mouseWheel!: Observable<MouseEvent>;\n private mouseClick!: Observable<MouseEvent>;\n private windowResize!: Observable<MouseEvent>;\n private windowWheel!: Observable<MouseEvent>;\n private windowMouseDown!: Observable<MouseEvent>;\n private windowClick!: Observable<MouseEvent>;\n private windowMouseUp!: Observable<MouseEvent>;\n private windowMousemove!: Observable<MouseEvent>;\n private windowTouch!: Observable<MouseEvent>;\n private popoverOverlayComponent!: ComponentRef<LibsUiComponentsPopoverOverlayComponent> | undefined;\n private subsEventPopup = new Subscription();\n private onDestroy = new Subject<void>();\n private functionsControl?: IPopoverFunctionControlEvent;\n private firstClick = signal<boolean>(false);\n private contentInnerHtml = signal<string>('');\n private timer = signal<number | undefined>(undefined);\n private directionPopover = signal<TYPE_POPOVER_DIRECTION | undefined>(undefined);\n private frameId = signal<string>('');\n\n /* INPUT */\n readonly debugId = input<string>();\n readonly flagMouse = input<IFlagMouse, IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false }, {\n transform: (value: any) => value ? value : { isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false }\n });\n readonly type = input<TYPE_POPOVER_TYPE>('other');\n readonly mode = input<TYPE_POPOVER_MODE>('hover');\n readonly config = input({}, { transform: (value: IPopoverOverlay | undefined) => value ? value : {} });\n readonly ignoreShowPopover = input<boolean>();\n readonly elementRefCustom = input<HTMLElement>();\n readonly classInclude = input<string | undefined, string | undefined>('', { transform: (value) => value ?? '' });\n readonly ignoreHiddenPopoverContentWhenMouseLeave = input<boolean>();\n readonly ignoreStopPropagationEvent = input<boolean>();\n readonly ignoreCursorPointerModeLikeClick = input<boolean>();\n readonly isAddContentToParentDocument = input<boolean>();\n readonly ignoreClickOutside = input<boolean>();\n\n /* OUTPUT */\n readonly outEvent = output<TYPE_POPOVER_EVENT>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n readonly outEventPopoverContent = output<TYPE_POPOVER_DIRECTION>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* INJECT */\n private elementRef = inject(ElementRef);\n private dynamicService = inject(LibsUiDynamicComponentService);\n\n constructor() {\n let classDefault: string | undefined = undefined;\n effect(() => {\n if (classDefault === undefined) {\n classDefault = this.Element.className;\n }\n this.Element.className = classDefault || '';\n if (this.type() === 'text') {\n this.Element.classList.add('popover-text-ellipsis');\n }\n if (this.mode().includes('click') && !this.ignoreCursorPointerModeLikeClick()) {\n this.Element.classList.add('cursor-pointer');\n }\n if (this.classInclude()) {\n this.classInclude()?.split(' ').forEach(className => {\n if (!className) {\n return;\n }\n this.Element.classList.add(className);\n })\n }\n });\n\n let first = true;\n effect(() => {\n this.config();\n untracked(() => {\n if (this.popoverOverlayComponent?.instance && !first) {\n this.updatePopoverOverlayPosition();\n }\n first = false;\n });\n });\n }\n\n ngOnInit(): void {\n this.outEventPopoverContent.subscribe(direction => this.directionPopover.set(direction));\n this.functionsControl = {\n removePopoverOverlay: this.removePopoverOverlay.bind(this),\n updatePopoverOverlayPosition: this.updatePopoverOverlayPosition.bind(this),\n getRectContainer: async () => (this.elementRefCustom() || this.Element).getBoundingClientRect(),\n getRectContent: async () => (this.popoverOverlayComponent?.instance?.ContainerElement)?.getBoundingClientRect(),\n showPopover: this.addPopoverContent.bind(this),\n updatePopoverOverlay: this.updatePopoverOverlay.bind(this),\n };\n this.outFunctionsControl.emit(this.functionsControl);\n }\n\n ngAfterContentInit() {\n const nativeEl = this.Element;\n this.mouseEnter = this.initObservable(nativeEl, 'mouseenter');\n this.mouseClick = this.initObservable(nativeEl, 'click');\n this.mouseWheel = this.initObservable(window, 'wheel');\n this.windowResize = this.initObservable(window, 'resize');\n this.windowWheel = this.initObservable(window, 'wheel');\n this.windowMouseDown = this.initObservable(window, 'mousedown');\n this.windowClick = this.initObservable(window, 'click');\n this.windowMouseUp = this.initObservable(window, 'mouseup');\n this.windowTouch = this.initObservable(window, 'touchstart');\n this.windowMousemove = this.initObservable(window, 'mousemove');\n this.mouseEnter.subscribe(() => {\n\n if (!this.mode().includes('hover')) {\n return;\n }\n\n if (this.type() === 'text' && nativeEl?.clientWidth >= nativeEl.scrollWidth && !this.popoverOverlayComponent) {\n return;\n }\n this.addPopoverContent(nativeEl);\n });\n this.mouseClick.subscribe(() => {\n this.firstClick.update(val => !val);\n this.outEvent.emit('click');\n\n if (!this.mode().startsWith('click')) {\n return;\n }\n\n if (this.mode() === 'click-toggle' && !this.firstClick()) {\n this.removePopoverOverlay();\n\n return;\n }\n this.addPopoverContent(nativeEl);\n });\n this.windowResize.pipe(debounceTime(500)).subscribe(() => {\n if (!this.popoverOverlayComponent) {\n return;\n }\n this.removePopoverOverlay();\n this.addPopoverContent(nativeEl);\n });\n }\n\n /* FUNCTIONS*/\n private async updatePopoverOverlay() {\n const timer = setTimeout(() => {\n clearTimeout(timer);\n if (!this.popoverOverlayComponent?.instance || !this.config()) {\n return;\n }\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n\n instance.setConfig(nativeEl.getBoundingClientRect(), this.config());\n });\n }\n\n private async updatePopoverOverlayPosition() {\n clearTimeout(this.timer());\n this.timer.set(setTimeout(async () => {\n if (!this.popoverOverlayComponent || !this.popoverOverlayComponent.instance || !this.config() || !this.functionsControl) {\n return;\n }\n const viewPort = getViewport();\n const rectListView = await this.functionsControl.getRectContent();\n\n if (!rectListView) {\n return;\n }\n const rectContainer = await this.functionsControl.getRectContainer();\n const distanceListViewAndContainer = this.config()?.ignoreArrow === false ? 14 : 4;\n\n if (this.directionPopover() === 'bottom' && ((rectListView.top + rectListView.height > viewPort.height) || (rectListView.top < (rectContainer.top + rectContainer.height)) || (rectListView.top - (rectContainer.top + rectContainer.height) > distanceListViewAndContainer)) || ((rectListView.left + rectListView.width > viewPort.width))) {\n\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n\n return;\n }\n\n if (this.directionPopover() !== 'top') {\n return;\n }\n if ((rectContainer.top - (rectListView.top + rectListView.height) > distanceListViewAndContainer) || (rectListView.top + rectListView.height + distanceListViewAndContainer > rectContainer.top + 2) || ((rectListView.left + rectListView.width > viewPort.width))) {\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n\n return;\n }\n }, 250));\n }\n\n protected get Element(): HTMLElement {\n return this.elementRef.nativeElement.firstElementChild || this.elementRef.nativeElement;\n }\n\n private initObservable(el: any, eventName: string): Observable<MouseEvent> {\n return fromEvent<MouseEvent>(el, eventName).pipe(\n tap(e => !this.ignoreStopPropagationEvent() && e.stopPropagation()),\n takeUntil(this.onDestroy)\n );\n }\n\n private async addPopoverContent(nativeEl: HTMLElement) {\n if (this.popoverOverlayComponent || this.ignoreShowPopover() || !this.config()) {\n return;\n }\n\n this.popoverOverlayComponent = this.dynamicService.resolveComponentFactory(LibsUiComponentsPopoverOverlayComponent);\n this.frameId.set(this.dynamicService.addToBody(this.popoverOverlayComponent, this.isAddContentToParentDocument() || this.config().isAddContentToParentDocument));\n this.outEvent.emit('show');\n const instance = this.popoverOverlayComponent.instance;\n\n nativeEl = this.elementRefCustom() || nativeEl;\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n const flagsMouses: IFlagMouse = {\n isMouseEnter: true,\n isMouseEnterContent: false,\n isContainerHasScroll: nativeEl.offsetHeight < nativeEl.scrollHeight\n };\n const nativeElContainer = instance.ElementRef.nativeElement;\n const mouseEnterContent = this.initObservable(nativeElContainer, 'mouseenter');\n const mouseLeaveContent = this.initObservable(nativeElContainer, 'mouseleave');\n this.subsEventPopup.add(instance.outEvent.subscribe((direction: TYPE_POPOVER_DIRECTION) => {\n this.outEventPopoverContent.emit(direction);\n }));\n\n this.subsEventPopup.add(mouseEnterContent.subscribe(() => {\n this.outEvent.emit('mouseenter-content');\n flagsMouses.isMouseEnterContent = true;\n this.outChangStageFlagMouse.emit(flagsMouses);\n }));\n\n this.subsEventPopup.add(this.mouseEnter.subscribe(() => {\n this.outEvent.emit('mouseenter-element');\n this.outChangStageFlagMouse.emit(flagsMouses);\n }));\n\n this.subsEventPopup.add(this.mouseWheel.subscribe(() => {\n flagsMouses.isContainerHasScroll = false;\n\n if (nativeEl.offsetHeight < nativeEl.scrollHeight) {\n flagsMouses.isContainerHasScroll = true;\n }\n if ((flagsMouses.isMouseEnter && flagsMouses.isContainerHasScroll) || flagsMouses.isMouseEnterContent || this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent) {\n return;\n }\n this.removePopoverOverlay();\n }));\n this.handlerMouseLeaveRemovePopoverOverlay(this.windowMousemove, flagsMouses, 'isMouseEnter', 'isMouseEnterContent', 'mouseleave-element');\n this.handlerMouseLeaveRemovePopoverOverlay(mouseLeaveContent, flagsMouses, 'isMouseEnterContent', 'isMouseEnter', 'mouseleave-content');\n\n if (this.mode() === 'click_open_and_click_panel_content_hidden') {\n this.subsEventPopup.add(this.initObservable(nativeElContainer, 'click').subscribe(() => {\n this.removePopoverOverlay();\n }));\n }\n\n this.handlerWindowEventRemovePopoverOverlay(this.windowClick, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowMouseDown, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowMouseUp, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowWheel, flagsMouses);\n this.subsEventPopup.add(this.windowTouch.subscribe(() => {\n this.removePopoverOverlay();\n }));\n }\n\n private handlerWindowEventRemovePopoverOverlay(obs: Observable<MouseEvent>, flagsMouses: IFlagMouse) {\n this.subsEventPopup.add(obs.pipe(debounceTime(10)).subscribe(() => {\n if (flagsMouses.isMouseEnter || flagsMouses.isMouseEnterContent || this.ignoreClickOutside()) {\n return;\n }\n if (this.flagMouse() && (this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent)) {\n return;\n }\n this.firstClick.set(false);\n this.removePopoverOverlay();\n }));\n }\n\n private handlerMouseLeaveRemovePopoverOverlay(obs: Observable<MouseEvent>, flagsMouses: { isMouseEnter: boolean, isMouseEnterContent: boolean }, flagKeyChangeValue: string, flagKeyCheck: string, outEvent: TYPE_POPOVER_EVENT) {\n this.subsEventPopup.add(obs.pipe(\n tap(() => this.outEvent.emit(outEvent)),\n debounceTime(getPopoverTimerDestroyInQueryUrl() || this.config()?.timerDestroy || 0)\n ).subscribe((e: MouseEvent) => {\n if (outEvent === 'mouseleave-element' && (checkMouseOverInContainer(e, this.Element) || checkMouseOverInContainer({ clientX: e.clientX + 2, clientY: e.clientY + 2 }, this.Element) || checkMouseOverInContainer({ clientX: e.clientX - 2, clientY: e.clientY - 2 }, this.Element))) {\n return;\n }\n set(flagsMouses, flagKeyChangeValue, false);\n this.outChangStageFlagMouse.emit(flagsMouses);\n if (this.flagMouse() && (this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent)) {\n return;\n }\n\n if (get(flagsMouses, flagKeyCheck) || this.ignoreHiddenPopoverContentWhenMouseLeave()) {\n return;\n }\n this.removePopoverOverlay();\n }));\n }\n\n private getDefaultConfigs(): IPopoverOverlay {\n const configValue = this.config() || {};\n if ((isNil(configValue.content)) || (configValue.content === this.contentInnerHtml() && this.contentInnerHtml() !== this.elementRef.nativeElement.innerHTML)) {\n configValue.content = this.elementRef.nativeElement.innerHTML;\n }\n this.contentInnerHtml.set(this.elementRef.nativeElement.innerHTML);\n if (!configValue.maxWidth) {\n configValue.maxWidth = 250;\n }\n if (configValue.maxHeight === undefined || configValue.maxHeight === 0) {\n configValue.maxHeight = 140;\n }\n if (!configValue.direction) {\n configValue.direction = 'bottom';\n }\n if (!configValue.position) {\n configValue.position = {\n mode: 'center',\n distance: 0\n };\n }\n\n return configValue;\n }\n\n private async removePopoverOverlay() {\n if (this.popoverOverlayComponent) {\n this.outEvent.emit('remove');\n this.subsEventPopup.unsubscribe();\n this.subsEventPopup = new Subscription();\n }\n this.dynamicService.remove(this.popoverOverlayComponent, this.frameId());\n this.frameId.set('');\n this.popoverOverlayComponent = undefined;\n this.firstClick.set(false);\n }\n\n ngOnDestroy() {\n clearTimeout(this.timer());\n this.removePopoverOverlay();\n this.onDestroy.next();\n this.onDestroy.complete();\n this.subsEventPopup.unsubscribe();\n }\n}\n","<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil"],"mappings":"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"}
1
+ {"version":3,"file":"libs-ui-components-popover.mjs","sources":["../../../../../libs-ui/components/popover/src/defines/get-popover-timer-destroy.define.ts","../../../../../libs-ui/components/popover/src/overlay/overlay.component.ts","../../../../../libs-ui/components/popover/src/overlay/overlay.component.html","../../../../../libs-ui/components/popover/src/popover.component.ts","../../../../../libs-ui/components/popover/src/popover.component.html","../../../../../libs-ui/components/popover/src/libs-ui-components-popover.ts"],"sourcesContent":["import { UtilsUrlSearchParams } from \"@libs-ui/utils\";\n\nexport const KEY_QUERY_POPOVER_TIMER_DESTROY = 'popover-timer-destroy';\n\nconst timerDestroy = parseInt(new UtilsUrlSearchParams(location.href).get(KEY_QUERY_POPOVER_TIMER_DESTROY) || '0');\n\nexport const getPopoverTimerDestroyInQueryUrl = (): number => {\n return timerDestroy;\n};","import { AsyncPipe, NgStyle, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, OnDestroy, inject, signal, viewChild } from '@angular/core';\nimport { LibsUiComponentsScrollOverlayDirective } from '@libs-ui/components-scroll-overlay';\nimport { IBoundingClientRect } from '@libs-ui/interfaces-types';\nimport { UtilsUrlSearchParams, cloneDeep, cloneIBoundingClientRect, getViewport } from '@libs-ui/utils';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { Subject, interval, take, takeUntil } from 'rxjs';\nimport { IPopoverOverlay } from '../interfaces/overlay.interface';\nimport { TYPE_POPOVER_DIRECTION } from '../interfaces/popover.type';\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-popover-overlay',\n templateUrl: './overlay.component.html',\n styleUrls: ['./overlay.component.scss'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [TranslateModule, NgStyle, AsyncPipe, LibsUiComponentsScrollOverlayDirective, NgTemplateOutlet]\n})\nexport class LibsUiComponentsPopoverOverlayComponent implements OnDestroy {\n /* PROPERTIES */\n protected currentDirection = signal<TYPE_POPOVER_DIRECTION>('bottom');\n protected arrowClass = signal<string>('');\n protected top = signal<number>(0);\n protected left = signal<number>(0);\n protected arrowLeft = signal<number>(0);\n protected arrowTop = signal<number>(0);\n protected config = signal<IPopoverOverlay>({});\n\n private directions = signal<Map<string, Array<TYPE_POPOVER_DIRECTION>>>(new Map());\n private timeout = signal<number>(0);\n private onDestroy = new Subject<void>();\n\n /* OUTPUT */\n readonly outEvent: Subject<TYPE_POPOVER_DIRECTION> = new Subject();\n\n /* VIEW CHILD */\n private container = viewChild.required<ElementRef>('container');\n\n /* INJECT */\n private elementRef = inject(ElementRef);\n\n constructor() {\n this.directions().set('bottom', ['bottom', 'top', 'right', 'left']);\n this.directions().set('right', ['right', 'left', 'bottom', 'top']);\n this.directions().set('left', ['left', 'right', 'bottom', 'top']);\n this.directions().set('top', ['top', 'bottom', 'right', 'left']);\n }\n\n /* FUNCTIONS*/\n public get ElementRef() {\n return this.elementRef;\n }\n\n public get ContainerElement() {\n return this.container().nativeElement;\n }\n\n public setConfig(rectOrigin: IBoundingClientRect, config: IPopoverOverlay, isAddContentToParentDocument?: boolean) {\n isAddContentToParentDocument = isAddContentToParentDocument || config.isAddContentToParentDocument;\n rectOrigin = cloneIBoundingClientRect(rectOrigin);\n this.config.set(cloneDeep(config));\n\n this.container().nativeElement.style.opacity = 0;\n if (this.config().widthByParent) {\n this.config.update(config => ({ ...config, width: rectOrigin.width - (config?.parentBorderWidth || 0) * 2 }));\n }\n let viewPort = getViewport();\n let rectFrame: IBoundingClientRect | undefined = undefined;\n\n if (isAddContentToParentDocument) {\n viewPort = getViewport(window.parent);\n const url = new UtilsUrlSearchParams(location.href);\n const iframeId = url.get('iframeId');\n\n rectFrame = window.parent.document.getElementById(`iframe-${iframeId}`)?.getBoundingClientRect();\n if (rectFrame) {\n rectOrigin.top += rectFrame.top;\n rectOrigin.left += rectFrame.left;\n }\n }\n\n if (this.config().maxHeight === null) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - rectOrigin.top - 44 }));\n }\n\n clearTimeout(this.timeout());\n this.setVariableCss();\n this.setDirections(rectOrigin, viewPort, rectFrame);\n let rectContent = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rectContent.top += rectFrame.top;\n rectContent.left += rectFrame.left;\n }\n\n interval(250).pipe(take(4), takeUntil(this.onDestroy)).subscribe(() => {\n const rect = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rect.top += rectFrame.top;\n rect.left += rectFrame.left;\n }\n if (rect.width !== rectContent.width || rect.height !== rectContent.height || rect.top !== rectContent.top || rect.left !== rectContent.left) {\n clearTimeout(this.timeout());\n this.setDirections(rectOrigin, viewPort, rectFrame);\n rectContent = rect;\n }\n });\n }\n\n private setDirections(rectOrigin: IBoundingClientRect, viewPort: { width: number, height: number }, rectFrame?: IBoundingClientRect) {\n const directions = this.directions().get(this.config().direction || 'bottom') || ['bottom', 'right', 'left', 'top'];\n const positionLast = directions.length - 1;\n\n this.timeout.set(setTimeout(async () => {\n const rectContent = cloneIBoundingClientRect(this.container().nativeElement.getBoundingClientRect());\n\n if (rectFrame) {\n rectContent.top += rectFrame.top;\n rectContent.left += rectFrame.left;\n }\n for (const index in directions) {\n if (await this.loopDirection(rectOrigin, rectContent, directions[index], positionLast === +index, viewPort)) {\n return;\n }\n }\n }, 50));\n }\n\n private loopDirection(rectOrigin: IBoundingClientRect, rectContent: IBoundingClientRect, direction: TYPE_POPOVER_DIRECTION, isLast: boolean, viewPort: { width: number, height: number }): Promise<boolean> {\n return new Promise(resolve => {\n const positionMode = this.config().position?.mode || 'start';\n const { position } = this.config();\n let result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n\n if (!result) {\n\n if (position) {\n position.mode = positionMode === 'center' || positionMode === 'start' ? 'end' : 'start';\n if (!this.config().ignoreArrow && position.autoUpdatePosition) {\n position.distance = position.mode === 'end' ? position.autoUpdatePosition.endDistance : position.autoUpdatePosition.startDistance;\n }\n this.config.update(config => ({ ...config }));\n }\n result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n }\n if (!result && positionMode === 'center') {\n if (position) {\n position.mode = position.mode === 'start' ? 'end' : 'start';\n this.config.update(config => ({ ...config }));\n }\n result = this.setPosition(direction, rectOrigin, (rectContent as IBoundingClientRect), viewPort, isLast);\n }\n if (!result) {\n if (position) {\n position.mode = positionMode;\n this.config.update(config => ({ ...config }));\n }\n\n return resolve(false);\n }\n this.currentDirection.set(direction);\n this.setVariableCss();\n this.setClassArrow(direction);\n this.container().nativeElement.style.opacity = 1;\n this.outEvent.next(direction);\n\n return resolve(true);\n });\n }\n\n private setPosition(direction: TYPE_POPOVER_DIRECTION, rectOrigin: IBoundingClientRect, rectContent: IBoundingClientRect, viewPort: { width: number, height: number }, isLast: boolean): boolean {\n const halfSquare = 6;\n const distanceArrow = 4;\n let bottomPositionRectContent = 0;\n let positionTop = 0;\n let positionLeft = 0;\n let top = 0;\n let left = 0;\n const configValue = this.config();\n\n switch (direction) {\n case 'bottom':\n positionTop = rectOrigin.top + rectOrigin.height + distanceArrow;\n positionLeft = rectOrigin.left + rectOrigin.width / 2 - halfSquare;\n top = positionTop + halfSquare;\n left = positionLeft - rectContent.width / 2 + halfSquare;\n if (configValue.ignoreArrow) {\n top = top - halfSquare - distanceArrow;\n }\n top += configValue.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n left = rectOrigin.left + (configValue.position.distance || 0);\n }\n if (configValue.position?.mode === 'end') {\n left = rectOrigin.left + rectOrigin.width - rectContent.width + (configValue.position.distance || 0);\n }\n left += (configValue.parentBorderWidth || 0);\n\n this.arrowLeft.set(positionLeft - left);\n this.arrowTop.set(-6);\n this.top.set(top);\n this.left.set(left);\n if (top + rectContent.height < viewPort.height && left >= 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n if (isLast) {\n if (this.config) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - rectOrigin.top - rectOrigin.height }));\n }\n left = left >= 0 ? left : 0;\n this.left.set(left);\n }\n\n return false;\n\n case 'right':\n positionTop = rectOrigin.top + rectOrigin.height / 2 - halfSquare;\n positionLeft = rectOrigin.left + rectOrigin.width + distanceArrow;\n top = positionTop - rectContent.height / 2 + halfSquare;\n left = positionLeft + halfSquare;\n\n if (configValue.ignoreArrow) {\n left = positionLeft - distanceArrow;\n }\n\n left += configValue.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n top = rectOrigin.top + (configValue.position?.distance || 0);\n }\n\n if (configValue.position?.mode === 'end') {\n top = rectOrigin.top + rectOrigin.height - rectContent.height + (configValue.position.distance || 0);\n }\n\n bottomPositionRectContent = top + rectContent.height;\n\n if (bottomPositionRectContent > viewPort.height) {\n top = top - (bottomPositionRectContent - viewPort.height);\n }\n\n this.arrowTop.set(positionTop - top + 2);\n this.arrowLeft.set(-9);\n\n this.top.set(top);\n this.left.set(left);\n if (top > 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n\n return false;\n\n case 'left':\n positionTop = rectOrigin.top + rectOrigin.height / 2 - halfSquare;\n positionLeft = rectOrigin.left - (halfSquare * 2) - distanceArrow;\n top = positionTop - rectContent.height / 2 + halfSquare;\n left = positionLeft - rectContent.width + halfSquare;\n if (configValue.ignoreArrow) {\n left = left + halfSquare + distanceArrow;\n }\n\n left -= configValue?.directionDistance || 0;\n if (configValue.position?.mode === 'start') {\n top = rectOrigin.top + (configValue.position.distance || 0);\n }\n\n if (configValue.position?.mode === 'end') {\n top = rectOrigin.top + rectOrigin.height - rectContent.height + (configValue.position.distance || 0);\n }\n\n bottomPositionRectContent = top + rectContent.height;\n\n if (bottomPositionRectContent > viewPort.height) {\n top = top - (bottomPositionRectContent - viewPort.height);\n }\n\n this.arrowTop.set(positionTop - top + 2);\n this.arrowLeft.set(rectContent.width - 3);\n\n this.top.set(top);\n this.left.set(left);\n if (left > 0 && top > 0) {\n return true;\n }\n\n return false;\n\n case 'top':\n positionTop = rectOrigin.top - (halfSquare * 2) - distanceArrow;\n positionLeft = rectOrigin.left + rectOrigin.width / 2 - halfSquare;\n top = positionTop - rectContent.height + halfSquare;\n left = positionLeft - rectContent.width / 2 + halfSquare;\n\n if (configValue.ignoreArrow) {\n top = top + halfSquare + distanceArrow;\n }\n\n top -= configValue.directionDistance || 0;\n\n if (configValue.position && configValue.position?.mode === 'start') {\n left = rectOrigin.left + (configValue.position.distance || 0);\n }\n\n if (configValue.position && configValue.position?.mode === 'end') {\n left = rectOrigin.left + rectOrigin.width - rectContent.width + (configValue.position.distance || 0);\n }\n\n left += (configValue.parentBorderWidth || 0);\n this.arrowLeft.set(positionLeft - left);\n this.arrowTop.set(rectContent.height);\n this.top.set(top);\n this.left.set(left);\n if (top > 0 && left >= 0 && left + rectContent.width < viewPort.width) {\n return true;\n }\n\n if (isLast) {\n this.config.update(config => ({ ...config, maxHeight: viewPort.height - (viewPort.height - rectOrigin.top) }));\n top = 0;\n left = left >= 0 ? left : 0;\n this.left.set(left);\n }\n\n return false;\n }\n }\n\n private setClassArrow(direction: TYPE_POPOVER_DIRECTION) {\n if (direction === 'right') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-right');\n }\n if (direction === 'left') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-left');\n }\n if (direction === 'top') {\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-down');\n }\n\n return this.arrowClass.set('libs-ui-popover-overlay-arrow-up');\n }\n\n private setVariableCss() {\n const configValue = this.config();\n this.ContainerElement.style.setProperty('--libs-ui-popover-overlay-time-animation-time', `${configValue.animationConfig?.time || .4}s`);\n this.ContainerElement.style.setProperty('--libs-ui-popover-overlay-time-animation-distance', `${this.currentDirection() === 'top' ? '-' : ''}${configValue.animationConfig?.distance || 12}px`);\n }\n\n ngOnDestroy() {\n clearTimeout(this.timeout());\n this.onDestroy.next();\n this.onDestroy.complete();\n }\n\n}\n","<div #container\n class=\"libs-ui-popover-overlay {{ config().classInclude || '' }}\"\n [class.libs-ui-popover-overlay-white-theme]=\"config().whiteTheme\"\n [class.libs-ui-popover-overlay-animation-move]=\"config().animationConfig\"\n [ngStyle]=\"config().ngStyles || {}\"\n [style.width]=\"config().width ? config().width + 'px' : 'auto'\"\n [style.maxWidth.px]=\"config().maxWidth\"\n [style.maxHeight.px]=\"config().maxHeight\"\n [style.top.px]=\"top()\"\n [style.left.px]=\"left()\"\n [style.zIndex]=\"config().zIndex || 10\">\n @if (config()) {\n @if (!config().ignoreArrow) {\n <div class='relative'>\n <svg\n [class]=\"'libs-ui-popover-overlay-arrow '+ arrowClass() + ( config().whiteTheme ? ' libs-ui-popover-overlay-white-theme ' : '')\"\n [style.top.px]=\"arrowTop()\"\n [style.left.px]=\"arrowLeft()\"\n [attr.direction]='outEvent | async'>\n <polygon points=\"0,0 6,6 12,0\" />\n Sorry, your browser does not support inline SVG.\n </svg>\n </div>\n }\n @if (config().template; as templateConfig) {\n <div LibsUiComponentsScrollOverlayDirective\n class=\"libs-ui-popover-overlay-body {{ config().classIncludeOverlayBody || '' }}\"\n [attr.isTemplate]=\"true\"\n [style.max-height]=\"(config().maxHeight)+'px'\">\n <ng-container *ngTemplateOutlet=\"templateConfig;context:{itemContext:config().itemContext}\" />\n </div>\n } @else {\n <div class=\"libs-ui-popover-overlay-body libs-ui-font-h7r {{ config().classIncludeOverlayBody || '' }}\"\n LibsUiComponentsScrollOverlayDirective\n [options]=\"config().scrollOverlayOptions\"\n [style.maxHeight.px]=\"config().maxHeight\"\n [style.paddingTop.px]=\"config().paddingTop ?? 8\"\n [style.paddingRight.px]=\"config().paddingRight ?? 8\"\n [style.paddingLeft.px]=\"config().paddingLeft ?? 8\"\n [style.paddingBottom.px]=\"config().paddingBottom ?? 8\"\n [innerHtml]=\"(config().content || ' ') | translate\">\n </div>\n }\n }\n\n</div>\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { AfterContentInit, ChangeDetectionStrategy, Component, ComponentRef, ElementRef, OnDestroy, OnInit, effect, inject, input, output, signal, untracked } from '@angular/core';\nimport { LibsUiDynamicComponentService } from '@libs-ui/services-dynamic-component';\nimport { checkMouseOverInContainer, get, getViewport, isNil, set } from '@libs-ui/utils';\nimport { Observable, Subject, Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators';\nimport { getPopoverTimerDestroyInQueryUrl } from './defines/get-popover-timer-destroy.define';\nimport { IFlagMouse } from './interfaces/flag-mouse.interface';\nimport { IPopoverFunctionControlEvent } from './interfaces/function-control.interface';\nimport { IPopoverOverlay } from './interfaces/overlay.interface';\nimport { TYPE_POPOVER_DIRECTION, TYPE_POPOVER_EVENT, TYPE_POPOVER_MODE, TYPE_POPOVER_TYPE } from './interfaces/popover.type';\nimport { LibsUiComponentsPopoverOverlayComponent } from './overlay/overlay.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'libs_ui-components-popover,[LibsUiComponentsPopoverDirective]',\n templateUrl: './popover.component.html',\n styleUrl: './popover.component.scss',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LibsUiComponentsPopoverComponent implements OnInit, AfterContentInit, OnDestroy {\n /* PROPERTY */\n private mouseEnter!: Observable<MouseEvent>;\n private mouseWheel!: Observable<MouseEvent>;\n private mouseClick!: Observable<MouseEvent>;\n private windowResize!: Observable<MouseEvent>;\n private windowWheel!: Observable<MouseEvent>;\n private windowMouseDown!: Observable<MouseEvent>;\n private windowClick!: Observable<MouseEvent>;\n private windowMouseUp!: Observable<MouseEvent>;\n private windowMousemove!: Observable<MouseEvent>;\n private windowTouch!: Observable<MouseEvent>;\n private popoverOverlayComponent!: ComponentRef<LibsUiComponentsPopoverOverlayComponent> | undefined;\n private subsEventPopup = new Subscription();\n private onDestroy = new Subject<void>();\n private functionsControl?: IPopoverFunctionControlEvent;\n private firstClick = signal<boolean>(false);\n private contentInnerHtml = signal<string>('');\n private timer = signal<number | undefined>(undefined);\n private directionPopover = signal<TYPE_POPOVER_DIRECTION | undefined>(undefined);\n private frameId = signal<string>('');\n\n /* INPUT */\n readonly debugId = input<string>();\n readonly flagMouse = input<IFlagMouse, IFlagMouse>({ isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false }, {\n transform: (value: any) => value ? value : { isMouseEnter: false, isMouseEnterContent: false, isContainerHasScroll: false }\n });\n readonly type = input<TYPE_POPOVER_TYPE>('other');\n readonly mode = input<TYPE_POPOVER_MODE>('hover');\n readonly config = input({}, { transform: (value: IPopoverOverlay | undefined) => value ? value : {} });\n readonly ignoreShowPopover = input<boolean>();\n readonly elementRefCustom = input<HTMLElement>();\n readonly classInclude = input<string | undefined, string | undefined>('', { transform: (value) => value ?? '' });\n readonly ignoreHiddenPopoverContentWhenMouseLeave = input<boolean>();\n readonly ignoreStopPropagationEvent = input<boolean>();\n readonly ignoreCursorPointerModeLikeClick = input<boolean>();\n readonly isAddContentToParentDocument = input<boolean>();\n readonly ignoreClickOutside = input<boolean>();\n\n /* OUTPUT */\n readonly outEvent = output<TYPE_POPOVER_EVENT>();\n readonly outChangStageFlagMouse = output<IFlagMouse>();\n readonly outEventPopoverContent = output<TYPE_POPOVER_DIRECTION>();\n readonly outFunctionsControl = output<IPopoverFunctionControlEvent>();\n\n /* INJECT */\n private elementRef = inject(ElementRef);\n private dynamicService = inject(LibsUiDynamicComponentService);\n\n constructor() {\n let classDefault: string | undefined = undefined;\n effect(() => {\n if (classDefault === undefined) {\n classDefault = this.Element.className;\n }\n this.Element.className = classDefault || '';\n if (this.type() === 'text') {\n this.Element.classList.add('popover-text-ellipsis');\n }\n if (this.mode().includes('click') && !this.ignoreCursorPointerModeLikeClick()) {\n this.Element.classList.add('cursor-pointer');\n }\n if (this.classInclude()) {\n this.classInclude()?.split(' ').forEach(className => {\n if (!className) {\n return;\n }\n this.Element.classList.add(className);\n })\n }\n });\n\n let first = true;\n effect(() => {\n this.config();\n untracked(() => {\n if (this.popoverOverlayComponent?.instance && !first) {\n this.updatePopoverOverlayPosition();\n }\n first = false;\n });\n });\n }\n\n ngOnInit(): void {\n this.outEventPopoverContent.subscribe(direction => this.directionPopover.set(direction));\n this.functionsControl = {\n removePopoverOverlay: this.removePopoverOverlay.bind(this),\n updatePopoverOverlayPosition: this.updatePopoverOverlayPosition.bind(this),\n getRectContainer: async () => (this.elementRefCustom() || this.Element).getBoundingClientRect(),\n getRectContent: async () => (this.popoverOverlayComponent?.instance?.ContainerElement)?.getBoundingClientRect(),\n showPopover: this.addPopoverContent.bind(this),\n updatePopoverOverlay: this.updatePopoverOverlay.bind(this),\n };\n this.outFunctionsControl.emit(this.functionsControl);\n }\n\n ngAfterContentInit() {\n const nativeEl = this.Element;\n this.mouseEnter = this.initObservable(nativeEl, 'mouseenter');\n this.mouseClick = this.initObservable(nativeEl, 'click');\n this.mouseWheel = this.initObservable(window, 'wheel');\n this.windowResize = this.initObservable(window, 'resize');\n this.windowWheel = this.initObservable(window, 'wheel');\n this.windowMouseDown = this.initObservable(window, 'mousedown');\n this.windowClick = this.initObservable(window, 'click');\n this.windowMouseUp = this.initObservable(window, 'mouseup');\n this.windowTouch = this.initObservable(window, 'touchstart');\n this.windowMousemove = this.initObservable(window, 'mousemove');\n this.mouseEnter.subscribe(() => {\n\n if (!this.mode().includes('hover')) {\n return;\n }\n\n if (this.type() === 'text' && nativeEl?.clientWidth >= nativeEl.scrollWidth && !this.popoverOverlayComponent) {\n return;\n }\n this.addPopoverContent(nativeEl);\n });\n this.mouseClick.subscribe(() => {\n this.firstClick.update(val => !val);\n this.outEvent.emit('click');\n\n if (!this.mode().startsWith('click')) {\n return;\n }\n\n if (this.mode() === 'click-toggle' && !this.firstClick()) {\n this.removePopoverOverlay();\n\n return;\n }\n this.addPopoverContent(nativeEl);\n });\n this.windowResize.pipe(debounceTime(500)).subscribe(() => {\n if (!this.popoverOverlayComponent) {\n return;\n }\n this.removePopoverOverlay();\n this.addPopoverContent(nativeEl);\n });\n }\n\n /* FUNCTIONS*/\n private async updatePopoverOverlay() {\n const timer = setTimeout(() => {\n clearTimeout(timer);\n if (!this.popoverOverlayComponent?.instance || !this.config()) {\n return;\n }\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n\n instance.setConfig(nativeEl.getBoundingClientRect(), this.config());\n });\n }\n\n private async updatePopoverOverlayPosition() {\n clearTimeout(this.timer());\n this.timer.set(setTimeout(async () => {\n if (!this.popoverOverlayComponent || !this.popoverOverlayComponent.instance || !this.config() || !this.functionsControl) {\n return;\n }\n const viewPort = getViewport();\n const rectListView = await this.functionsControl.getRectContent();\n\n if (!rectListView) {\n return;\n }\n const rectContainer = await this.functionsControl.getRectContainer();\n const distanceListViewAndContainer = this.config()?.ignoreArrow === false ? 14 : 4;\n\n if (this.directionPopover() === 'bottom' && ((rectListView.top + rectListView.height > viewPort.height) || (rectListView.top < (rectContainer.top + rectContainer.height)) || (rectListView.top - (rectContainer.top + rectContainer.height) > distanceListViewAndContainer)) || ((rectListView.left + rectListView.width > viewPort.width))) {\n\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n\n return;\n }\n\n if (this.directionPopover() !== 'top') {\n return;\n }\n if ((rectContainer.top - (rectListView.top + rectListView.height) > distanceListViewAndContainer) || (rectListView.top + rectListView.height + distanceListViewAndContainer > rectContainer.top + 2) || ((rectListView.left + rectListView.width > viewPort.width))) {\n const instance = this.popoverOverlayComponent.instance;\n const nativeEl = this.elementRefCustom() || this.Element;\n\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n\n return;\n }\n }, 250));\n }\n\n protected get Element(): HTMLElement {\n return this.elementRef.nativeElement.firstElementChild || this.elementRef.nativeElement;\n }\n\n private initObservable(el: any, eventName: string): Observable<MouseEvent> {\n return fromEvent<MouseEvent>(el, eventName).pipe(\n tap(e => !this.ignoreStopPropagationEvent() && e.stopPropagation()),\n takeUntil(this.onDestroy)\n );\n }\n\n private async addPopoverContent(nativeEl: HTMLElement) {\n if (this.popoverOverlayComponent || this.ignoreShowPopover() || !this.config()) {\n return;\n }\n\n this.popoverOverlayComponent = this.dynamicService.resolveComponentFactory(LibsUiComponentsPopoverOverlayComponent);\n this.frameId.set(this.dynamicService.addToBody(this.popoverOverlayComponent, this.isAddContentToParentDocument() || this.config().isAddContentToParentDocument));\n this.outEvent.emit('show');\n const instance = this.popoverOverlayComponent.instance;\n\n nativeEl = this.elementRefCustom() || nativeEl;\n instance.setConfig(nativeEl.getBoundingClientRect(), { ... (this.config() || {}), ...this.getDefaultConfigs() }, this.isAddContentToParentDocument());\n const flagsMouses: IFlagMouse = {\n isMouseEnter: true,\n isMouseEnterContent: false,\n isContainerHasScroll: nativeEl.offsetHeight < nativeEl.scrollHeight\n };\n const nativeElContainer = instance.ElementRef.nativeElement;\n const mouseEnterContent = this.initObservable(nativeElContainer, 'mouseenter');\n const mouseLeaveContent = this.initObservable(nativeElContainer, 'mouseleave');\n this.subsEventPopup.add(instance.outEvent.subscribe((direction: TYPE_POPOVER_DIRECTION) => {\n this.outEventPopoverContent.emit(direction);\n }));\n\n this.subsEventPopup.add(mouseEnterContent.subscribe(() => {\n this.outEvent.emit('mouseenter-content');\n flagsMouses.isMouseEnterContent = true;\n this.outChangStageFlagMouse.emit(flagsMouses);\n }));\n\n this.subsEventPopup.add(this.mouseEnter.subscribe(() => {\n this.outEvent.emit('mouseenter-element');\n this.outChangStageFlagMouse.emit(flagsMouses);\n }));\n\n this.subsEventPopup.add(this.mouseWheel.subscribe(() => {\n flagsMouses.isContainerHasScroll = false;\n\n if (nativeEl.offsetHeight < nativeEl.scrollHeight) {\n flagsMouses.isContainerHasScroll = true;\n }\n if ((flagsMouses.isMouseEnter && flagsMouses.isContainerHasScroll) || flagsMouses.isMouseEnterContent || this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent) {\n return;\n }\n this.removePopoverOverlay();\n }));\n this.handlerMouseLeaveRemovePopoverOverlay(this.windowMousemove, flagsMouses, 'isMouseEnter', 'isMouseEnterContent', 'mouseleave-element');\n this.handlerMouseLeaveRemovePopoverOverlay(mouseLeaveContent, flagsMouses, 'isMouseEnterContent', 'isMouseEnter', 'mouseleave-content');\n\n if (this.mode() === 'click_open_and_click_panel_content_hidden') {\n this.subsEventPopup.add(this.initObservable(nativeElContainer, 'click').subscribe(() => {\n this.removePopoverOverlay();\n }));\n }\n\n this.handlerWindowEventRemovePopoverOverlay(this.windowClick, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowMouseDown, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowMouseUp, flagsMouses);\n this.handlerWindowEventRemovePopoverOverlay(this.windowWheel, flagsMouses);\n this.subsEventPopup.add(this.windowTouch.subscribe(() => {\n this.removePopoverOverlay();\n }));\n }\n\n private handlerWindowEventRemovePopoverOverlay(obs: Observable<MouseEvent>, flagsMouses: IFlagMouse) {\n this.subsEventPopup.add(obs.pipe(debounceTime(10)).subscribe(() => {\n if (flagsMouses.isMouseEnter || flagsMouses.isMouseEnterContent || this.ignoreClickOutside()) {\n return;\n }\n if (this.flagMouse() && (this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent)) {\n return;\n }\n this.firstClick.set(false);\n this.removePopoverOverlay();\n }));\n }\n\n private handlerMouseLeaveRemovePopoverOverlay(obs: Observable<MouseEvent>, flagsMouses: { isMouseEnter: boolean, isMouseEnterContent: boolean }, flagKeyChangeValue: string, flagKeyCheck: string, outEvent: TYPE_POPOVER_EVENT) {\n this.subsEventPopup.add(obs.pipe(\n tap(() => this.outEvent.emit(outEvent)),\n debounceTime(getPopoverTimerDestroyInQueryUrl() || this.config()?.timerDestroy || 0)\n ).subscribe((e: MouseEvent) => {\n if (outEvent === 'mouseleave-element' && (checkMouseOverInContainer(e, this.Element) || checkMouseOverInContainer({ clientX: e.clientX + 2, clientY: e.clientY + 2 }, this.Element) || checkMouseOverInContainer({ clientX: e.clientX - 2, clientY: e.clientY - 2 }, this.Element))) {\n return;\n }\n set(flagsMouses, flagKeyChangeValue, false);\n this.outChangStageFlagMouse.emit(flagsMouses);\n if (this.flagMouse() && (this.flagMouse().isMouseEnter || this.flagMouse().isMouseEnterContent)) {\n return;\n }\n\n if (get(flagsMouses, flagKeyCheck) || this.ignoreHiddenPopoverContentWhenMouseLeave()) {\n return;\n }\n this.removePopoverOverlay();\n }));\n }\n\n private getDefaultConfigs(): IPopoverOverlay {\n const configValue = this.config() || {};\n if ((isNil(configValue.content)) || (configValue.content === this.contentInnerHtml() && this.contentInnerHtml() !== this.elementRef.nativeElement.innerHTML)) {\n configValue.content = this.elementRef.nativeElement.innerHTML;\n }\n this.contentInnerHtml.set(this.elementRef.nativeElement.innerHTML);\n if (!configValue.maxWidth) {\n configValue.maxWidth = 250;\n }\n if (configValue.maxHeight === undefined || configValue.maxHeight === 0) {\n configValue.maxHeight = 140;\n }\n if (!configValue.direction) {\n configValue.direction = 'bottom';\n }\n if (!configValue.position) {\n configValue.position = {\n mode: 'center',\n distance: 0\n };\n }\n\n return configValue;\n }\n\n private async removePopoverOverlay() {\n if (this.popoverOverlayComponent) {\n this.outEvent.emit('remove');\n this.subsEventPopup.unsubscribe();\n this.subsEventPopup = new Subscription();\n }\n this.dynamicService.remove(this.popoverOverlayComponent, this.frameId());\n this.frameId.set('');\n this.popoverOverlayComponent = undefined;\n this.firstClick.set(false);\n }\n\n ngOnDestroy() {\n clearTimeout(this.timer());\n this.removePopoverOverlay();\n this.onDestroy.next();\n this.onDestroy.complete();\n this.subsEventPopup.unsubscribe();\n }\n}\n","<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["takeUntil"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libs-ui/components-popover",
3
- "version": "0.2.125",
3
+ "version": "0.2.127",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^18.2.0",
6
6
  "@angular/core": "^18.2.0"