@ng-nest/ui 19.0.4 → 19.0.5

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 +1 @@
1
- {"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XBoolean, XTemplate, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_TOOLTIP_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty extends XPropertyFunction(X_TOOLTIP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n readonly content = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>();\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n readonly backgroundColor = input<string>();\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 禁用显示\r\n * @en_US Disable display\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n computed,\r\n viewChild,\r\n signal,\r\n output,\r\n DestroyRef\r\n} from '@angular/core';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XFadeAnimation, XTemplate, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent {\r\n placement = input<XPlacement>();\r\n content = input<XTemplate>();\r\n box = input<DOMRect>();\r\n color = input<string>();\r\n backgroundColor = input<string>();\r\n hoverChanged = output<boolean>();\r\n arrowHidden = signal(true);\r\n destroy = signal(false);\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n });\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation = true;\r\n @HostListener('@x-fade-animation.done', ['$event']) done(event: { toState: any }) {\r\n if (this.destroy()) return;\r\n if (event.toState === true) {\r\n this.setArrow();\r\n this.arrowHidden.set(false);\r\n }\r\n }\r\n\r\n tooltipPortal = viewChild.required('tooltipPortal', { read: ElementRef<HTMLElement> });\r\n tooltipArrow = viewChild.required('tooltipArrow', { read: ElementRef<HTMLElement> });\r\n tooltipArrowAfter = viewChild.required('tooltipArrowAfter', { read: ElementRef<HTMLElement> });\r\n\r\n classMap = computed(() => ({\r\n [`${XTooltipPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect());\r\n arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect());\r\n private renderer = inject(Renderer2);\r\n\r\n setArrow() {\r\n const arrowBox = this.arrowBox();\r\n const portalBox = this.portalBox();\r\n const tooltipArrow = this.tooltipArrow().nativeElement;\r\n const tooltipArrowAfter = this.tooltipArrowAfter().nativeElement;\r\n const box = this.box()!;\r\n let offset = arrowBox.height / 2;\r\n if (portalBox.height > box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'top', `${box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'bottom', `${box.height / 2 - offset}px`);\r\n }\r\n } else if (portalBox.width > box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'left', `${box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'right', `${box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor()) return;\r\n const ptSplit = this.placement()?.split('-');\r\n if (ptSplit && ptSplit.length > 0) {\r\n this.renderer.setStyle(tooltipArrow, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n this.renderer.setStyle(tooltipArrowAfter, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement()!.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n OnDestroy,\r\n HostBinding,\r\n inject,\r\n signal,\r\n ComponentRef,\r\n effect,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box = signal<DOMRect | null>(null);\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n mouseover = signal(false);\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-tooltip-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.mouseover.set(true);\r\n !this.disabled() && !this.manual() && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n this.mouseover.set(false);\r\n !this.disabled() && !this.manual() && this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XTooltipPortalComponent> | null>(null);\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('box', this.box()));\r\n effect(() => this.portalComponent()?.setInput('color', this.color()));\r\n effect(() => this.portalComponent()?.setInput('backgroundColor', this.backgroundColor()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.show(false);\r\n } else {\r\n this.hide(false);\r\n }\r\n }\r\n\r\n show(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n if ((event && this.mouseover()) || !event) {\r\n this.timeoutShow = setTimeout(() => {\r\n console.log(111);\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n }\r\n\r\n hide(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached() && !this.mouseover()) {\r\n if ((event && !this.mouseover()) || !event) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.dispose();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n this.box.set(this.elementRef.nativeElement.getBoundingClientRect());\r\n const { hoverChanged } = componentRef.instance;\r\n hoverChanged.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n exports: [XTooltipDirective],\r\n imports: [XTooltipDirective]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ng-nest-ui-tooltip.mjs","sources":["../../../../lib/ng-nest/ui/tooltip/tooltip.property.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.ts","../../../../lib/ng-nest/ui/tooltip/tooltip-portal.component.html","../../../../lib/ng-nest/ui/tooltip/tooltip.directive.ts","../../../../lib/ng-nest/ui/tooltip/tooltip.module.ts","../../../../lib/ng-nest/ui/tooltip/ng-nest-ui-tooltip.ts"],"sourcesContent":["import { XPropertyFunction, XToBoolean, XToNumber } from '@ng-nest/ui/core';\r\nimport { Directive, ElementRef, input, model } from '@angular/core';\r\nimport type { XPlacement, XBoolean, XTemplate, XNumber } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Tooltip\r\n * @selector x-tooltip\r\n * @decorator directive\r\n */\r\nexport const XTooltipPrefix = 'x-tooltip';\r\nconst X_TOOLTIP_CONFIG_NAME = 'tooltip';\r\n\r\n/**\r\n * Tooltip Property\r\n */\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipProperty extends XPropertyFunction(X_TOOLTIP_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 内容\r\n * @en_US Content\r\n */\r\n readonly content = input<XTemplate>();\r\n /**\r\n * @zh_CN 显示位置\r\n * @en_US Display position\r\n */\r\n readonly placement = input<XPlacement>(this.config?.placement ?? 'top');\r\n /**\r\n * @zh_CN 显示/隐藏\r\n * @en_US Show/hide\r\n */\r\n readonly visible = model<boolean>(false);\r\n /**\r\n * @zh_CN 内部样式\r\n * @en_US panel class\r\n */\r\n readonly panelClass = input<string | string[]>();\r\n /**\r\n * @zh_CN 指定参考对象\r\n * @en_US specify reference object\r\n */\r\n readonly connectTo = input<ElementRef<HTMLElement> | HTMLElement>();\r\n /**\r\n * @zh_CN 背景颜色\r\n * @en_US Background color\r\n */\r\n readonly backgroundColor = input<string>();\r\n /**\r\n * @zh_CN 文字颜色\r\n * @en_US Text color\r\n */\r\n readonly color = input<string>();\r\n /**\r\n * @zh_CN 手动处理关闭事件\r\n * @en_US Manually handle the shutdown event\r\n */\r\n readonly manual = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 鼠标移入后延时多少才显示\r\n * @en_US How much is the mouse transfer after transfer\r\n */\r\n readonly mouseEnterDelay = input<number, XNumber>(150, { transform: XToNumber });\r\n /**\r\n * @zh_CN 鼠标移出后延时多少才隐藏\r\n * @en_US How much hidden is hidden after the mouse is removed\r\n */\r\n readonly mouseLeaveDelay = input<number, XNumber>(100, { transform: XToNumber });\r\n /**\r\n * @zh_CN 禁用显示\r\n * @en_US Disable display\r\n */\r\n readonly disabled = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Tooltip Portal\r\n * @selector x-tooltip-portal\r\n * @decorator component\r\n */\r\nexport const XTooltipPortalPrefix = 'x-tooltip-portal';\r\n","import {\r\n Component,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ElementRef,\r\n Renderer2,\r\n HostListener,\r\n HostBinding,\r\n inject,\r\n input,\r\n computed,\r\n viewChild,\r\n signal,\r\n output,\r\n DestroyRef\r\n} from '@angular/core';\r\nimport { XTooltipPortalPrefix } from './tooltip.property';\r\nimport { XPlacement, XFadeAnimation, XTemplate, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n selector: `${XTooltipPortalPrefix}`,\r\n imports: [NgClass, XOutletDirective],\r\n templateUrl: './tooltip-portal.component.html',\r\n styleUrls: ['./tooltip-portal.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [XFadeAnimation]\r\n})\r\nexport class XTooltipPortalComponent {\r\n placement = input<XPlacement>();\r\n content = input<XTemplate>();\r\n box = input<DOMRect>();\r\n color = input<string>();\r\n backgroundColor = input<string>();\r\n hoverChanged = output<boolean>();\r\n arrowHidden = signal(true);\r\n destroy = signal(false);\r\n private destroyRef = inject(DestroyRef);\r\n\r\n constructor() {\r\n this.destroyRef.onDestroy(() => {\r\n this.destroy.set(true);\r\n });\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(true);\r\n }\r\n @HostListener('mouseleave') mouseleave() {\r\n if (this.destroy()) return;\r\n this.hoverChanged.emit(false);\r\n }\r\n\r\n @HostBinding('@x-fade-animation') animation = true;\r\n @HostListener('@x-fade-animation.done', ['$event']) done(event: { toState: any }) {\r\n if (this.destroy()) return;\r\n if (event.toState === true) {\r\n this.setArrow();\r\n this.arrowHidden.set(false);\r\n }\r\n }\r\n\r\n tooltipPortal = viewChild.required('tooltipPortal', { read: ElementRef<HTMLElement> });\r\n tooltipArrow = viewChild.required('tooltipArrow', { read: ElementRef<HTMLElement> });\r\n tooltipArrowAfter = viewChild.required('tooltipArrowAfter', { read: ElementRef<HTMLElement> });\r\n\r\n classMap = computed(() => ({\r\n [`${XTooltipPortalPrefix}-${this.placement()}`]: !XIsEmpty(this.placement())\r\n }));\r\n\r\n portalBox = computed(() => this.tooltipPortal().nativeElement.getBoundingClientRect());\r\n arrowBox = computed(() => this.tooltipArrow().nativeElement.getBoundingClientRect());\r\n private renderer = inject(Renderer2);\r\n\r\n setArrow() {\r\n const arrowBox = this.arrowBox();\r\n const portalBox = this.portalBox();\r\n const tooltipArrow = this.tooltipArrow().nativeElement;\r\n const tooltipArrowAfter = this.tooltipArrowAfter().nativeElement;\r\n const box = this.box()!;\r\n let offset = arrowBox.height / 2;\r\n if (portalBox.height > box.height && (this.includes('right-') || this.includes('left-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'top', `${box.height / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'bottom', `${box.height / 2 - offset}px`);\r\n }\r\n } else if (portalBox.width > box.width && (this.includes('top-') || this.includes('bottom-'))) {\r\n if (this.includes('-start')) {\r\n this.renderer.setStyle(tooltipArrow, 'left', `${box.width / 2 - offset}px`);\r\n } else if (this.includes('-end')) {\r\n this.renderer.setStyle(tooltipArrow, 'right', `${box.width / 2 - offset}px`);\r\n }\r\n }\r\n if (!this.backgroundColor()) return;\r\n const ptSplit = this.placement()?.split('-');\r\n if (ptSplit && ptSplit.length > 0) {\r\n this.renderer.setStyle(tooltipArrow, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n this.renderer.setStyle(tooltipArrowAfter, `border-${ptSplit[0]}-color`, this.backgroundColor());\r\n }\r\n }\r\n\r\n includes(arrow: string) {\r\n return this.placement()!.indexOf(arrow) >= 0;\r\n }\r\n}\r\n","<div #tooltipPortal class=\"x-tooltip-portal\" [ngClass]=\"classMap()\">\r\n <div class=\"x-tooltip-portal-inner\" [style.backgroundColor]=\"backgroundColor()\" [style.color]=\"color()\">\r\n <ng-container *xOutlet=\"content()\"><div [innerHTML]=\"content()\"></div></ng-container>\r\n </div>\r\n <div #tooltipArrow class=\"x-tooltip-portal-arrow\" [class.x-tooltip-portal-arrow-hidden]=\"arrowHidden()\">\r\n <div #tooltipArrowAfter class=\"x-tooltip-portal-arrow-after\"></div>\r\n </div>\r\n</div>\r\n","import {\r\n ElementRef,\r\n ViewContainerRef,\r\n Directive,\r\n HostListener,\r\n OnDestroy,\r\n HostBinding,\r\n inject,\r\n signal,\r\n ComponentRef,\r\n effect,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XPortalService, XPortalOverlayRef, XPortalConnectedPosition } from '@ng-nest/ui/portal';\r\nimport { XTooltipPortalComponent } from './tooltip-portal.component';\r\nimport { XTooltipPrefix, XTooltipProperty } from './tooltip.property';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport {\r\n OverlayConfig,\r\n FlexibleConnectedPositionStrategy,\r\n ConnectedOverlayPositionChange,\r\n Overlay\r\n} from '@angular/cdk/overlay';\r\nimport { XIsChange, type XPlacement } from '@ng-nest/ui/core';\r\nimport { toObservable } from '@angular/core/rxjs-interop';\r\n\r\n@Directive({ selector: `[${XTooltipPrefix}], ${XTooltipPrefix}` })\r\nexport class XTooltipDirective extends XTooltipProperty implements OnDestroy {\r\n portal!: XPortalOverlayRef<XTooltipPortalComponent>;\r\n box = signal<DOMRect | null>(null);\r\n timeoutHide: any;\r\n timeoutShow: any;\r\n mouseover = signal(false);\r\n private unSubject = new Subject<void>();\r\n private realPlacement = signal<XPlacement | null>(null);\r\n private elementRef = inject(ElementRef);\r\n private portalService = inject(XPortalService);\r\n private viewContainerRef = inject(ViewContainerRef);\r\n private overlay = inject(Overlay);\r\n\r\n @HostBinding('class.x-tooltip-show') get _show() {\r\n return this.visible();\r\n }\r\n\r\n @HostListener('mouseenter') mouseenter() {\r\n this.mouseover.set(true);\r\n !this.disabled() && !this.manual() && this.show();\r\n }\r\n\r\n @HostListener('mouseleave') mouseleave() {\r\n this.mouseover.set(false);\r\n !this.disabled() && !this.manual() && this.hide();\r\n }\r\n\r\n portalComponent = signal<ComponentRef<XTooltipPortalComponent> | null>(null);\r\n visibleChanged = toObservable(this.visible);\r\n\r\n constructor() {\r\n super();\r\n effect(() => this.portalComponent()?.setInput('content', this.content()));\r\n effect(() => this.portalComponent()?.setInput('box', this.box()));\r\n effect(() => this.portalComponent()?.setInput('color', this.color()));\r\n effect(() => this.portalComponent()?.setInput('backgroundColor', this.backgroundColor()));\r\n effect(() => this.portalComponent()?.setInput('placement', this.realPlacement()));\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { visible } = changes;\r\n XIsChange(visible) && this.setVisible();\r\n }\r\n\r\n setVisible() {\r\n if (this.visible()) {\r\n this.show(false);\r\n } else {\r\n this.hide(false);\r\n }\r\n }\r\n\r\n show(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (!this.portal || (this.portal && !this.portal.overlayRef?.hasAttached())) {\r\n if ((event && this.mouseover()) || !event) {\r\n this.timeoutShow = setTimeout(() => {\r\n this.createPortal();\r\n this.visible.set(true);\r\n }, this.mouseEnterDelay());\r\n }\r\n }\r\n }\r\n\r\n hide(event = true) {\r\n if (this.timeoutHide) clearTimeout(this.timeoutHide);\r\n if (this.timeoutShow) clearTimeout(this.timeoutShow);\r\n if (this.portal?.overlayRef?.hasAttached() && !this.mouseover()) {\r\n if ((event && !this.mouseover()) || !event) {\r\n this.timeoutHide = setTimeout(() => {\r\n this.portal.overlayRef?.dispose();\r\n this.visible.set(false);\r\n }, this.mouseLeaveDelay());\r\n }\r\n }\r\n }\r\n\r\n createPortal() {\r\n const connectTo = this.connectTo();\r\n const config: OverlayConfig = {\r\n panelClass: this.panelClass(),\r\n backdropClass: '',\r\n positionStrategy: this.portalService.setPlacement({\r\n elementRef: connectTo\r\n ? connectTo instanceof ElementRef\r\n ? connectTo\r\n : new ElementRef(connectTo)\r\n : this.elementRef,\r\n placement: [this.placement(), 'top', 'bottom', 'left', 'right']\r\n }),\r\n scrollStrategy: this.overlay.scrollStrategies.reposition()\r\n };\r\n this.setPosition(config);\r\n this.portal = this.portalService.attach({\r\n content: XTooltipPortalComponent,\r\n viewContainerRef: this.viewContainerRef,\r\n overlayConfig: config\r\n });\r\n this.setInstance();\r\n }\r\n\r\n setPosition(config: OverlayConfig) {\r\n let position = config.positionStrategy as FlexibleConnectedPositionStrategy;\r\n position.positionChanges.pipe(takeUntil(this.unSubject)).subscribe((pos: ConnectedOverlayPositionChange) => {\r\n const place = XPortalConnectedPosition.get(pos.connectionPair) as XPlacement;\r\n if (place !== this.realPlacement()) {\r\n this.realPlacement.set(place);\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n });\r\n }\r\n\r\n setInstance() {\r\n let componentRef = this.portal?.componentRef;\r\n if (!componentRef) return;\r\n this.portalComponent.set(componentRef);\r\n this.realPlacement.set(this.placement());\r\n this.box.set(this.elementRef.nativeElement.getBoundingClientRect());\r\n const { hoverChanged } = componentRef.instance;\r\n hoverChanged.subscribe((hover: boolean) => {\r\n if (this.timeoutHide && hover) {\r\n clearTimeout(this.timeoutHide);\r\n } else {\r\n this.hide();\r\n }\r\n });\r\n }\r\n\r\n updatePortal() {\r\n this.portal.overlayRef?.updatePosition();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { XTooltipDirective } from './tooltip.directive';\r\n\r\n@NgModule({\r\n exports: [XTooltipDirective],\r\n imports: [XTooltipDirective]\r\n})\r\nexport class XTooltipModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const XViewBox: never[];
7
7
  export declare class XIconComponent extends XIconProperty {
8
8
  get className(): string;
9
9
  private svgElement;
10
+ private document;
10
11
  private elementRef;
11
12
  private renderer;
12
13
  private cdr;
@@ -18,6 +19,11 @@ export declare class XIconComponent extends XIconProperty {
18
19
  isCustom: import("@angular/core").Signal<boolean>;
19
20
  constructor();
20
21
  setSvgs(svg: string): void;
22
+ buildSvg(svgStr: string): HTMLElement | undefined;
23
+ createSvg(svgStr: string): {
24
+ ele: SVGElement;
25
+ children: NodeListOf<Element>;
26
+ } | null;
21
27
  setAttributes(svgEle: HTMLElement): void;
22
28
  setAttribute(svg: SVGElement, svgEle: SVGElement, attribute: string, def?: string): void;
23
29
  static ɵfac: i0.ɵɵFactoryDeclaration<XIconComponent, never>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-nest/ui",
3
- "version": "19.0.4",
3
+ "version": "19.0.5",
4
4
  "license": "MIT",
5
5
  "homepage": "https://www.ngnest.com",
6
6
  "author": "ng-nest",
@@ -41,29 +41,29 @@
41
41
  "types": "./alert/index.d.ts",
42
42
  "default": "./fesm2022/ng-nest-ui-alert.mjs"
43
43
  },
44
- "./auto-complete": {
45
- "types": "./auto-complete/index.d.ts",
46
- "default": "./fesm2022/ng-nest-ui-auto-complete.mjs"
47
- },
48
44
  "./anchor": {
49
45
  "types": "./anchor/index.d.ts",
50
46
  "default": "./fesm2022/ng-nest-ui-anchor.mjs"
51
47
  },
48
+ "./avatar": {
49
+ "types": "./avatar/index.d.ts",
50
+ "default": "./fesm2022/ng-nest-ui-avatar.mjs"
51
+ },
52
52
  "./api": {
53
53
  "types": "./api/index.d.ts",
54
54
  "default": "./fesm2022/ng-nest-ui-api.mjs"
55
55
  },
56
- "./avatar": {
57
- "types": "./avatar/index.d.ts",
58
- "default": "./fesm2022/ng-nest-ui-avatar.mjs"
56
+ "./badge": {
57
+ "types": "./badge/index.d.ts",
58
+ "default": "./fesm2022/ng-nest-ui-badge.mjs"
59
59
  },
60
60
  "./back-top": {
61
61
  "types": "./back-top/index.d.ts",
62
62
  "default": "./fesm2022/ng-nest-ui-back-top.mjs"
63
63
  },
64
- "./badge": {
65
- "types": "./badge/index.d.ts",
66
- "default": "./fesm2022/ng-nest-ui-badge.mjs"
64
+ "./auto-complete": {
65
+ "types": "./auto-complete/index.d.ts",
66
+ "default": "./fesm2022/ng-nest-ui-auto-complete.mjs"
67
67
  },
68
68
  "./base-form": {
69
69
  "types": "./base-form/index.d.ts",
@@ -73,6 +73,10 @@
73
73
  "types": "./calendar/index.d.ts",
74
74
  "default": "./fesm2022/ng-nest-ui-calendar.mjs"
75
75
  },
76
+ "./button": {
77
+ "types": "./button/index.d.ts",
78
+ "default": "./fesm2022/ng-nest-ui-button.mjs"
79
+ },
76
80
  "./card": {
77
81
  "types": "./card/index.d.ts",
78
82
  "default": "./fesm2022/ng-nest-ui-card.mjs"
@@ -89,34 +93,26 @@
89
93
  "types": "./checkbox/index.d.ts",
90
94
  "default": "./fesm2022/ng-nest-ui-checkbox.mjs"
91
95
  },
92
- "./button": {
93
- "types": "./button/index.d.ts",
94
- "default": "./fesm2022/ng-nest-ui-button.mjs"
96
+ "./collapse": {
97
+ "types": "./collapse/index.d.ts",
98
+ "default": "./fesm2022/ng-nest-ui-collapse.mjs"
95
99
  },
96
100
  "./color": {
97
101
  "types": "./color/index.d.ts",
98
102
  "default": "./fesm2022/ng-nest-ui-color.mjs"
99
103
  },
100
- "./collapse": {
101
- "types": "./collapse/index.d.ts",
102
- "default": "./fesm2022/ng-nest-ui-collapse.mjs"
103
- },
104
104
  "./comment": {
105
105
  "types": "./comment/index.d.ts",
106
106
  "default": "./fesm2022/ng-nest-ui-comment.mjs"
107
107
  },
108
- "./container": {
109
- "types": "./container/index.d.ts",
110
- "default": "./fesm2022/ng-nest-ui-container.mjs"
108
+ "./color-picker": {
109
+ "types": "./color-picker/index.d.ts",
110
+ "default": "./fesm2022/ng-nest-ui-color-picker.mjs"
111
111
  },
112
112
  "./core": {
113
113
  "types": "./core/index.d.ts",
114
114
  "default": "./fesm2022/ng-nest-ui-core.mjs"
115
115
  },
116
- "./color-picker": {
117
- "types": "./color-picker/index.d.ts",
118
- "default": "./fesm2022/ng-nest-ui-color-picker.mjs"
119
- },
120
116
  "./crumb": {
121
117
  "types": "./crumb/index.d.ts",
122
118
  "default": "./fesm2022/ng-nest-ui-crumb.mjs"
@@ -125,6 +121,10 @@
125
121
  "types": "./date-picker/index.d.ts",
126
122
  "default": "./fesm2022/ng-nest-ui-date-picker.mjs"
127
123
  },
124
+ "./container": {
125
+ "types": "./container/index.d.ts",
126
+ "default": "./fesm2022/ng-nest-ui-container.mjs"
127
+ },
128
128
  "./description": {
129
129
  "types": "./description/index.d.ts",
130
130
  "default": "./fesm2022/ng-nest-ui-description.mjs"
@@ -185,14 +185,14 @@
185
185
  "types": "./inner/index.d.ts",
186
186
  "default": "./fesm2022/ng-nest-ui-inner.mjs"
187
187
  },
188
- "./input-number": {
189
- "types": "./input-number/index.d.ts",
190
- "default": "./fesm2022/ng-nest-ui-input-number.mjs"
191
- },
192
188
  "./input": {
193
189
  "types": "./input/index.d.ts",
194
190
  "default": "./fesm2022/ng-nest-ui-input.mjs"
195
191
  },
192
+ "./input-number": {
193
+ "types": "./input-number/index.d.ts",
194
+ "default": "./fesm2022/ng-nest-ui-input-number.mjs"
195
+ },
196
196
  "./keyword": {
197
197
  "types": "./keyword/index.d.ts",
198
198
  "default": "./fesm2022/ng-nest-ui-keyword.mjs"
@@ -217,26 +217,26 @@
217
217
  "types": "./menu/index.d.ts",
218
218
  "default": "./fesm2022/ng-nest-ui-menu.mjs"
219
219
  },
220
- "./message-box": {
221
- "types": "./message-box/index.d.ts",
222
- "default": "./fesm2022/ng-nest-ui-message-box.mjs"
223
- },
224
220
  "./message": {
225
221
  "types": "./message/index.d.ts",
226
222
  "default": "./fesm2022/ng-nest-ui-message.mjs"
227
223
  },
224
+ "./message-box": {
225
+ "types": "./message-box/index.d.ts",
226
+ "default": "./fesm2022/ng-nest-ui-message-box.mjs"
227
+ },
228
228
  "./notification": {
229
229
  "types": "./notification/index.d.ts",
230
230
  "default": "./fesm2022/ng-nest-ui-notification.mjs"
231
231
  },
232
- "./page-header": {
233
- "types": "./page-header/index.d.ts",
234
- "default": "./fesm2022/ng-nest-ui-page-header.mjs"
235
- },
236
232
  "./outlet": {
237
233
  "types": "./outlet/index.d.ts",
238
234
  "default": "./fesm2022/ng-nest-ui-outlet.mjs"
239
235
  },
236
+ "./page-header": {
237
+ "types": "./page-header/index.d.ts",
238
+ "default": "./fesm2022/ng-nest-ui-page-header.mjs"
239
+ },
240
240
  "./pagination": {
241
241
  "types": "./pagination/index.d.ts",
242
242
  "default": "./fesm2022/ng-nest-ui-pagination.mjs"
@@ -245,14 +245,14 @@
245
245
  "types": "./pattern/index.d.ts",
246
246
  "default": "./fesm2022/ng-nest-ui-pattern.mjs"
247
247
  },
248
- "./popover": {
249
- "types": "./popover/index.d.ts",
250
- "default": "./fesm2022/ng-nest-ui-popover.mjs"
251
- },
252
248
  "./popconfirm": {
253
249
  "types": "./popconfirm/index.d.ts",
254
250
  "default": "./fesm2022/ng-nest-ui-popconfirm.mjs"
255
251
  },
252
+ "./popover": {
253
+ "types": "./popover/index.d.ts",
254
+ "default": "./fesm2022/ng-nest-ui-popover.mjs"
255
+ },
256
256
  "./portal": {
257
257
  "types": "./portal/index.d.ts",
258
258
  "default": "./fesm2022/ng-nest-ui-portal.mjs"
@@ -265,14 +265,14 @@
265
265
  "types": "./radio/index.d.ts",
266
266
  "default": "./fesm2022/ng-nest-ui-radio.mjs"
267
267
  },
268
- "./rate": {
269
- "types": "./rate/index.d.ts",
270
- "default": "./fesm2022/ng-nest-ui-rate.mjs"
271
- },
272
268
  "./resizable": {
273
269
  "types": "./resizable/index.d.ts",
274
270
  "default": "./fesm2022/ng-nest-ui-resizable.mjs"
275
271
  },
272
+ "./rate": {
273
+ "types": "./rate/index.d.ts",
274
+ "default": "./fesm2022/ng-nest-ui-rate.mjs"
275
+ },
276
276
  "./result": {
277
277
  "types": "./result/index.d.ts",
278
278
  "default": "./fesm2022/ng-nest-ui-result.mjs"
@@ -309,6 +309,10 @@
309
309
  "types": "./switch/index.d.ts",
310
310
  "default": "./fesm2022/ng-nest-ui-switch.mjs"
311
311
  },
312
+ "./table": {
313
+ "types": "./table/index.d.ts",
314
+ "default": "./fesm2022/ng-nest-ui-table.mjs"
315
+ },
312
316
  "./tabs": {
313
317
  "types": "./tabs/index.d.ts",
314
318
  "default": "./fesm2022/ng-nest-ui-tabs.mjs"
@@ -317,10 +321,6 @@
317
321
  "types": "./tag/index.d.ts",
318
322
  "default": "./fesm2022/ng-nest-ui-tag.mjs"
319
323
  },
320
- "./table": {
321
- "types": "./table/index.d.ts",
322
- "default": "./fesm2022/ng-nest-ui-table.mjs"
323
- },
324
324
  "./text-retract": {
325
325
  "types": "./text-retract/index.d.ts",
326
326
  "default": "./fesm2022/ng-nest-ui-text-retract.mjs"
@@ -329,38 +329,38 @@
329
329
  "types": "./textarea/index.d.ts",
330
330
  "default": "./fesm2022/ng-nest-ui-textarea.mjs"
331
331
  },
332
- "./theme": {
333
- "types": "./theme/index.d.ts",
334
- "default": "./fesm2022/ng-nest-ui-theme.mjs"
335
- },
336
332
  "./time-ago": {
337
333
  "types": "./time-ago/index.d.ts",
338
334
  "default": "./fesm2022/ng-nest-ui-time-ago.mjs"
339
335
  },
340
- "./time-range": {
341
- "types": "./time-range/index.d.ts",
342
- "default": "./fesm2022/ng-nest-ui-time-range.mjs"
336
+ "./theme": {
337
+ "types": "./theme/index.d.ts",
338
+ "default": "./fesm2022/ng-nest-ui-theme.mjs"
343
339
  },
344
340
  "./time-picker": {
345
341
  "types": "./time-picker/index.d.ts",
346
342
  "default": "./fesm2022/ng-nest-ui-time-picker.mjs"
347
343
  },
348
- "./tooltip": {
349
- "types": "./tooltip/index.d.ts",
350
- "default": "./fesm2022/ng-nest-ui-tooltip.mjs"
351
- },
352
- "./transfer": {
353
- "types": "./transfer/index.d.ts",
354
- "default": "./fesm2022/ng-nest-ui-transfer.mjs"
344
+ "./time-range": {
345
+ "types": "./time-range/index.d.ts",
346
+ "default": "./fesm2022/ng-nest-ui-time-range.mjs"
355
347
  },
356
348
  "./timeline": {
357
349
  "types": "./timeline/index.d.ts",
358
350
  "default": "./fesm2022/ng-nest-ui-timeline.mjs"
359
351
  },
352
+ "./transfer": {
353
+ "types": "./transfer/index.d.ts",
354
+ "default": "./fesm2022/ng-nest-ui-transfer.mjs"
355
+ },
360
356
  "./tree": {
361
357
  "types": "./tree/index.d.ts",
362
358
  "default": "./fesm2022/ng-nest-ui-tree.mjs"
363
359
  },
360
+ "./tooltip": {
361
+ "types": "./tooltip/index.d.ts",
362
+ "default": "./fesm2022/ng-nest-ui-tooltip.mjs"
363
+ },
364
364
  "./tree-file": {
365
365
  "types": "./tree-file/index.d.ts",
366
366
  "default": "./fesm2022/ng-nest-ui-tree-file.mjs"
@@ -369,13 +369,13 @@
369
369
  "types": "./tree-select/index.d.ts",
370
370
  "default": "./fesm2022/ng-nest-ui-tree-select.mjs"
371
371
  },
372
- "./typography": {
373
- "types": "./typography/index.d.ts",
374
- "default": "./fesm2022/ng-nest-ui-typography.mjs"
375
- },
376
372
  "./upload": {
377
373
  "types": "./upload/index.d.ts",
378
374
  "default": "./fesm2022/ng-nest-ui-upload.mjs"
375
+ },
376
+ "./typography": {
377
+ "types": "./typography/index.d.ts",
378
+ "default": "./fesm2022/ng-nest-ui-typography.mjs"
379
379
  }
380
380
  },
381
381
  "sideEffects": false