@shival99/z-ui 2.4.1 → 2.4.2

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.
@@ -374,9 +374,11 @@ class ZTooltipDirective {
374
374
  ...(ngDevMode ? [{ debugName: "_isVisible" }] : /* istanbul ignore next */ []));
375
375
  constructor() {
376
376
  effect(() => {
377
- if (this._disabled() || !this.zContent()) {
378
- this._delay(false, 0);
377
+ if (!this._disabled() && this.zContent()) {
378
+ return;
379
379
  }
380
+ this._delay(false, 0);
381
+ this._hideTooltipImmediate();
380
382
  });
381
383
  }
382
384
  ngOnInit() {
@@ -646,6 +648,20 @@ class ZTooltipDirective {
646
648
  this.zHide.emit();
647
649
  }, Z_TOOLTIP_ANIMATION_DURATION);
648
650
  }
651
+ _hideTooltipImmediate() {
652
+ const wasVisible = this._isVisible();
653
+ this._clearHideTimeout();
654
+ if (!this._componentRef && !this._overlayRef) {
655
+ this._isVisible.set(false);
656
+ return;
657
+ }
658
+ this._componentRef?.instance.state.set('closed');
659
+ this._disposeOverlay();
660
+ this._isVisible.set(false);
661
+ if (wasVisible) {
662
+ this.zHide.emit();
663
+ }
664
+ }
649
665
  _clearHideTimeout() {
650
666
  if (!this._hideTimeout) {
651
667
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-tooltip.mjs","sources":["../../../../libs/core-ui/components/z-tooltip/z-tooltip.variants.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.component.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.positions.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.types.ts","../../../../libs/core-ui/components/z-tooltip/directives/z-tooltip.directive.ts","../../../../libs/core-ui/components/z-tooltip/shival99-z-ui-components-z-tooltip.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTooltipVariants = cva(\n ['z-tooltip relative rounded-[0.3125rem] shadow-md', 'z-animate-in z-fade-in z-duration-150'],\n {\n variants: {\n zType: {\n default: 'bg-foreground text-background border border-foreground',\n dark: 'bg-slate-900 text-white border border-slate-700',\n light: 'bg-white text-slate-900 border border-slate-200',\n primary: 'bg-primary text-primary-foreground border border-primary',\n success: 'bg-green-600 text-white border border-green-600',\n warning: 'bg-amber-500 text-white border border-amber-500',\n error: 'bg-red-600 text-white border border-red-600',\n info: 'bg-blue-600 text-white border border-blue-600',\n },\n zSize: {\n sm: 'text-[0.625rem]',\n default: 'text-xs',\n lg: 'text-sm',\n },\n zPosition: {\n top: 'z-slide-in-from-bottom-2',\n 'top-left': 'z-slide-in-from-bottom-2',\n 'top-right': 'z-slide-in-from-bottom-2',\n bottom: 'z-slide-in-from-top-2',\n 'bottom-left': 'z-slide-in-from-top-2',\n 'bottom-right': 'z-slide-in-from-top-2',\n left: 'z-slide-in-from-right-2',\n 'left-top': 'z-slide-in-from-right-2',\n 'left-bottom': 'z-slide-in-from-right-2',\n right: 'z-slide-in-from-left-2',\n 'right-top': 'z-slide-in-from-left-2',\n 'right-bottom': 'z-slide-in-from-left-2',\n },\n },\n defaultVariants: {\n zType: 'default',\n zSize: 'default',\n zPosition: 'top',\n },\n }\n);\n\nexport const zTooltipContentVariants = cva(\n 'relative z-10 rounded-[0.25rem] font-medium p-1.5 break-words leading-[1.7]',\n {\n variants: {\n zType: {\n default: 'bg-foreground',\n dark: 'bg-slate-900',\n light: 'bg-white',\n primary: 'bg-primary',\n success: 'bg-green-600',\n warning: 'bg-amber-500',\n error: 'bg-red-600',\n info: 'bg-blue-600',\n },\n },\n defaultVariants: {\n zType: 'default',\n },\n }\n);\n\nexport const zTooltipArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[0.1875rem]', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b',\n 'top-left': '-bottom-1 left-3 border-r border-b',\n 'top-right': '-bottom-1 right-3 border-r border-b',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t',\n 'bottom-left': '-top-1 left-3 border-l border-t',\n 'bottom-right': '-top-1 right-3 border-l border-t',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r',\n 'left-top': 'top-2 -right-1 border-t border-r',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l',\n 'right-top': 'top-2 -left-1 border-b border-l',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l',\n },\n zType: {\n default: 'bg-foreground border-foreground',\n dark: 'bg-slate-900 border-slate-700',\n light: 'bg-white border-slate-200',\n primary: 'bg-primary border-primary',\n success: 'bg-green-600 border-green-600',\n warning: 'bg-amber-500 border-amber-500',\n error: 'bg-red-600 border-red-600',\n info: 'bg-blue-600 border-blue-600',\n },\n },\n defaultVariants: {\n position: 'top',\n zType: 'default',\n },\n});\n\nexport const zTooltipExitVariants = cva('z-animate-out z-fade-out', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-2',\n 'top-left': 'z-slide-out-to-bottom-2',\n 'top-right': 'z-slide-out-to-bottom-2',\n bottom: 'z-slide-out-to-top-2',\n 'bottom-left': 'z-slide-out-to-top-2',\n 'bottom-right': 'z-slide-out-to-top-2',\n left: 'z-slide-out-to-right-2',\n 'left-top': 'z-slide-out-to-right-2',\n 'left-bottom': 'z-slide-out-to-right-2',\n right: 'z-slide-out-to-left-2',\n 'right-top': 'z-slide-out-to-left-2',\n 'right-bottom': 'z-slide-out-to-left-2',\n },\n },\n defaultVariants: {\n zPosition: 'top',\n },\n});\n\nexport type ZTooltipVariants = VariantProps<typeof zTooltipVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport { ZTooltipPosition } from './z-tooltip.positions';\nimport { type ZTooltipContent } from './z-tooltip.types';\nimport {\n zTooltipArrowVariants,\n zTooltipContentVariants,\n zTooltipExitVariants,\n zTooltipVariants,\n type ZTooltipVariants,\n} from './z-tooltip.variants';\n\n@Component({\n selector: 'z-tooltip-content',\n imports: [NgTemplateOutlet, TranslatePipe],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content layer - covers arrow base -->\n <div [class]=\"contentClasses()\">\n @if (isTemplateContent()) {\n <ng-container [ngTemplateOutlet]=\"$any(content())\" />\n } @else if (isHtmlContent()) {\n {{ $any(textOnlyContent()) | translate }}\n } @else {\n {{ $any(content()) | translate }}\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[style.maxWidth]': 'maxWidth()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n role: 'tooltip',\n },\n})\nexport class ZTooltipContentComponent {\n public readonly content = signal<ZTooltipContent>('');\n public readonly position = signal<ZTooltipPosition>('top');\n public readonly tooltipType = signal<ZTooltipVariants['zType']>('default');\n public readonly tooltipSize = signal<ZTooltipVariants['zSize']>('default');\n public readonly tooltipClass = signal('');\n public readonly showArrow = signal(true);\n public readonly maxWidth = signal<string>('250px');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly arrowOffset = signal<number>(0);\n\n protected readonly classes = computed(() => {\n const baseClasses = zTooltipVariants({\n zType: this.tooltipType(),\n zSize: this.tooltipSize(),\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? this._getExitAnimationClasses() : '';\n return zMergeClasses(baseClasses, exitClasses, this.tooltipClass());\n });\n\n private _getExitAnimationClasses(): string {\n return zTooltipExitVariants({ zPosition: this.position() });\n }\n\n protected readonly contentClasses = computed(() =>\n zMergeClasses(zTooltipContentVariants({ zType: this.tooltipType() }))\n );\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zTooltipArrowVariants({\n position: this.position(),\n zType: this.tooltipType(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n protected readonly isTemplateContent = computed(() => {\n const c = this.content();\n return c && typeof c !== 'string';\n });\n\n protected readonly isHtmlContent = computed(() => {\n const c = this.content();\n return typeof c === 'string' && c.includes('<');\n });\n\n protected readonly textOnlyContent = computed(() => {\n const c = this.content();\n if (typeof c === 'string' && c.includes('<')) {\n return this._stripHtmlTags(c);\n }\n return c;\n });\n\n private _stripHtmlTags(html: string): string {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = html;\n return tempDiv.textContent || tempDiv.innerText || '';\n }\n\n public setProps(config: {\n content: ZTooltipContent;\n position: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n customClass?: string;\n arrow?: boolean;\n maxWidth?: string;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.type) {\n this.tooltipType.set(config.type);\n }\n if (config.size) {\n this.tooltipSize.set(config.size);\n }\n if (config.customClass) {\n this.tooltipClass.set(config.customClass);\n }\n if (config.arrow !== undefined) {\n this.showArrow.set(config.arrow);\n }\n if (config.maxWidth) {\n this.maxWidth.set(config.maxWidth);\n }\n }\n}\n","import {\n Z_OVERLAY_FALLBACK_ORDER,\n Z_OVERLAY_PREFERRED_SIDE_ORDER,\n type ZOverlayPlacement,\n} from '@shival99/z-ui/components/z-overlay';\n\nexport type ZTooltipPosition = ZOverlayPlacement;\n\n/**\n * Chọn danh sách fallback (không gồm vị trí chính — Floating UI tự thử vị trí chính trước):\n * nếu cạnh đang hướng tới còn đủ chỗ, chỉ đổi qua các biến thể cùng cạnh (không bao giờ lật\n * sang cạnh đối diện); nếu không đủ, cho phép lật cạnh đối diện.\n */\nexport function getTooltipFallbackPlacements(\n origin: Element,\n position: ZTooltipPosition,\n offset: number\n): ZTooltipPosition[] {\n const rect = origin.getBoundingClientRect();\n const viewportWidth = globalThis.visualViewport?.width ?? globalThis.innerWidth;\n const viewportHeight = globalThis.visualViewport?.height ?? globalThis.innerHeight;\n const availableSpace = {\n top: rect.top,\n bottom: viewportHeight - rect.bottom,\n left: rect.left,\n right: viewportWidth - rect.right,\n };\n const side = position.split('-')[0] as 'top' | 'bottom' | 'left' | 'right';\n const minimumSideSpace = Math.max(40, offset + 32);\n\n if (availableSpace[side] >= minimumSideSpace) {\n return Z_OVERLAY_PREFERRED_SIDE_ORDER[position];\n }\n\n return Z_OVERLAY_FALLBACK_ORDER[position];\n}\n","import type { TemplateRef } from '@angular/core';\nimport type { ZTooltipPosition } from './z-tooltip.positions';\nimport type { ZTooltipVariants } from './z-tooltip.variants';\n\nexport const Z_TOOLTIP_ANIMATION_DURATION = 150;\nexport type ZTooltipTrigger = 'hover' | 'click';\nexport type ZTooltipContent = string | TemplateRef<unknown>;\nexport interface ZTooltipDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZTooltipConfig {\n content?: ZTooltipContent;\n position?: ZTooltipPosition;\n trigger?: ZTooltipTrigger;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n class?: string;\n showDelay?: number;\n hideDelay?: number;\n arrow?: boolean;\n offset?: number;\n autoDetect?: boolean;\n alwaysShow?: boolean;\n maxWidth?: string;\n}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n effect,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n computeZOverlayArrowOffset,\n computeZOverlayPlacement,\n startZOverlayAutoUpdate,\n ZOverlayService,\n type ZOverlayRef,\n} from '@shival99/z-ui/components/z-overlay';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, switchMap, timer } from 'rxjs';\nimport { ZTooltipContentComponent } from '../z-tooltip.component';\nimport { getTooltipFallbackPlacements, type ZTooltipPosition } from '../z-tooltip.positions';\nimport {\n Z_TOOLTIP_ANIMATION_DURATION,\n ZTooltipContent,\n ZTooltipDelayConfig,\n ZTooltipTrigger,\n} from '../z-tooltip.types';\nimport { type ZTooltipVariants } from '../z-tooltip.variants';\n\n@Directive({\n selector: '[z-tooltip], [zTooltip]',\n standalone: true,\n exportAs: 'zTooltip',\n})\nexport class ZTooltipDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZTooltipContent>('');\n public readonly zPosition = input<ZTooltipPosition>('top');\n public readonly zTooltipPosition = input<ZTooltipPosition>();\n public readonly zTrigger = input<ZTooltipTrigger>('hover');\n public readonly zTooltipTrigger = input<ZTooltipTrigger>();\n public readonly zType = input<ZTooltipVariants['zType']>('default', {\n alias: 'zTooltipType',\n });\n\n public readonly zSize = input<ZTooltipVariants['zSize']>('default', {\n alias: 'zTooltipSize',\n });\n\n public readonly zClass = input('');\n public readonly zTooltipClass = input<string>();\n public readonly zShowDelay = input(150);\n public readonly zTooltipShowDelay = input<number>();\n public readonly zHideDelay = input(0);\n public readonly zTooltipHideDelay = input<number>();\n public readonly zArrow = input(true, { transform: zTransform });\n public readonly zTooltipArrow = input<boolean | undefined>(undefined);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zTooltipDisabled = input<boolean | undefined>(undefined);\n public readonly zOffset = input(8);\n public readonly zTooltipOffset = input<number>();\n public readonly zAutoDetect = input(true, { transform: zTransform });\n public readonly zTriggerElement = input<HTMLElement | null>(null);\n public readonly zAlwaysShow = input(false, { transform: zTransform });\n public readonly zMaxWidth = input<string>('250px');\n\n private readonly _position = computed(() => this.zTooltipPosition() ?? this.zPosition());\n private readonly _trigger = computed(() => this.zTooltipTrigger() ?? this.zTrigger());\n private readonly _class = computed(() => this.zTooltipClass() ?? this.zClass());\n private readonly _showDelay = computed(() => this.zTooltipShowDelay() ?? this.zShowDelay());\n private readonly _hideDelay = computed(() => this.zTooltipHideDelay() ?? this.zHideDelay());\n private readonly _arrow = computed(() => this.zTooltipArrow() ?? this.zArrow());\n private readonly _disabled = computed(() => this.zTooltipDisabled() ?? this.zDisabled());\n private readonly _offset = computed(() => this.zTooltipOffset() ?? this.zOffset());\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n\n private readonly _overlayService = inject(ZOverlayService);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: ZOverlayRef | null = null;\n private _componentRef: ComponentRef<ZTooltipContentComponent> | null = null;\n private _delaySubject = new Subject<ZTooltipDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _autoUpdateCleanup: (() => void) | null = null;\n private _hideTimeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _isVisible = signal(false);\n\n constructor() {\n effect(() => {\n if (this._disabled() || !this.zContent()) {\n this._delay(false, 0);\n }\n });\n }\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n }\n\n ngOnDestroy(): void {\n this._clearHideTimeout();\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this._disabled() || !this.zContent()) {\n return;\n }\n\n if (!this.zAlwaysShow() && this.zAutoDetect() && !this._isTextTruncated()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this._showDelay());\n }\n\n private _isTextTruncated(): boolean {\n const hostEl = this._elementRef.nativeElement;\n const triggerEl = this.zTriggerElement();\n\n if (this._isElementTruncated(hostEl)) {\n return true;\n }\n\n const directChildren = hostEl.children;\n for (let i = 0; i < directChildren.length; i++) {\n const child = directChildren[i] as HTMLElement;\n if (this._isElementTruncated(child)) {\n return true;\n }\n\n const grandChildren = child.children;\n for (let j = 0; j < grandChildren.length; j++) {\n if (this._isElementTruncated(grandChildren[j] as HTMLElement)) {\n return true;\n }\n }\n }\n\n if (triggerEl && triggerEl !== hostEl) {\n if (this._isElementTruncated(triggerEl)) {\n return true;\n }\n\n const triggerDirectChildren = triggerEl.children;\n for (let i = 0; i < triggerDirectChildren.length; i++) {\n if (this._isElementTruncated(triggerDirectChildren[i] as HTMLElement)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private _isElementTruncated(el: HTMLElement): boolean {\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n return this._isFormControlValueTruncated(el);\n }\n\n if (el.scrollWidth > el.clientWidth) {\n return true;\n }\n\n if (el.scrollHeight > el.clientHeight) {\n return true;\n }\n\n const styles = getComputedStyle(el);\n if (styles.whiteSpace === 'nowrap' || styles.textOverflow === 'ellipsis') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const contentWidth = range.getBoundingClientRect().width;\n const elementWidth = el.getBoundingClientRect().width;\n const paddingLeft = parseFloat(styles.paddingLeft) || 0;\n const paddingRight = parseFloat(styles.paddingRight) || 0;\n const availableWidth = elementWidth - paddingLeft - paddingRight;\n\n if (contentWidth - availableWidth > 0.1) {\n return true;\n }\n }\n\n const lineClamp = styles.getPropertyValue('-webkit-line-clamp');\n if (lineClamp && lineClamp !== 'none') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const rangeHeight = range.getBoundingClientRect().height;\n const elHeight = el.getBoundingClientRect().height;\n const paddingTop = parseFloat(styles.paddingTop) || 0;\n const paddingBottom = parseFloat(styles.paddingBottom) || 0;\n const contentHeight = elHeight - paddingTop - paddingBottom;\n if (rangeHeight > contentHeight + 1) {\n return true;\n }\n }\n\n return false;\n }\n\n private _isFormControlValueTruncated(el: HTMLInputElement | HTMLTextAreaElement): boolean {\n if (!el.value) {\n return false;\n }\n\n const styles = getComputedStyle(el);\n const availableWidth =\n el.clientWidth - (parseFloat(styles.paddingLeft) || 0) - (parseFloat(styles.paddingRight) || 0);\n const canvas = this._document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n if (!context) {\n return el.scrollWidth > el.clientWidth;\n }\n\n context.font = styles.font;\n const valueWidth = context.measureText(el.value).width;\n const letterSpacing = parseFloat(styles.letterSpacing);\n const spacingWidth = Number.isNaN(letterSpacing) ? 0 : Math.max(0, el.value.length - 1) * letterSpacing;\n\n return valueWidth + spacingWidth > availableWidth;\n }\n\n public hide(): void {\n this._delay(false, this._hideDelay());\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n private _getAnchorElement(): HTMLElement {\n return this.zTriggerElement() ?? this._elementRef.nativeElement;\n }\n\n private _disposeOverlay(): void {\n this._autoUpdateCleanup?.();\n this._autoUpdateCleanup = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n void this._showTooltip();\n return;\n }\n\n this._hideTooltip();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this._trigger();\n const triggerEl = this.zTriggerElement() || this._elementRef.nativeElement;\n\n this._listenerCleanups.push(\n this._renderer.listen(this._document.defaultView, 'scroll', () => this._delay(false, 0), {\n passive: true,\n capture: true,\n }),\n this._renderer.listen(this._document.defaultView, 'resize', () => this._delay(false, 0), {\n passive: true,\n }),\n this._renderer.listen(this._document.defaultView, 'blur', () => this._delay(false, 0))\n );\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'focus', () => this.show()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', () => {\n if (this._isVisible()) {\n this._delay(false, 0);\n return;\n }\n\n this._delay(true, this._showDelay());\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => this._trigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private async _showTooltip(): Promise<void> {\n const content = this.zContent();\n if (!content || this._disabled()) {\n return;\n }\n\n if (this._componentRef) {\n this._clearHideTimeout();\n this._componentRef.instance.state.set('open');\n this._isVisible.set(true);\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._overlayService.createAnchored();\n this._setupOutsideClick();\n }\n\n this._componentRef = this._overlayRef.attach(ZTooltipContentComponent);\n\n this._componentRef.instance.setProps({\n content,\n position: this._position(),\n type: this.zType(),\n size: this.zSize(),\n customClass: this._class(),\n arrow: this._arrow(),\n maxWidth: this.zMaxWidth(),\n });\n\n await this._applyPosition();\n\n if (!this._overlayRef || !this._componentRef) {\n return; // đã bị dispose (hide/destroy) trong lúc chờ computePosition\n }\n\n this._autoUpdateCleanup = startZOverlayAutoUpdate(this._getAnchorElement(), this._overlayRef.overlayElement, () => {\n void this._applyPosition();\n });\n\n if (this._trigger() === 'hover') {\n this._setupTooltipHover();\n }\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private async _applyPosition(): Promise<void> {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const anchorElement = this._getAnchorElement();\n const floatingElement = this._overlayRef.overlayElement;\n const fallbackPlacements = getTooltipFallbackPlacements(anchorElement, this._position(), this._offset());\n\n const result = await computeZOverlayPlacement({\n reference: anchorElement,\n floating: floatingElement,\n placement: this._position(),\n fallbackPlacements,\n offset: this._offset(),\n flexibleDimensions: true,\n });\n\n if (!this._componentRef) {\n return;\n }\n\n floatingElement.style.left = `${result.x}px`;\n floatingElement.style.top = `${result.y}px`;\n this._componentRef.instance.position.set(result.placement);\n this._calculateArrowOffset(result.placement);\n }\n\n private _setupTooltipHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n }),\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this._hideDelay());\n })\n );\n }\n\n private _hideTooltip(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n this._clearHideTimeout();\n this._hideTimeout = setTimeout(() => {\n if (this._destroyRef.destroyed) {\n return;\n }\n\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_TOOLTIP_ANIMATION_DURATION);\n }\n\n private _clearHideTimeout(): void {\n if (!this._hideTimeout) {\n return;\n }\n\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n\n private _calculateArrowOffset(position: ZTooltipPosition): void {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const triggerElement = this._getAnchorElement();\n const triggerRect = triggerElement.getBoundingClientRect();\n const tooltipRect = this._overlayRef.overlayElement.getBoundingClientRect();\n\n const offset = computeZOverlayArrowOffset({ triggerRect, overlayRect: tooltipRect, placement: position });\n this._componentRef.instance.arrowOffset.set(offset);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shival99-z-ui-components-z-tooltip.mjs","sources":["../../../../libs/core-ui/components/z-tooltip/z-tooltip.variants.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.component.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.positions.ts","../../../../libs/core-ui/components/z-tooltip/z-tooltip.types.ts","../../../../libs/core-ui/components/z-tooltip/directives/z-tooltip.directive.ts","../../../../libs/core-ui/components/z-tooltip/shival99-z-ui-components-z-tooltip.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zTooltipVariants = cva(\n ['z-tooltip relative rounded-[0.3125rem] shadow-md', 'z-animate-in z-fade-in z-duration-150'],\n {\n variants: {\n zType: {\n default: 'bg-foreground text-background border border-foreground',\n dark: 'bg-slate-900 text-white border border-slate-700',\n light: 'bg-white text-slate-900 border border-slate-200',\n primary: 'bg-primary text-primary-foreground border border-primary',\n success: 'bg-green-600 text-white border border-green-600',\n warning: 'bg-amber-500 text-white border border-amber-500',\n error: 'bg-red-600 text-white border border-red-600',\n info: 'bg-blue-600 text-white border border-blue-600',\n },\n zSize: {\n sm: 'text-[0.625rem]',\n default: 'text-xs',\n lg: 'text-sm',\n },\n zPosition: {\n top: 'z-slide-in-from-bottom-2',\n 'top-left': 'z-slide-in-from-bottom-2',\n 'top-right': 'z-slide-in-from-bottom-2',\n bottom: 'z-slide-in-from-top-2',\n 'bottom-left': 'z-slide-in-from-top-2',\n 'bottom-right': 'z-slide-in-from-top-2',\n left: 'z-slide-in-from-right-2',\n 'left-top': 'z-slide-in-from-right-2',\n 'left-bottom': 'z-slide-in-from-right-2',\n right: 'z-slide-in-from-left-2',\n 'right-top': 'z-slide-in-from-left-2',\n 'right-bottom': 'z-slide-in-from-left-2',\n },\n },\n defaultVariants: {\n zType: 'default',\n zSize: 'default',\n zPosition: 'top',\n },\n }\n);\n\nexport const zTooltipContentVariants = cva(\n 'relative z-10 rounded-[0.25rem] font-medium p-1.5 break-words leading-[1.7]',\n {\n variants: {\n zType: {\n default: 'bg-foreground',\n dark: 'bg-slate-900',\n light: 'bg-white',\n primary: 'bg-primary',\n success: 'bg-green-600',\n warning: 'bg-amber-500',\n error: 'bg-red-600',\n info: 'bg-blue-600',\n },\n },\n defaultVariants: {\n zType: 'default',\n },\n }\n);\n\nexport const zTooltipArrowVariants = cva('absolute z-0 size-2.5 rotate-45 rounded-[0.1875rem]', {\n variants: {\n position: {\n top: '-bottom-1 left-1/2 -translate-x-1/2 border-r border-b',\n 'top-left': '-bottom-1 left-3 border-r border-b',\n 'top-right': '-bottom-1 right-3 border-r border-b',\n bottom: '-top-1 left-1/2 -translate-x-1/2 border-l border-t',\n 'bottom-left': '-top-1 left-3 border-l border-t',\n 'bottom-right': '-top-1 right-3 border-l border-t',\n left: 'top-1/2 -translate-y-1/2 -right-1 border-t border-r',\n 'left-top': 'top-2 -right-1 border-t border-r',\n 'left-bottom': 'bottom-2 -right-1 border-t border-r',\n right: 'top-1/2 -translate-y-1/2 -left-1 border-b border-l',\n 'right-top': 'top-2 -left-1 border-b border-l',\n 'right-bottom': 'bottom-2 -left-1 border-b border-l',\n },\n zType: {\n default: 'bg-foreground border-foreground',\n dark: 'bg-slate-900 border-slate-700',\n light: 'bg-white border-slate-200',\n primary: 'bg-primary border-primary',\n success: 'bg-green-600 border-green-600',\n warning: 'bg-amber-500 border-amber-500',\n error: 'bg-red-600 border-red-600',\n info: 'bg-blue-600 border-blue-600',\n },\n },\n defaultVariants: {\n position: 'top',\n zType: 'default',\n },\n});\n\nexport const zTooltipExitVariants = cva('z-animate-out z-fade-out', {\n variants: {\n zPosition: {\n top: 'z-slide-out-to-bottom-2',\n 'top-left': 'z-slide-out-to-bottom-2',\n 'top-right': 'z-slide-out-to-bottom-2',\n bottom: 'z-slide-out-to-top-2',\n 'bottom-left': 'z-slide-out-to-top-2',\n 'bottom-right': 'z-slide-out-to-top-2',\n left: 'z-slide-out-to-right-2',\n 'left-top': 'z-slide-out-to-right-2',\n 'left-bottom': 'z-slide-out-to-right-2',\n right: 'z-slide-out-to-left-2',\n 'right-top': 'z-slide-out-to-left-2',\n 'right-bottom': 'z-slide-out-to-left-2',\n },\n },\n defaultVariants: {\n zPosition: 'top',\n },\n});\n\nexport type ZTooltipVariants = VariantProps<typeof zTooltipVariants>;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, signal } from '@angular/core';\nimport { TranslatePipe } from '@ngx-translate/core';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport { ZTooltipPosition } from './z-tooltip.positions';\nimport { type ZTooltipContent } from './z-tooltip.types';\nimport {\n zTooltipArrowVariants,\n zTooltipContentVariants,\n zTooltipExitVariants,\n zTooltipVariants,\n type ZTooltipVariants,\n} from './z-tooltip.variants';\n\n@Component({\n selector: 'z-tooltip-content',\n imports: [NgTemplateOutlet, TranslatePipe],\n standalone: true,\n template: `\n <!-- Arrow layer - rotated square, partial border -->\n @if (showArrow()) {\n <div [class]=\"arrowClasses()\" [style]=\"arrowStyle()\"></div>\n }\n\n <!-- Content layer - covers arrow base -->\n <div [class]=\"contentClasses()\">\n @if (isTemplateContent()) {\n <ng-container [ngTemplateOutlet]=\"$any(content())\" />\n } @else if (isHtmlContent()) {\n {{ $any(textOnlyContent()) | translate }}\n } @else {\n {{ $any(content()) | translate }}\n }\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[style.maxWidth]': 'maxWidth()',\n '[attr.data-state]': 'state()',\n '[attr.data-position]': 'position()',\n role: 'tooltip',\n },\n})\nexport class ZTooltipContentComponent {\n public readonly content = signal<ZTooltipContent>('');\n public readonly position = signal<ZTooltipPosition>('top');\n public readonly tooltipType = signal<ZTooltipVariants['zType']>('default');\n public readonly tooltipSize = signal<ZTooltipVariants['zSize']>('default');\n public readonly tooltipClass = signal('');\n public readonly showArrow = signal(true);\n public readonly maxWidth = signal<string>('250px');\n public readonly state = signal<'open' | 'closed'>('open');\n public readonly arrowOffset = signal<number>(0);\n\n protected readonly classes = computed(() => {\n const baseClasses = zTooltipVariants({\n zType: this.tooltipType(),\n zSize: this.tooltipSize(),\n zPosition: this.position(),\n });\n\n const exitClasses = this.state() === 'closed' ? this._getExitAnimationClasses() : '';\n return zMergeClasses(baseClasses, exitClasses, this.tooltipClass());\n });\n\n private _getExitAnimationClasses(): string {\n return zTooltipExitVariants({ zPosition: this.position() });\n }\n\n protected readonly contentClasses = computed(() =>\n zMergeClasses(zTooltipContentVariants({ zType: this.tooltipType() }))\n );\n\n protected readonly arrowClasses = computed(() =>\n zMergeClasses(\n zTooltipArrowVariants({\n position: this.position(),\n zType: this.tooltipType(),\n })\n )\n );\n\n protected readonly arrowStyle = computed(() => {\n const pos = this.position();\n const offset = this.arrowOffset();\n\n const isCornerPosition = pos.includes('-');\n if (isCornerPosition) {\n return {};\n }\n\n if (offset === 0) {\n return {};\n }\n\n if (pos === 'top' || pos === 'bottom') {\n return {\n left: `calc(50% + ${offset}px)`,\n };\n }\n\n if (pos === 'left' || pos === 'right') {\n return {\n top: `calc(50% + ${offset}px)`,\n };\n }\n\n return {};\n });\n\n protected readonly isTemplateContent = computed(() => {\n const c = this.content();\n return c && typeof c !== 'string';\n });\n\n protected readonly isHtmlContent = computed(() => {\n const c = this.content();\n return typeof c === 'string' && c.includes('<');\n });\n\n protected readonly textOnlyContent = computed(() => {\n const c = this.content();\n if (typeof c === 'string' && c.includes('<')) {\n return this._stripHtmlTags(c);\n }\n return c;\n });\n\n private _stripHtmlTags(html: string): string {\n const tempDiv = document.createElement('div');\n tempDiv.innerHTML = html;\n return tempDiv.textContent || tempDiv.innerText || '';\n }\n\n public setProps(config: {\n content: ZTooltipContent;\n position: ZTooltipPosition;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n customClass?: string;\n arrow?: boolean;\n maxWidth?: string;\n }): void {\n this.content.set(config.content);\n this.position.set(config.position);\n if (config.type) {\n this.tooltipType.set(config.type);\n }\n if (config.size) {\n this.tooltipSize.set(config.size);\n }\n if (config.customClass) {\n this.tooltipClass.set(config.customClass);\n }\n if (config.arrow !== undefined) {\n this.showArrow.set(config.arrow);\n }\n if (config.maxWidth) {\n this.maxWidth.set(config.maxWidth);\n }\n }\n}\n","import {\n Z_OVERLAY_FALLBACK_ORDER,\n Z_OVERLAY_PREFERRED_SIDE_ORDER,\n type ZOverlayPlacement,\n} from '@shival99/z-ui/components/z-overlay';\n\nexport type ZTooltipPosition = ZOverlayPlacement;\n\n/**\n * Chọn danh sách fallback (không gồm vị trí chính — Floating UI tự thử vị trí chính trước):\n * nếu cạnh đang hướng tới còn đủ chỗ, chỉ đổi qua các biến thể cùng cạnh (không bao giờ lật\n * sang cạnh đối diện); nếu không đủ, cho phép lật cạnh đối diện.\n */\nexport function getTooltipFallbackPlacements(\n origin: Element,\n position: ZTooltipPosition,\n offset: number\n): ZTooltipPosition[] {\n const rect = origin.getBoundingClientRect();\n const viewportWidth = globalThis.visualViewport?.width ?? globalThis.innerWidth;\n const viewportHeight = globalThis.visualViewport?.height ?? globalThis.innerHeight;\n const availableSpace = {\n top: rect.top,\n bottom: viewportHeight - rect.bottom,\n left: rect.left,\n right: viewportWidth - rect.right,\n };\n const side = position.split('-')[0] as 'top' | 'bottom' | 'left' | 'right';\n const minimumSideSpace = Math.max(40, offset + 32);\n\n if (availableSpace[side] >= minimumSideSpace) {\n return Z_OVERLAY_PREFERRED_SIDE_ORDER[position];\n }\n\n return Z_OVERLAY_FALLBACK_ORDER[position];\n}\n","import type { TemplateRef } from '@angular/core';\nimport type { ZTooltipPosition } from './z-tooltip.positions';\nimport type { ZTooltipVariants } from './z-tooltip.variants';\n\nexport const Z_TOOLTIP_ANIMATION_DURATION = 150;\nexport type ZTooltipTrigger = 'hover' | 'click';\nexport type ZTooltipContent = string | TemplateRef<unknown>;\nexport interface ZTooltipDelayConfig {\n show: boolean;\n delay: number;\n}\n\nexport interface ZTooltipConfig {\n content?: ZTooltipContent;\n position?: ZTooltipPosition;\n trigger?: ZTooltipTrigger;\n type?: ZTooltipVariants['zType'];\n size?: ZTooltipVariants['zSize'];\n class?: string;\n showDelay?: number;\n hideDelay?: number;\n arrow?: boolean;\n offset?: number;\n autoDetect?: boolean;\n alwaysShow?: boolean;\n maxWidth?: string;\n}\n","import { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport {\n type ComponentRef,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n effect,\n inject,\n input,\n type OnDestroy,\n type OnInit,\n output,\n PLATFORM_ID,\n Renderer2,\n signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n computeZOverlayArrowOffset,\n computeZOverlayPlacement,\n startZOverlayAutoUpdate,\n ZOverlayService,\n type ZOverlayRef,\n} from '@shival99/z-ui/components/z-overlay';\nimport { zTransform } from '@shival99/z-ui/utils';\nimport { filter, map, of, Subject, switchMap, timer } from 'rxjs';\nimport { ZTooltipContentComponent } from '../z-tooltip.component';\nimport { getTooltipFallbackPlacements, type ZTooltipPosition } from '../z-tooltip.positions';\nimport {\n Z_TOOLTIP_ANIMATION_DURATION,\n ZTooltipContent,\n ZTooltipDelayConfig,\n ZTooltipTrigger,\n} from '../z-tooltip.types';\nimport { type ZTooltipVariants } from '../z-tooltip.variants';\n\n@Directive({\n selector: '[z-tooltip], [zTooltip]',\n standalone: true,\n exportAs: 'zTooltip',\n})\nexport class ZTooltipDirective implements OnInit, OnDestroy {\n public readonly zContent = input<ZTooltipContent>('');\n public readonly zPosition = input<ZTooltipPosition>('top');\n public readonly zTooltipPosition = input<ZTooltipPosition>();\n public readonly zTrigger = input<ZTooltipTrigger>('hover');\n public readonly zTooltipTrigger = input<ZTooltipTrigger>();\n public readonly zType = input<ZTooltipVariants['zType']>('default', {\n alias: 'zTooltipType',\n });\n\n public readonly zSize = input<ZTooltipVariants['zSize']>('default', {\n alias: 'zTooltipSize',\n });\n\n public readonly zClass = input('');\n public readonly zTooltipClass = input<string>();\n public readonly zShowDelay = input(150);\n public readonly zTooltipShowDelay = input<number>();\n public readonly zHideDelay = input(0);\n public readonly zTooltipHideDelay = input<number>();\n public readonly zArrow = input(true, { transform: zTransform });\n public readonly zTooltipArrow = input<boolean | undefined>(undefined);\n public readonly zDisabled = input(false, { transform: zTransform });\n public readonly zTooltipDisabled = input<boolean | undefined>(undefined);\n public readonly zOffset = input(8);\n public readonly zTooltipOffset = input<number>();\n public readonly zAutoDetect = input(true, { transform: zTransform });\n public readonly zTriggerElement = input<HTMLElement | null>(null);\n public readonly zAlwaysShow = input(false, { transform: zTransform });\n public readonly zMaxWidth = input<string>('250px');\n\n private readonly _position = computed(() => this.zTooltipPosition() ?? this.zPosition());\n private readonly _trigger = computed(() => this.zTooltipTrigger() ?? this.zTrigger());\n private readonly _class = computed(() => this.zTooltipClass() ?? this.zClass());\n private readonly _showDelay = computed(() => this.zTooltipShowDelay() ?? this.zShowDelay());\n private readonly _hideDelay = computed(() => this.zTooltipHideDelay() ?? this.zHideDelay());\n private readonly _arrow = computed(() => this.zTooltipArrow() ?? this.zArrow());\n private readonly _disabled = computed(() => this.zTooltipDisabled() ?? this.zDisabled());\n private readonly _offset = computed(() => this.zTooltipOffset() ?? this.zOffset());\n\n public readonly zShow = output<void>();\n public readonly zHide = output<void>();\n\n private readonly _overlayService = inject(ZOverlayService);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n private readonly _renderer = inject(Renderer2);\n private readonly _destroyRef = inject(DestroyRef);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n\n private _overlayRef: ZOverlayRef | null = null;\n private _componentRef: ComponentRef<ZTooltipContentComponent> | null = null;\n private _delaySubject = new Subject<ZTooltipDelayConfig>();\n private _listenerCleanups: (() => void)[] = [];\n private _autoUpdateCleanup: (() => void) | null = null;\n private _hideTimeout: ReturnType<typeof setTimeout> | null = null;\n private readonly _isVisible = signal(false);\n\n constructor() {\n effect(() => {\n if (!this._disabled() && this.zContent()) {\n return;\n }\n\n this._delay(false, 0);\n this._hideTooltipImmediate();\n });\n }\n\n ngOnInit(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n this._setupDelayMechanism();\n this._setupTriggers();\n }\n\n ngOnDestroy(): void {\n this._clearHideTimeout();\n this._delaySubject.complete();\n this._cleanupListeners();\n this._disposeOverlay();\n }\n\n public show(): void {\n if (this._disabled() || !this.zContent()) {\n return;\n }\n\n if (!this.zAlwaysShow() && this.zAutoDetect() && !this._isTextTruncated()) {\n return;\n }\n\n if (this._isVisible()) {\n this._delay(true, 0);\n return;\n }\n\n this._delay(true, this._showDelay());\n }\n\n private _isTextTruncated(): boolean {\n const hostEl = this._elementRef.nativeElement;\n const triggerEl = this.zTriggerElement();\n\n if (this._isElementTruncated(hostEl)) {\n return true;\n }\n\n const directChildren = hostEl.children;\n for (let i = 0; i < directChildren.length; i++) {\n const child = directChildren[i] as HTMLElement;\n if (this._isElementTruncated(child)) {\n return true;\n }\n\n const grandChildren = child.children;\n for (let j = 0; j < grandChildren.length; j++) {\n if (this._isElementTruncated(grandChildren[j] as HTMLElement)) {\n return true;\n }\n }\n }\n\n if (triggerEl && triggerEl !== hostEl) {\n if (this._isElementTruncated(triggerEl)) {\n return true;\n }\n\n const triggerDirectChildren = triggerEl.children;\n for (let i = 0; i < triggerDirectChildren.length; i++) {\n if (this._isElementTruncated(triggerDirectChildren[i] as HTMLElement)) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n private _isElementTruncated(el: HTMLElement): boolean {\n if (el instanceof HTMLInputElement || el instanceof HTMLTextAreaElement) {\n return this._isFormControlValueTruncated(el);\n }\n\n if (el.scrollWidth > el.clientWidth) {\n return true;\n }\n\n if (el.scrollHeight > el.clientHeight) {\n return true;\n }\n\n const styles = getComputedStyle(el);\n if (styles.whiteSpace === 'nowrap' || styles.textOverflow === 'ellipsis') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const contentWidth = range.getBoundingClientRect().width;\n const elementWidth = el.getBoundingClientRect().width;\n const paddingLeft = parseFloat(styles.paddingLeft) || 0;\n const paddingRight = parseFloat(styles.paddingRight) || 0;\n const availableWidth = elementWidth - paddingLeft - paddingRight;\n\n if (contentWidth - availableWidth > 0.1) {\n return true;\n }\n }\n\n const lineClamp = styles.getPropertyValue('-webkit-line-clamp');\n if (lineClamp && lineClamp !== 'none') {\n const range = this._document.createRange();\n range.selectNodeContents(el);\n const rangeHeight = range.getBoundingClientRect().height;\n const elHeight = el.getBoundingClientRect().height;\n const paddingTop = parseFloat(styles.paddingTop) || 0;\n const paddingBottom = parseFloat(styles.paddingBottom) || 0;\n const contentHeight = elHeight - paddingTop - paddingBottom;\n if (rangeHeight > contentHeight + 1) {\n return true;\n }\n }\n\n return false;\n }\n\n private _isFormControlValueTruncated(el: HTMLInputElement | HTMLTextAreaElement): boolean {\n if (!el.value) {\n return false;\n }\n\n const styles = getComputedStyle(el);\n const availableWidth =\n el.clientWidth - (parseFloat(styles.paddingLeft) || 0) - (parseFloat(styles.paddingRight) || 0);\n const canvas = this._document.createElement('canvas');\n const context = canvas.getContext('2d');\n\n if (!context) {\n return el.scrollWidth > el.clientWidth;\n }\n\n context.font = styles.font;\n const valueWidth = context.measureText(el.value).width;\n const letterSpacing = parseFloat(styles.letterSpacing);\n const spacingWidth = Number.isNaN(letterSpacing) ? 0 : Math.max(0, el.value.length - 1) * letterSpacing;\n\n return valueWidth + spacingWidth > availableWidth;\n }\n\n public hide(): void {\n this._delay(false, this._hideDelay());\n }\n\n public toggle(): void {\n if (this._isVisible()) {\n this.hide();\n return;\n }\n\n this.show();\n }\n\n private _getAnchorElement(): HTMLElement {\n return this.zTriggerElement() ?? this._elementRef.nativeElement;\n }\n\n private _disposeOverlay(): void {\n this._autoUpdateCleanup?.();\n this._autoUpdateCleanup = null;\n this._overlayRef?.dispose();\n this._overlayRef = null;\n this._componentRef = null;\n }\n\n private _setupDelayMechanism(): void {\n this._delaySubject\n .pipe(\n switchMap(config => (config.delay <= 0 ? of(config) : timer(config.delay).pipe(map(() => config)))),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(config => {\n if (config.show) {\n void this._showTooltip();\n return;\n }\n\n this._hideTooltip();\n });\n }\n\n private _setupTriggers(): void {\n this._cleanupListeners();\n const trigger = this._trigger();\n const triggerEl = this.zTriggerElement() || this._elementRef.nativeElement;\n\n this._listenerCleanups.push(\n this._renderer.listen(this._document.defaultView, 'scroll', () => this._delay(false, 0), {\n passive: true,\n capture: true,\n }),\n this._renderer.listen(this._document.defaultView, 'resize', () => this._delay(false, 0), {\n passive: true,\n }),\n this._renderer.listen(this._document.defaultView, 'blur', () => this._delay(false, 0))\n );\n\n if (trigger === 'hover') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'mouseenter', () => this.show()),\n this._renderer.listen(triggerEl, 'mouseleave', () => this.hide()),\n this._renderer.listen(triggerEl, 'focus', () => this.show()),\n this._renderer.listen(triggerEl, 'blur', () => this.hide())\n );\n return;\n }\n\n if (trigger === 'click') {\n this._listenerCleanups.push(\n this._renderer.listen(triggerEl, 'click', () => {\n if (this._isVisible()) {\n this._delay(false, 0);\n return;\n }\n\n this._delay(true, this._showDelay());\n })\n );\n }\n }\n\n private _setupOutsideClick(): void {\n if (!this._overlayRef) {\n return;\n }\n\n this._overlayRef\n .outsidePointerEvents()\n .pipe(\n filter(() => this._trigger() === 'click'),\n filter(event => !this._elementRef.nativeElement.contains(event.target as Node)),\n takeUntilDestroyed(this._destroyRef)\n )\n .subscribe(() => this._delay(false, 0));\n }\n\n private _delay(show: boolean, delay: number): void {\n this._delaySubject.next({ show, delay });\n }\n\n private async _showTooltip(): Promise<void> {\n const content = this.zContent();\n if (!content || this._disabled()) {\n return;\n }\n\n if (this._componentRef) {\n this._clearHideTimeout();\n this._componentRef.instance.state.set('open');\n this._isVisible.set(true);\n return;\n }\n\n if (!this._overlayRef) {\n this._overlayRef = this._overlayService.createAnchored();\n this._setupOutsideClick();\n }\n\n this._componentRef = this._overlayRef.attach(ZTooltipContentComponent);\n\n this._componentRef.instance.setProps({\n content,\n position: this._position(),\n type: this.zType(),\n size: this.zSize(),\n customClass: this._class(),\n arrow: this._arrow(),\n maxWidth: this.zMaxWidth(),\n });\n\n await this._applyPosition();\n\n if (!this._overlayRef || !this._componentRef) {\n return; // đã bị dispose (hide/destroy) trong lúc chờ computePosition\n }\n\n this._autoUpdateCleanup = startZOverlayAutoUpdate(this._getAnchorElement(), this._overlayRef.overlayElement, () => {\n void this._applyPosition();\n });\n\n if (this._trigger() === 'hover') {\n this._setupTooltipHover();\n }\n\n this._isVisible.set(true);\n this.zShow.emit();\n }\n\n private async _applyPosition(): Promise<void> {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const anchorElement = this._getAnchorElement();\n const floatingElement = this._overlayRef.overlayElement;\n const fallbackPlacements = getTooltipFallbackPlacements(anchorElement, this._position(), this._offset());\n\n const result = await computeZOverlayPlacement({\n reference: anchorElement,\n floating: floatingElement,\n placement: this._position(),\n fallbackPlacements,\n offset: this._offset(),\n flexibleDimensions: true,\n });\n\n if (!this._componentRef) {\n return;\n }\n\n floatingElement.style.left = `${result.x}px`;\n floatingElement.style.top = `${result.y}px`;\n this._componentRef.instance.position.set(result.placement);\n this._calculateArrowOffset(result.placement);\n }\n\n private _setupTooltipHover(): void {\n const overlayElement = this._overlayRef?.overlayElement;\n if (!overlayElement) {\n return;\n }\n\n this._listenerCleanups.push(\n this._renderer.listen(overlayElement, 'mouseenter', () => {\n this._delay(true, 0);\n }),\n this._renderer.listen(overlayElement, 'mouseleave', () => {\n this._delay(false, this._hideDelay());\n })\n );\n }\n\n private _hideTooltip(): void {\n if (!this._componentRef) {\n return;\n }\n\n this._componentRef.instance.state.set('closed');\n this._clearHideTimeout();\n this._hideTimeout = setTimeout(() => {\n if (this._destroyRef.destroyed) {\n return;\n }\n\n this._disposeOverlay();\n this._isVisible.set(false);\n this.zHide.emit();\n }, Z_TOOLTIP_ANIMATION_DURATION);\n }\n\n private _hideTooltipImmediate(): void {\n const wasVisible = this._isVisible();\n this._clearHideTimeout();\n\n if (!this._componentRef && !this._overlayRef) {\n this._isVisible.set(false);\n return;\n }\n\n this._componentRef?.instance.state.set('closed');\n this._disposeOverlay();\n this._isVisible.set(false);\n\n if (wasVisible) {\n this.zHide.emit();\n }\n }\n\n private _clearHideTimeout(): void {\n if (!this._hideTimeout) {\n return;\n }\n\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n\n private _cleanupListeners(): void {\n this._listenerCleanups.forEach(cleanup => cleanup());\n this._listenerCleanups = [];\n }\n\n private _calculateArrowOffset(position: ZTooltipPosition): void {\n if (!this._overlayRef || !this._componentRef) {\n return;\n }\n\n const triggerElement = this._getAnchorElement();\n const triggerRect = triggerElement.getBoundingClientRect();\n const tooltipRect = this._overlayRef.overlayElement.getBoundingClientRect();\n\n const offset = computeZOverlayArrowOffset({ triggerRect, overlayRect: tooltipRect, placement: position });\n this._componentRef.instance.arrowOffset.set(offset);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "2.4.1",
3
+ "version": "2.4.2",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 22, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -153,6 +153,7 @@ declare class ZEditorComponent implements OnInit, ControlValueAccessor {
153
153
  width: number;
154
154
  height: number;
155
155
  }>;
156
+ protected readonly floatingToolbarVisible: _angular_core.WritableSignal<boolean>;
156
157
  protected readonly linkUrl: _angular_core.WritableSignal<string>;
157
158
  protected readonly activeLinkHref: _angular_core.WritableSignal<string>;
158
159
  protected readonly linkValidators: ZInputValidator[];
@@ -288,6 +289,7 @@ declare class ZEditorComponent implements OnInit, ControlValueAccessor {
288
289
  protected unsetBackgroundColor(closePopover?: () => void): void;
289
290
  private _closePopover;
290
291
  private _handleSlashMenuKeyDown;
292
+ private _handleLinkPopoverKeyDown;
291
293
  private _handleEditorShortcutKeyDown;
292
294
  private _getShortcutCommand;
293
295
  private _isPrimaryShortcut;
@@ -188,7 +188,7 @@ declare class ZGalleryComponent implements AfterViewInit {
188
188
  protected readonly headerControlHeight: _angular_core.Signal<"1.75rem" | "2rem" | "2.5rem" | "2.25rem">;
189
189
  protected readonly skeletonMediaHeight: _angular_core.Signal<"9rem" | "14rem" | "11rem">;
190
190
  protected readonly toggleIconSize: _angular_core.Signal<"14" | "16" | "20" | "18">;
191
- protected readonly searchInputSize: _angular_core.Signal<"sm" | "default" | "lg">;
191
+ protected readonly searchInputSize: _angular_core.Signal<"default" | "sm" | "lg">;
192
192
  protected readonly filteredFiles: _angular_core.Signal<ZGalleryFile[]>;
193
193
  protected readonly selectedIds: _angular_core.Signal<Set<string>>;
194
194
  protected readonly isAllSelected: _angular_core.Signal<boolean>;
@@ -412,16 +412,16 @@ declare const isPreviewable: (file: ZGalleryFile) => boolean;
412
412
  declare const isImage: (file: ZGalleryFile) => boolean;
413
413
 
414
414
  declare const zGalleryVariants: (props?: ({
415
- zSize?: "sm" | "default" | "lg" | null | undefined;
415
+ zSize?: "default" | "sm" | "lg" | null | undefined;
416
416
  } & class_variance_authority_types.ClassProp) | undefined) => string;
417
417
  type ZGalleryVariants = VariantProps<typeof zGalleryVariants>;
418
418
  declare const zGalleryItemVariants: (props?: ({
419
419
  zMode?: "grid" | "list" | null | undefined;
420
- zSize?: "sm" | "default" | "lg" | null | undefined;
420
+ zSize?: "default" | "sm" | "lg" | null | undefined;
421
421
  } & class_variance_authority_types.ClassProp) | undefined) => string;
422
422
  type ZGalleryItemVariants = VariantProps<typeof zGalleryItemVariants>;
423
423
  declare const zGalleryFileIconVariants: (props?: ({
424
- zSize?: "sm" | "default" | "lg" | null | undefined;
424
+ zSize?: "default" | "sm" | "lg" | null | undefined;
425
425
  zMode?: "grid" | "list" | null | undefined;
426
426
  } & class_variance_authority_types.ClassProp) | undefined) => string;
427
427
  type ZGalleryFileIconVariants = VariantProps<typeof zGalleryFileIconVariants>;
@@ -6,7 +6,7 @@ import { VariantProps } from 'class-variance-authority';
6
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
7
7
 
8
8
  declare const zMediaPlayerVariants: (props?: ({
9
- zLayout?: "theater" | "fullscreen" | "default" | null | undefined;
9
+ zLayout?: "default" | "theater" | "fullscreen" | null | undefined;
10
10
  } & class_variance_authority_types.ClassProp) | undefined) => string;
11
11
 
12
12
  type ZMediaPlayerVariants = VariantProps<typeof zMediaPlayerVariants>;
@@ -57,7 +57,7 @@ declare class ZToastComponent {
57
57
  private readonly _themeService;
58
58
  private readonly _config;
59
59
  readonly class: _angular_core.InputSignal<ClassValue>;
60
- readonly zVariant: _angular_core.InputSignal<"success" | "error" | "warning" | "info" | "default" | null | undefined>;
60
+ readonly zVariant: _angular_core.InputSignal<"default" | "success" | "error" | "warning" | "info" | null | undefined>;
61
61
  readonly zTheme: _angular_core.InputSignal<ZToastTheme | undefined>;
62
62
  readonly zPosition: _angular_core.InputSignal<ZToastPosition | undefined>;
63
63
  readonly zRichColors: _angular_core.InputSignal<boolean | undefined>;
@@ -159,7 +159,7 @@ declare class ZToastService implements OnDestroy {
159
159
  }
160
160
 
161
161
  declare const zToastVariants: (props?: ({
162
- zVariant?: "success" | "error" | "warning" | "info" | "default" | null | undefined;
162
+ zVariant?: "default" | "success" | "error" | "warning" | "info" | null | undefined;
163
163
  } & class_variance_authority_types.ClassProp) | undefined) => string;
164
164
  type ZToastVariants = VariantProps<typeof zToastVariants>;
165
165
 
@@ -98,6 +98,7 @@ declare class ZTooltipDirective implements OnInit, OnDestroy {
98
98
  private _applyPosition;
99
99
  private _setupTooltipHover;
100
100
  private _hideTooltip;
101
+ private _hideTooltipImmediate;
101
102
  private _clearHideTimeout;
102
103
  private _cleanupListeners;
103
104
  private _calculateArrowOffset;