@shival99/z-ui 2.2.5 → 2.3.0

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.
Files changed (66) hide show
  1. package/assets/css/base.css +4 -0
  2. package/assets/css/overlay.css +82 -0
  3. package/assets/css/tailwind.css +1 -0
  4. package/assets/css/themes/hospital.css +28 -2
  5. package/fesm2022/shival99-z-ui-components-z-button-group.mjs +15 -13
  6. package/fesm2022/shival99-z-ui-components-z-button-group.mjs.map +1 -1
  7. package/fesm2022/shival99-z-ui-components-z-button.mjs +2 -2
  8. package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -1
  9. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +23 -17
  10. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
  11. package/fesm2022/shival99-z-ui-components-z-command.mjs +10 -24
  12. package/fesm2022/shival99-z-ui-components-z-command.mjs.map +1 -1
  13. package/fesm2022/shival99-z-ui-components-z-drawer.mjs +61 -70
  14. package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -1
  15. package/fesm2022/shival99-z-ui-components-z-gallery.mjs +6 -8
  16. package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -1
  17. package/fesm2022/shival99-z-ui-components-z-icon.mjs +227 -11
  18. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -1
  19. package/fesm2022/shival99-z-ui-components-z-marquee.mjs +19 -4
  20. package/fesm2022/shival99-z-ui-components-z-marquee.mjs.map +1 -1
  21. package/fesm2022/shival99-z-ui-components-z-menu.mjs +7 -7
  22. package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -1
  23. package/fesm2022/shival99-z-ui-components-z-modal.mjs +45 -62
  24. package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -1
  25. package/fesm2022/shival99-z-ui-components-z-overlay.mjs +363 -0
  26. package/fesm2022/shival99-z-ui-components-z-overlay.mjs.map +1 -0
  27. package/fesm2022/shival99-z-ui-components-z-popover.mjs +94 -378
  28. package/fesm2022/shival99-z-ui-components-z-popover.mjs.map +1 -1
  29. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs +14 -3
  30. package/fesm2022/shival99-z-ui-components-z-skeleton.mjs.map +1 -1
  31. package/fesm2022/shival99-z-ui-components-z-table.mjs +42 -16
  32. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
  33. package/fesm2022/shival99-z-ui-components-z-tabs.mjs +85 -7
  34. package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -1
  35. package/fesm2022/shival99-z-ui-components-z-toast.mjs +32 -25
  36. package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -1
  37. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +52 -222
  38. package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -1
  39. package/fesm2022/shival99-z-ui-providers.mjs +9 -2
  40. package/fesm2022/shival99-z-ui-providers.mjs.map +1 -1
  41. package/fesm2022/shival99-z-ui-services.mjs +203 -98
  42. package/fesm2022/shival99-z-ui-services.mjs.map +1 -1
  43. package/package.json +9 -1
  44. package/types/shival99-z-ui-components-z-autocomplete.d.ts +1 -1
  45. package/types/shival99-z-ui-components-z-button-group.d.ts +12 -11
  46. package/types/shival99-z-ui-components-z-button.d.ts +2 -1
  47. package/types/shival99-z-ui-components-z-calendar.d.ts +4 -4
  48. package/types/shival99-z-ui-components-z-command.d.ts +2 -4
  49. package/types/shival99-z-ui-components-z-drawer.d.ts +22 -16
  50. package/types/shival99-z-ui-components-z-editor.d.ts +1 -1
  51. package/types/shival99-z-ui-components-z-gallery.d.ts +3 -3
  52. package/types/shival99-z-ui-components-z-icon.d.ts +38 -6
  53. package/types/shival99-z-ui-components-z-marquee.d.ts +7 -1
  54. package/types/shival99-z-ui-components-z-modal.d.ts +53 -53
  55. package/types/shival99-z-ui-components-z-overlay.d.ts +145 -0
  56. package/types/shival99-z-ui-components-z-popover.d.ts +7 -15
  57. package/types/shival99-z-ui-components-z-qrcode.d.ts +1 -1
  58. package/types/shival99-z-ui-components-z-select.d.ts +1 -1
  59. package/types/shival99-z-ui-components-z-skeleton.d.ts +2 -0
  60. package/types/shival99-z-ui-components-z-table.d.ts +7 -3
  61. package/types/shival99-z-ui-components-z-tabs.d.ts +13 -3
  62. package/types/shival99-z-ui-components-z-toast.d.ts +7 -1
  63. package/types/shival99-z-ui-components-z-tooltip.d.ts +9 -7
  64. package/types/shival99-z-ui-components-z-upload.d.ts +3 -3
  65. package/types/shival99-z-ui-providers.d.ts +3 -1
  66. package/types/shival99-z-ui-services.d.ts +73 -37
@@ -1,17 +1,53 @@
1
- import { ComponentType, OverlayRef } from '@angular/cdk/overlay';
2
1
  import * as _angular_core from '@angular/core';
3
- import { TemplateRef, Type, WritableSignal, EventEmitter, ViewContainerRef, InjectionToken, OnDestroy, AfterViewChecked, ComponentRef, EmbeddedViewRef } from '@angular/core';
2
+ import { Type, TemplateRef, WritableSignal, EventEmitter, ViewContainerRef, OnDestroy, AfterViewChecked, Injector, ComponentRef, EmbeddedViewRef, InjectionToken } from '@angular/core';
4
3
  import { ZIcon } from '@shival99/z-ui/components/z-icon';
5
4
  import { ClassValue } from 'clsx';
6
- import { Observable } from 'rxjs';
7
- import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
8
5
  import { NgScrollbar } from 'ngx-scrollbar';
6
+ import { Observable } from 'rxjs';
7
+ import { ZOverlayRef } from '@shival99/z-ui/components/z-overlay';
9
8
  import * as class_variance_authority_types from 'class-variance-authority/types';
10
9
 
11
- type ZModalContentType<T> = ComponentType<T> | TemplateRef<T> | string;
12
- declare const Z_MODAL_DATA: InjectionToken<any>;
10
+ type ZModalContentType<T> = Type<T> | TemplateRef<T> | string;
13
11
  type ZModalOnClickCallBack<T> = (instance: T, modalRef?: unknown) => false | void | object;
14
12
  type ZModalConfirmType = 'show' | 'info' | 'warning' | 'danger';
13
+ interface ZModalConfirmOptions<U = unknown> {
14
+ zTitle: string;
15
+ zContent?: string;
16
+ zIcon?: ZIcon;
17
+ zOkText?: string;
18
+ zCancelText?: string | null;
19
+ /** Callback when OK is clicked. Return false to prevent auto-close */
20
+ zOnOk?: () => void | false | Promise<void>;
21
+ zOnCancel?: () => void;
22
+ zMaskClosable?: boolean;
23
+ /** Modal width. In service mode this is applied as the minimum width to allow content to expand naturally. */
24
+ zWidth?: string;
25
+ zData?: U;
26
+ }
27
+ interface ZModalConfirmIconColors {
28
+ ring: string;
29
+ bg: string;
30
+ icon: string;
31
+ }
32
+
33
+ declare class ZModalContentDirective {
34
+ readonly templateRef: TemplateRef<any>;
35
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalContentDirective, never>;
36
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalContentDirective, "[z-modal-content], [zModalContent]", never, {}, {}, never, never, true, never>;
37
+ }
38
+
39
+ declare class ZModalFooterDirective {
40
+ readonly templateRef: TemplateRef<any>;
41
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalFooterDirective, never>;
42
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalFooterDirective, "[z-modal-footer], [zModalFooter]", never, {}, {}, never, never, true, never>;
43
+ }
44
+
45
+ declare class ZModalHeaderDirective {
46
+ readonly templateRef: TemplateRef<any>;
47
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalHeaderDirective, never>;
48
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalHeaderDirective, "[z-modal-header], [zModalHeader]", never, {}, {}, never, never, true, never>;
49
+ }
50
+
15
51
  /**
16
52
  * Configuration options for z-modal component.
17
53
  *
@@ -115,43 +151,6 @@ declare class ZModalOptions<T, U> {
115
151
  /** Number of skeleton rows to show when content is loading */
116
152
  zSkeletonRows?: number;
117
153
  }
118
- interface ZModalConfirmOptions<U = unknown> {
119
- zTitle: string;
120
- zContent?: string;
121
- zIcon?: ZIcon;
122
- zOkText?: string;
123
- zCancelText?: string | null;
124
- /** Callback when OK is clicked. Return false to prevent auto-close */
125
- zOnOk?: () => void | false | Promise<void>;
126
- zOnCancel?: () => void;
127
- zMaskClosable?: boolean;
128
- /** Modal width. In service mode this is applied as the minimum width to allow content to expand naturally. */
129
- zWidth?: string;
130
- zData?: U;
131
- }
132
- interface ZModalConfirmIconColors {
133
- ring: string;
134
- bg: string;
135
- icon: string;
136
- }
137
-
138
- declare class ZModalContentDirective {
139
- readonly templateRef: TemplateRef<any>;
140
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalContentDirective, never>;
141
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalContentDirective, "[z-modal-content], [zModalContent]", never, {}, {}, never, never, true, never>;
142
- }
143
-
144
- declare class ZModalFooterDirective {
145
- readonly templateRef: TemplateRef<any>;
146
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalFooterDirective, never>;
147
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalFooterDirective, "[z-modal-footer], [zModalFooter]", never, {}, {}, never, never, true, never>;
148
- }
149
-
150
- declare class ZModalHeaderDirective {
151
- readonly templateRef: TemplateRef<any>;
152
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZModalHeaderDirective, never>;
153
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ZModalHeaderDirective, "[z-modal-header], [zModalHeader]", never, {}, {}, never, never, true, never>;
154
- }
155
154
 
156
155
  declare class ZModalRef<T = any, R = any, U = any> {
157
156
  private readonly _overlayRef;
@@ -164,7 +163,7 @@ declare class ZModalRef<T = any, R = any, U = any> {
164
163
  componentInstance: T | null;
165
164
  readonly loading: _angular_core.WritableSignal<boolean>;
166
165
  readonly zAfterClose: EventEmitter<R | undefined>;
167
- constructor(_overlayRef: OverlayRef, _config: ZModalOptions<T, U>, _containerInstance: ZModalComponent<T, U>, _platformId: object);
166
+ constructor(_overlayRef: ZOverlayRef, _config: ZModalOptions<T, U>, _containerInstance: ZModalComponent<T, U>, _platformId: object);
168
167
  setLoading(value: boolean): void;
169
168
  close(result?: R): void;
170
169
  private _trigger;
@@ -172,7 +171,7 @@ declare class ZModalRef<T = any, R = any, U = any> {
172
171
  private _closeWithResult;
173
172
  }
174
173
 
175
- declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestroy, AfterViewChecked {
174
+ declare class ZModalComponent<T, U> implements OnDestroy, AfterViewChecked {
176
175
  zOk: _angular_core.OutputEmitterRef<void>;
177
176
  zCancel: _angular_core.OutputEmitterRef<void>;
178
177
  zAfterClose: _angular_core.OutputEmitterRef<void>;
@@ -202,14 +201,12 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
202
201
  protected readonly customContent: _angular_core.Signal<ZModalContentDirective | undefined>;
203
202
  protected readonly customFooter: _angular_core.Signal<ZModalFooterDirective | undefined>;
204
203
  modalRef?: ZModalRef<T>;
205
- readonly portalOutlet: _angular_core.Signal<CdkPortalOutlet | undefined>;
206
- protected readonly dummyTemplateRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
204
+ protected readonly contentOutlet: _angular_core.Signal<ViewContainerRef | undefined>;
207
205
  protected readonly mainContentRef: _angular_core.Signal<NgScrollbar | undefined>;
208
206
  protected readonly config: ZModalOptions<T, U>;
209
207
  private readonly _platformId;
210
208
  private readonly _host;
211
- private readonly _overlay;
212
- private readonly _viewContainerRef;
209
+ private readonly _overlayService;
213
210
  private readonly _cdr;
214
211
  private readonly _destroyRef;
215
212
  private readonly _zTranslate;
@@ -232,6 +229,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
232
229
  private _lastScrollHeight;
233
230
  ngAfterViewChecked(): void;
234
231
  private _checkScrollState;
232
+ onContentWheel(event: WheelEvent): void;
235
233
  onContentScroll(event: Event): void;
236
234
  protected readonly confirmIconColors: _angular_core.Signal<ZModalConfirmIconColors>;
237
235
  protected readonly effectiveTitle: _angular_core.Signal<string | TemplateRef<unknown> | undefined>;
@@ -251,7 +249,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
251
249
  protected readonly effectiveOkText: _angular_core.Signal<string | null | undefined>;
252
250
  protected readonly effectiveCancelText: _angular_core.Signal<string | null | undefined>;
253
251
  protected readonly effectiveOkDestructive: _angular_core.Signal<boolean | undefined>;
254
- protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "link" | "default" | "primary" | "secondary" | "destructive" | "destructive-heartbeat" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-shimmer" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "outline-primary-soft" | "outline-success-soft" | "outline-info-soft" | "outline-warning-soft" | "outline-error-soft" | "outline-destructive-soft" | "outline-primary-soft-border" | "outline-success-soft-border" | "outline-info-soft-border" | "outline-warning-soft-border" | "outline-error-soft-border" | "outline-destructive-soft-border" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | "subtle-primary" | "subtle-success" | "subtle-info" | "subtle-warning" | "subtle-destructive" | "subtle-outline" | "subtle-primary-outline" | "subtle-success-outline" | "subtle-info-outline" | "subtle-warning-outline" | "subtle-destructive-outline" | null | undefined>;
252
+ protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "default" | "primary" | "secondary" | "destructive" | "destructive-heartbeat" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-shimmer" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "outline-primary-soft" | "outline-success-soft" | "outline-info-soft" | "outline-warning-soft" | "outline-error-soft" | "outline-destructive-soft" | "outline-primary-soft-border" | "outline-success-soft-border" | "outline-info-soft-border" | "outline-warning-soft-border" | "outline-error-soft-border" | "outline-destructive-soft-border" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | "subtle-primary" | "subtle-success" | "subtle-info" | "subtle-warning" | "subtle-destructive" | "subtle-outline" | "subtle-primary-outline" | "subtle-success-outline" | "subtle-info-outline" | "subtle-warning-outline" | "subtle-destructive-outline" | "link" | null | undefined>;
255
253
  protected readonly effectiveOkDisabled: _angular_core.Signal<boolean | undefined>;
256
254
  protected readonly effectiveLoading: _angular_core.Signal<boolean>;
257
255
  protected readonly effectiveContentLoading: _angular_core.Signal<boolean>;
@@ -264,8 +262,8 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
264
262
  ngOnDestroy(): void;
265
263
  isDestroyed(): boolean;
266
264
  getNativeElement(): HTMLElement;
267
- attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;
268
- attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;
265
+ attachComponentPortal<C>(component: Type<C>, injector?: Injector): ComponentRef<C>;
266
+ attachTemplatePortal<C>(templateRef: TemplateRef<C>, context: C): EmbeddedViewRef<C>;
269
267
  onOkClick(): void;
270
268
  onCloseClick(): void;
271
269
  onBackdropClick(): void;
@@ -281,7 +279,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
281
279
  }
282
280
 
283
281
  declare class ZModalService {
284
- private readonly _overlay;
282
+ private readonly _overlayService;
285
283
  private readonly _injector;
286
284
  private readonly _platformId;
287
285
  private readonly _zTranslate;
@@ -301,6 +299,8 @@ declare class ZModalService {
301
299
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ZModalService>;
302
300
  }
303
301
 
302
+ declare const Z_MODAL_DATA: InjectionToken<any>;
303
+
304
304
  declare const zModalVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
305
305
 
306
306
  export { ZModalComponent, ZModalContentDirective, ZModalFooterDirective, ZModalHeaderDirective, ZModalOptions, ZModalRef, ZModalService, Z_MODAL_DATA, zModalVariants };
@@ -0,0 +1,145 @@
1
+ import { AutoUpdateOptions, Placement } from '@floating-ui/dom';
2
+ import * as i0 from '@angular/core';
3
+ import { ApplicationRef, EnvironmentInjector, Type, Injector, ViewContainerRef, ComponentRef, TemplateRef, EmbeddedViewRef } from '@angular/core';
4
+ import { Observable } from 'rxjs';
5
+
6
+ type ZOverlaySide = 'top' | 'bottom' | 'left' | 'right';
7
+ type ZOverlayPlacement = 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom';
8
+ interface ZFloatingPlacementConfig {
9
+ reference: Element;
10
+ floating: HTMLElement;
11
+ placement: ZOverlayPlacement;
12
+ fallbackPlacements: ZOverlayPlacement[];
13
+ offset: number;
14
+ viewportPadding?: number;
15
+ push?: boolean;
16
+ flexibleDimensions?: boolean;
17
+ }
18
+ interface ZFloatingPlacementResult {
19
+ x: number;
20
+ y: number;
21
+ placement: ZOverlayPlacement;
22
+ }
23
+ interface ZFloatingArrowOffsetConfig {
24
+ triggerRect: DOMRectReadOnly;
25
+ overlayRect: DOMRectReadOnly;
26
+ placement: ZOverlayPlacement;
27
+ edgePadding?: number;
28
+ }
29
+ interface ZOverlaySizeConfig {
30
+ width?: string | number;
31
+ minWidth?: string | number;
32
+ maxWidth?: string | number;
33
+ height?: string | number;
34
+ minHeight?: string | number;
35
+ maxHeight?: string | number;
36
+ }
37
+ interface ZOverlayGlobalConfig {
38
+ hasBackdrop: boolean;
39
+ backdropClass?: string;
40
+ panelClass?: string;
41
+ scrollLock?: boolean;
42
+ size?: ZOverlaySizeConfig;
43
+ }
44
+ interface ZOverlayAnchoredConfig {
45
+ panelClass?: string;
46
+ }
47
+
48
+ declare function computeZOverlayPlacement(config: ZFloatingPlacementConfig): Promise<ZFloatingPlacementResult>;
49
+ /** Bọc lại `autoUpdate` của Floating UI — thay cho `scrollStrategies.reposition()` của CDK. */
50
+ declare function startZOverlayAutoUpdate(reference: Element, floating: HTMLElement, onUpdate: () => void, options?: Partial<AutoUpdateOptions>): () => void;
51
+ /**
52
+ * Tính độ lệch mũi tên so với tâm overlay, kẹp trong biên overlay.
53
+ * Y hệt logic `_calculateArrowOffset` cũ của tooltip/popover — chỉ tách ra dùng chung.
54
+ */
55
+ declare function computeZOverlayArrowOffset(config: ZFloatingArrowOffsetConfig): number;
56
+
57
+ declare const Z_OVERLAY_DEFAULT_VIEWPORT_PADDING = 8;
58
+ declare const Z_OVERLAY_DEFAULT_ARROW_EDGE_PADDING = 12;
59
+ declare const Z_OVERLAY_CONTAINER_CLASS = "z-overlay-container";
60
+ declare const Z_OVERLAY_HOST_CLASS = "z-overlay-host";
61
+ /** Z-UI position name -> Floating UI placement (12 vị trí khớp 1:1). */
62
+ declare const Z_OVERLAY_PLACEMENT_MAP: Record<ZOverlayPlacement, Placement>;
63
+ declare const Z_OVERLAY_PLACEMENT_REVERSE_MAP: Record<Placement, ZOverlayPlacement>;
64
+ /**
65
+ * Thứ tự fallback khi vị trí chính không đủ chỗ (không gồm vị trí chính — flip() tự thử trước).
66
+ * Dùng chung cho tooltip lẫn popover, hai nơi này vốn có bảng y hệt nhau.
67
+ */
68
+ declare const Z_OVERLAY_FALLBACK_ORDER: Record<ZOverlayPlacement, ZOverlayPlacement[]>;
69
+ /** Thứ tự ưu tiên khi vị trí chính còn đủ chỗ (tooltip dùng để giữ đúng cạnh, không nhảy sang cạnh đối diện). */
70
+ declare const Z_OVERLAY_PREFERRED_SIDE_ORDER: Record<ZOverlayPlacement, ZOverlayPlacement[]>;
71
+
72
+ /**
73
+ * Thay cho `OverlayRef` của CDK. `overlayElement` là pane được Floating UI định vị
74
+ * (overlay neo theo trigger) hoặc chính `hostElement` (overlay toàn màn hình — modal/drawer).
75
+ */
76
+ declare class ZOverlayRef {
77
+ readonly hostElement: HTMLElement;
78
+ readonly overlayElement: HTMLElement;
79
+ readonly backdropElement: HTMLElement | null;
80
+ private readonly _appRef;
81
+ private readonly _envInjector;
82
+ private readonly _onDispose?;
83
+ private _componentRef;
84
+ private _embeddedViewRef;
85
+ constructor(hostElement: HTMLElement, overlayElement: HTMLElement, backdropElement: HTMLElement | null, _appRef: ApplicationRef, _envInjector: EnvironmentInjector, _onDispose?: (() => void) | undefined);
86
+ hasAttached(): boolean;
87
+ /**
88
+ * `viewContainerRef`, khi được truyền, cho component tạo ra thừa hưởng injector/vị trí trong
89
+ * cây view của chính VCR đó (giữ đúng ngữ nghĩa `ZModalOptions.zViewContainerRef` công khai) —
90
+ * dù vậy DOM node vẫn luôn được chuyển vào `overlayElement`, y hệt `DomPortalOutlet` của CDK cũ.
91
+ */
92
+ attach<T>(component: Type<T>, options?: {
93
+ injector?: Injector;
94
+ viewContainerRef?: ViewContainerRef;
95
+ }): ComponentRef<T>;
96
+ /** Gắn một `TemplateRef` (thay `TemplatePortal`) — chỉ dùng cho overlay tự do (z-dynamic.service). */
97
+ attachTemplate<C>(templateRef: TemplateRef<C>, viewContainerRef: ViewContainerRef, context: C): EmbeddedViewRef<C>;
98
+ updateSize(size: ZOverlaySizeConfig): void;
99
+ backdropClick(): Observable<MouseEvent>;
100
+ outsidePointerEvents(): Observable<PointerEvent>;
101
+ dispose(): void;
102
+ }
103
+
104
+ /**
105
+ * Tạo overlay host `[popover=manual]` (top layer, thay cho `.cdk-overlay-pane`) và trả về `ZOverlayRef`.
106
+ *
107
+ * - `createAnchored`: overlay neo theo trigger (tooltip/popover) — có thêm `.z-overlay-pane` để
108
+ * Floating UI định vị bằng `left`/`top` (không dùng `transform`, vì các class `z-animate-*`
109
+ * trong `animations.css` đã chiếm `transform` cho hiệu ứng enter/exit).
110
+ * - `createGlobal`: overlay toàn màn hình (modal/drawer) — component gắn vào tự định vị bằng
111
+ * `zModalVariants`/`zDrawerVariants` (đã là `fixed` + toạ độ cố định), nên không cần pane riêng.
112
+ */
113
+ declare class ZOverlayService {
114
+ private readonly _appRef;
115
+ private readonly _envInjector;
116
+ private readonly _document;
117
+ private readonly _scrollLock;
118
+ private _container;
119
+ createAnchored(config?: ZOverlayAnchoredConfig): ZOverlayRef;
120
+ createGlobal(config: ZOverlayGlobalConfig): ZOverlayRef;
121
+ private _createHost;
122
+ private _showHost;
123
+ private _getContainer;
124
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZOverlayService, never>;
125
+ static ɵprov: i0.ɵɵInjectableDeclaration<ZOverlayService>;
126
+ }
127
+
128
+ /**
129
+ * Khoá scroll trang khi overlay toàn màn hình (modal/drawer) mở — thay cho
130
+ * `scrollStrategies.block()` của CDK. Đếm tham chiếu để modal-trong-modal không mở khoá sớm.
131
+ * Dùng `top`/`left` âm theo vị trí scroll hiện tại (giống thuật toán `BlockScrollStrategy` của CDK)
132
+ * để không giật layout và giữ nguyên vị trí scroll khi mở khoá lại.
133
+ */
134
+ declare class ZScrollLockService {
135
+ private readonly _document;
136
+ private _lockCount;
137
+ private _scrollPosition;
138
+ lock(): void;
139
+ unlock(): void;
140
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZScrollLockService, never>;
141
+ static ɵprov: i0.ɵɵInjectableDeclaration<ZScrollLockService>;
142
+ }
143
+
144
+ export { ZOverlayRef, ZOverlayService, ZScrollLockService, Z_OVERLAY_CONTAINER_CLASS, Z_OVERLAY_DEFAULT_ARROW_EDGE_PADDING, Z_OVERLAY_DEFAULT_VIEWPORT_PADDING, Z_OVERLAY_FALLBACK_ORDER, Z_OVERLAY_HOST_CLASS, Z_OVERLAY_PLACEMENT_MAP, Z_OVERLAY_PLACEMENT_REVERSE_MAP, Z_OVERLAY_PREFERRED_SIDE_ORDER, computeZOverlayArrowOffset, computeZOverlayPlacement, startZOverlayAutoUpdate };
145
+ export type { ZFloatingArrowOffsetConfig, ZFloatingPlacementConfig, ZFloatingPlacementResult, ZOverlayAnchoredConfig, ZOverlayGlobalConfig, ZOverlayPlacement, ZOverlaySide, ZOverlaySizeConfig };
@@ -23,8 +23,7 @@ interface ZPopoverControl {
23
23
 
24
24
  declare class ZPopoverComponent implements OnInit, OnDestroy {
25
25
  private static readonly _openPopovers;
26
- private readonly _overlay;
27
- private readonly _overlayPositionBuilder;
26
+ private readonly _overlayService;
28
27
  private readonly _renderer;
29
28
  private readonly _destroyRef;
30
29
  private readonly _platformId;
@@ -54,7 +53,7 @@ declare class ZPopoverComponent implements OnInit, OnDestroy {
54
53
  private _componentRef;
55
54
  private _delaySubject;
56
55
  private _listenerCleanups;
57
- private _positionSubscription;
56
+ private _autoUpdateCleanup;
58
57
  private _scrollSubscription;
59
58
  private _viewportResizeSubscription;
60
59
  private _resizeObserver;
@@ -74,7 +73,6 @@ declare class ZPopoverComponent implements OnInit, OnDestroy {
74
73
  isOpen(): boolean;
75
74
  updatePosition(): void;
76
75
  private _createOverlay;
77
- private _createScrollStrategy;
78
76
  private _disposeOverlay;
79
77
  private _setupDelayMechanism;
80
78
  private _setupTriggers;
@@ -85,19 +83,17 @@ declare class ZPopoverComponent implements OnInit, OnDestroy {
85
83
  private _showPopover;
86
84
  private _isNestedPopoverTarget;
87
85
  private _setupResizeObserver;
88
- private _updatePositionAfterContentSettles;
89
86
  private _schedulePositionUpdate;
90
87
  private _scheduleSettledPositionUpdate;
91
88
  private _cancelScheduledPositionUpdate;
92
89
  private _updatePositionNow;
90
+ private _applyPosition;
93
91
  private _markViewportSettling;
94
92
  private _shouldDeferForMobileKeyboard;
95
93
  private _shouldSkipMobileKeyboardUpdate;
96
94
  private _isMobileOverlayTextInputFocused;
97
95
  private _clearViewportResizeTimeout;
98
- private _applyMobilePopoverPosition;
99
96
  private _isTriggerVisibleInViewport;
100
- private _setOverlayPaneStyles;
101
97
  private _setupPopoverHover;
102
98
  private _hidePopover;
103
99
  private _clearHideTimeout;
@@ -117,7 +113,7 @@ declare class ZPopoverDirective implements OnInit, OnDestroy {
117
113
  readonly zHideDelay: _angular_core.InputSignal<number>;
118
114
  readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
119
115
  readonly zOffset: _angular_core.InputSignal<number>;
120
- readonly zPopoverWidth: _angular_core.InputSignal<number | "trigger" | "auto">;
116
+ readonly zPopoverWidth: _angular_core.InputSignal<number | "auto" | "trigger">;
121
117
  readonly zTriggerRef: _angular_core.InputSignal<HTMLElement | ElementRef<HTMLElement> | null>;
122
118
  readonly zManualClose: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
123
119
  readonly zOutsideClickClose: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
@@ -132,8 +128,7 @@ declare class ZPopoverDirective implements OnInit, OnDestroy {
132
128
  readonly zPositionChange: _angular_core.OutputEmitterRef<ZPopoverPosition>;
133
129
  readonly zOutsideClick: _angular_core.OutputEmitterRef<MouseEvent>;
134
130
  private readonly _trigger;
135
- private readonly _overlay;
136
- private readonly _overlayPositionBuilder;
131
+ private readonly _overlayService;
137
132
  private readonly _elementRef;
138
133
  private readonly _renderer;
139
134
  private readonly _destroyRef;
@@ -145,7 +140,7 @@ declare class ZPopoverDirective implements OnInit, OnDestroy {
145
140
  private _componentRef;
146
141
  private _delaySubject;
147
142
  private _listenerCleanups;
148
- private _positionSubscription;
143
+ private _autoUpdateCleanup;
149
144
  private _scrollSubscription;
150
145
  private _viewportResizeSubscription;
151
146
  private _resizeObserver;
@@ -166,7 +161,6 @@ declare class ZPopoverDirective implements OnInit, OnDestroy {
166
161
  isOpen(): boolean;
167
162
  updatePosition(): void;
168
163
  private _createOverlay;
169
- private _createScrollStrategy;
170
164
  private _getWidthConfig;
171
165
  private _getTriggerElement;
172
166
  private _disposeOverlay;
@@ -179,19 +173,17 @@ declare class ZPopoverDirective implements OnInit, OnDestroy {
179
173
  private _showPopover;
180
174
  private _isNestedPopoverTarget;
181
175
  private _setupResizeObserver;
182
- private _updatePositionAfterContentSettles;
183
176
  private _schedulePositionUpdate;
184
177
  private _scheduleSettledPositionUpdate;
185
178
  private _cancelScheduledPositionUpdate;
186
179
  private _updatePositionNow;
180
+ private _applyPosition;
187
181
  private _markViewportSettling;
188
182
  private _shouldDeferForMobileKeyboard;
189
183
  private _shouldSkipMobileKeyboardUpdate;
190
184
  private _isMobileOverlayTextInputFocused;
191
185
  private _clearViewportResizeTimeout;
192
- private _applyMobilePopoverPosition;
193
186
  private _isTriggerVisibleInViewport;
194
- private _setOverlayPaneStyles;
195
187
  private _setupPopoverHover;
196
188
  private _hidePopover;
197
189
  private _clearHideTimeout;
@@ -17,7 +17,7 @@ declare class ZQrCodeComponent {
17
17
  readonly zLogo: _angular_core.InputSignal<string>;
18
18
  readonly zLogoSize: _angular_core.InputSignal<number>;
19
19
  readonly zLogoBgColor: _angular_core.InputSignal<string>;
20
- readonly zLogoBgShape: _angular_core.InputSignal<"square" | "circle" | "none">;
20
+ readonly zLogoBgShape: _angular_core.InputSignal<"circle" | "square" | "none">;
21
21
  readonly zLogoPadding: _angular_core.InputSignal<number>;
22
22
  readonly zFgColor: _angular_core.InputSignal<string>;
23
23
  readonly zBgColor: _angular_core.InputSignal<string>;
@@ -331,7 +331,7 @@ declare class ZTagClassesPipe implements PipeTransform {
331
331
 
332
332
  declare const zSelectVariants: (props?: ({
333
333
  zSize?: "sm" | "default" | "lg" | null | undefined;
334
- zStatus?: "default" | "open" | "error" | "disabled" | "readonly" | null | undefined;
334
+ zStatus?: "default" | "error" | "disabled" | "readonly" | "open" | null | undefined;
335
335
  } & class_variance_authority_types.ClassProp) | undefined) => string;
336
336
  declare const zSelectTagVariants: (props?: ({
337
337
  zSize?: "sm" | "default" | "lg" | null | undefined;
@@ -25,6 +25,8 @@ declare class ZSkeletonComponent implements AfterViewInit {
25
25
  private readonly _calculatedRows;
26
26
  ngAfterViewInit(): void;
27
27
  protected readonly containerClass: _angular_core.Signal<string>;
28
+ protected readonly hostDisplay: _angular_core.Signal<"inline-block" | "block">;
29
+ protected readonly hostWidth: _angular_core.Signal<string | undefined>;
28
30
  protected readonly hostHeight: _angular_core.Signal<string | undefined>;
29
31
  protected readonly skeletonClasses: _angular_core.Signal<string>;
30
32
  protected readonly circleStyles: _angular_core.Signal<{
@@ -6,7 +6,6 @@ import { ZInputAlign, ZInputSize } from '@shival99/z-ui/components/z-input';
6
6
  import * as _angular_core from '@angular/core';
7
7
  import { TemplateRef, Type, AfterViewInit, ElementRef, OnInit } from '@angular/core';
8
8
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
9
- import { ConnectedPosition } from '@angular/cdk/overlay';
10
9
  import { ZPopoverPosition, ZPopoverTrigger, ZPopoverControl, ZPopoverDirective } from '@shival99/z-ui/components/z-popover';
11
10
  import { ClassValue } from 'clsx';
12
11
  import { NgScrollbar } from 'ngx-scrollbar';
@@ -1120,6 +1119,8 @@ declare class ZTableComponent<T> implements AfterViewInit {
1120
1119
  private readonly _document;
1121
1120
  private readonly _zExcel;
1122
1121
  private readonly _zTranslate;
1122
+ private readonly _overlayService;
1123
+ private readonly _viewContainerRef;
1123
1124
  /** Prevents recursive scroll sync between thead/tbody/tfoot */
1124
1125
  private readonly _isSyncingScroll;
1125
1126
  private _lastSyncedScrollLeft;
@@ -1134,6 +1135,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1134
1135
  private _filterEmitDebounceTimeout;
1135
1136
  /** Keeps the bulk bar mounted long enough for its exit animation */
1136
1137
  private _bulkBarTimer;
1138
+ private _bulkBarOverlayRef;
1137
1139
  private _contentRowMenuOutsideTimer;
1138
1140
  private _contentRowMenuOutsideCleanup;
1139
1141
  private _cellInteractionOutsideCleanup;
@@ -1242,6 +1244,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
1242
1244
  protected readonly bulkBarConfig: _angular_core.WritableSignal<ZTableBulkActionOptions<T> | null>;
1243
1245
  protected readonly bulkBarContext: _angular_core.WritableSignal<ZTableBulkActionContext<T> | null>;
1244
1246
  protected readonly bulkBarItems: _angular_core.WritableSignal<ZTableBulkActionRenderItem<T>[]>;
1247
+ protected readonly bulkBarTemplateRef: _angular_core.Signal<TemplateRef<unknown> | undefined>;
1245
1248
  /** True when table body is scrolled away from left edge (shows left pin shadow) */
1246
1249
  protected readonly hasScrollLeft: _angular_core.WritableSignal<boolean>;
1247
1250
  /** True when table has right-pinned columns and body isn't scrolled to the end */
@@ -1854,7 +1857,6 @@ declare class ZTableComponent<T> implements AfterViewInit {
1854
1857
  protected readonly bulkActionConfig: _angular_core.Signal<ZTableBulkActionOptions<T> | null>;
1855
1858
  protected readonly bulkActionItems: _angular_core.Signal<ZTableBulkActionRenderItem<T>[]>;
1856
1859
  protected readonly showBulkBar: _angular_core.Signal<boolean>;
1857
- protected readonly bulkBarPositions: ConnectedPosition[];
1858
1860
  private readonly _bulkBarExitDuration;
1859
1861
  /** Stable identity key per virtual index (row/group id, not array index) — prevents height jitter on fast scroll. */
1860
1862
  private readonly _virtualItemKeys;
@@ -1922,6 +1924,8 @@ declare class ZTableComponent<T> implements AfterViewInit {
1922
1924
  private _getExcelColumnHeader;
1923
1925
  private _getExcelColumnHeaderAlign;
1924
1926
  private _clearBulkBarTimer;
1927
+ private _openBulkBarOverlay;
1928
+ private _disposeBulkBarOverlay;
1925
1929
  private _clearContentRowMenuOutsideListener;
1926
1930
  /**
1927
1931
  * Wraps state mutations with a debounced processing indicator.
@@ -2163,7 +2167,7 @@ declare class ZTableFilterComponent<T> {
2163
2167
  protected readonly filterBadgeCount: _angular_core.Signal<number>;
2164
2168
  protected readonly hasFilterValue: _angular_core.Signal<boolean>;
2165
2169
  protected readonly isActive: _angular_core.Signal<boolean>;
2166
- protected readonly draftSortValue: _angular_core.Signal<"none" | "asc" | "desc">;
2170
+ protected readonly draftSortValue: _angular_core.Signal<"asc" | "desc" | "none">;
2167
2171
  protected readonly rangeMinValue: _angular_core.Signal<any>;
2168
2172
  protected readonly rangeMaxValue: _angular_core.Signal<any>;
2169
2173
  protected readonly dateValue: _angular_core.Signal<Date | null>;
@@ -13,11 +13,11 @@ declare class ZTabPanelDirective {
13
13
  }
14
14
 
15
15
  declare const zTabsVariants: (props?: ({
16
- zType?: "line" | "soft" | "segment" | "segment-solid" | "folder" | "folder-soft" | "folder-solid" | "underline" | "underlined" | "badge" | "sharp" | "sharp-line" | "sharp-line-filled" | "vertical-sharp" | "code-line" | null | undefined;
16
+ zType?: "line" | "soft" | "segment" | "segment-solid" | "pill-solid" | "pill-blur" | "folder" | "folder-soft" | "folder-solid" | "underline" | "underlined" | "badge" | "sharp" | "sharp-line" | "sharp-line-filled" | "vertical-sharp" | "code-line" | null | undefined;
17
17
  zOrientation?: "horizontal" | "vertical" | null | undefined;
18
18
  } & class_variance_authority_types.ClassProp) | undefined) => string;
19
19
  declare const zTabItemVariants: (props?: ({
20
- zType?: "line" | "soft" | "segment" | "segment-solid" | "folder" | "folder-soft" | "folder-solid" | "underline" | "underlined" | "badge" | "sharp" | "sharp-line" | "sharp-line-filled" | "vertical-sharp" | "code-line" | null | undefined;
20
+ zType?: "line" | "soft" | "segment" | "segment-solid" | "pill-solid" | "pill-blur" | "folder" | "folder-soft" | "folder-solid" | "underline" | "underlined" | "badge" | "sharp" | "sharp-line" | "sharp-line-filled" | "vertical-sharp" | "code-line" | null | undefined;
21
21
  zSize?: "xs" | "sm" | "default" | "lg" | null | undefined;
22
22
  zOrientation?: "horizontal" | "vertical" | null | undefined;
23
23
  } & class_variance_authority_types.ClassProp) | undefined) => string;
@@ -30,7 +30,7 @@ interface ZTab {
30
30
  badge?: string | number;
31
31
  template?: TemplateRef<unknown>;
32
32
  }
33
- type ZTabsType = 'line' | 'soft' | 'segment' | 'segment-solid' | 'folder' | 'folder-soft' | 'folder-solid' | 'underline' | 'underlined' | 'badge' | 'sharp' | 'sharp-line' | 'sharp-line-filled' | 'vertical-sharp' | 'code-line';
33
+ type ZTabsType = 'line' | 'soft' | 'segment' | 'segment-solid' | 'pill-solid' | 'pill-blur' | 'folder' | 'folder-soft' | 'folder-solid' | 'underline' | 'underlined' | 'badge' | 'sharp' | 'sharp-line' | 'sharp-line-filled' | 'vertical-sharp' | 'code-line';
34
34
  type ZTabsSize = 'xs' | 'sm' | 'default' | 'lg';
35
35
  type ZTabsOrientation = 'horizontal' | 'vertical';
36
36
  type ZTabsContentFit = 'none' | 'screen';
@@ -60,6 +60,15 @@ declare class ZTabsComponent implements OnInit, AfterViewInit, OnDestroy {
60
60
  protected readonly loadedTabs: _angular_core.WritableSignal<Set<string>>;
61
61
  protected readonly canScrollLeft: _angular_core.WritableSignal<boolean>;
62
62
  protected readonly canScrollRight: _angular_core.WritableSignal<boolean>;
63
+ protected readonly bouncingTab: _angular_core.WritableSignal<string | null>;
64
+ protected readonly isGlideType: _angular_core.Signal<boolean>;
65
+ protected readonly glideStyle: _angular_core.WritableSignal<{
66
+ transform: string;
67
+ width: string;
68
+ height: string;
69
+ } | null>;
70
+ protected readonly glideReady: _angular_core.WritableSignal<boolean>;
71
+ protected readonly glideSquashing: _angular_core.WritableSignal<boolean>;
63
72
  protected readonly panelRenderStates: _angular_core.Signal<Map<string, boolean>>;
64
73
  private _resizeObserver?;
65
74
  private readonly _cacheInstanceId;
@@ -79,6 +88,7 @@ declare class ZTabsComponent implements OnInit, AfterViewInit, OnDestroy {
79
88
  protected scrollLeft(): void;
80
89
  protected scrollRight(): void;
81
90
  protected onTabsScroll(): void;
91
+ private _updateGlideIndicator;
82
92
  private _setupResizeObserver;
83
93
  private _restoreActiveTabFromCache;
84
94
  private _saveActiveTabToCache;
@@ -118,7 +118,7 @@ declare class ZToastCustomComponent {
118
118
  declare function provideZToast(config?: Partial<ZToasterConfig>): EnvironmentProviders;
119
119
 
120
120
  declare class ZToastService implements OnDestroy {
121
- private readonly _overlay;
121
+ private readonly _overlayService;
122
122
  private readonly _injector;
123
123
  private readonly _platformId;
124
124
  private readonly _document;
@@ -143,6 +143,12 @@ declare class ZToastService implements OnDestroy {
143
143
  ngOnDestroy(): void;
144
144
  private _ensureToasterAttached;
145
145
  private _moveToTop;
146
+ /**
147
+ * Theo dõi cả hai container overlay (`.cdk-overlay-container` — z-command/z-gallery-preview/
148
+ * z-dynamic.service vẫn dùng CDK, và `.z-overlay-container` — tooltip/popover/modal/drawer dùng
149
+ * engine mới) để bật toast lên top layer mỗi khi có overlay khác vừa mở, giữ đúng hành vi
150
+ * "toast luôn nổi trên cùng" bất kể overlay đó thuộc engine nào.
151
+ */
146
152
  private _setupOverlayObserver;
147
153
  private _disconnectObserver;
148
154
  private _attachToaster;
@@ -1,9 +1,11 @@
1
+ import * as _shival99_z_ui_components_z_overlay from '@shival99/z-ui/components/z-overlay';
2
+ import { ZOverlayPlacement } from '@shival99/z-ui/components/z-overlay';
1
3
  import * as _angular_core from '@angular/core';
2
4
  import { TemplateRef, OnInit, OnDestroy } from '@angular/core';
3
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
4
6
  import { VariantProps } from 'class-variance-authority';
5
7
 
6
- type ZTooltipPosition = 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'left-top' | 'left-bottom' | 'right' | 'right-top' | 'right-bottom';
8
+ type ZTooltipPosition = ZOverlayPlacement;
7
9
 
8
10
  declare const zTooltipVariants: (props?: ({
9
11
  zType?: "default" | "dark" | "light" | "primary" | "success" | "warning" | "error" | "info" | null | undefined;
@@ -32,8 +34,8 @@ interface ZTooltipConfig {
32
34
 
33
35
  declare class ZTooltipDirective implements OnInit, OnDestroy {
34
36
  readonly zContent: _angular_core.InputSignal<ZTooltipContent>;
35
- readonly zPosition: _angular_core.InputSignal<ZTooltipPosition>;
36
- readonly zTooltipPosition: _angular_core.InputSignal<ZTooltipPosition | undefined>;
37
+ readonly zPosition: _angular_core.InputSignal<_shival99_z_ui_components_z_overlay.ZOverlayPlacement>;
38
+ readonly zTooltipPosition: _angular_core.InputSignal<_shival99_z_ui_components_z_overlay.ZOverlayPlacement | undefined>;
37
39
  readonly zTrigger: _angular_core.InputSignal<ZTooltipTrigger>;
38
40
  readonly zTooltipTrigger: _angular_core.InputSignal<ZTooltipTrigger | undefined>;
39
41
  readonly zType: _angular_core.InputSignal<"default" | "dark" | "light" | "primary" | "success" | "warning" | "error" | "info" | null | undefined>;
@@ -64,8 +66,7 @@ declare class ZTooltipDirective implements OnInit, OnDestroy {
64
66
  private readonly _offset;
65
67
  readonly zShow: _angular_core.OutputEmitterRef<void>;
66
68
  readonly zHide: _angular_core.OutputEmitterRef<void>;
67
- private readonly _overlay;
68
- private readonly _overlayPositionBuilder;
69
+ private readonly _overlayService;
69
70
  private readonly _elementRef;
70
71
  private readonly _renderer;
71
72
  private readonly _destroyRef;
@@ -75,7 +76,7 @@ declare class ZTooltipDirective implements OnInit, OnDestroy {
75
76
  private _componentRef;
76
77
  private _delaySubject;
77
78
  private _listenerCleanups;
78
- private _positionSubscription;
79
+ private _autoUpdateCleanup;
79
80
  private _hideTimeout;
80
81
  private readonly _isVisible;
81
82
  constructor();
@@ -87,13 +88,14 @@ declare class ZTooltipDirective implements OnInit, OnDestroy {
87
88
  private _isFormControlValueTruncated;
88
89
  hide(): void;
89
90
  toggle(): void;
90
- private _createOverlay;
91
+ private _getAnchorElement;
91
92
  private _disposeOverlay;
92
93
  private _setupDelayMechanism;
93
94
  private _setupTriggers;
94
95
  private _setupOutsideClick;
95
96
  private _delay;
96
97
  private _showTooltip;
98
+ private _applyPosition;
97
99
  private _setupTooltipHover;
98
100
  private _hideTooltip;
99
101
  private _clearHideTimeout;