@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.
- package/assets/css/base.css +4 -0
- package/assets/css/overlay.css +82 -0
- package/assets/css/tailwind.css +1 -0
- package/assets/css/themes/hospital.css +28 -2
- package/fesm2022/shival99-z-ui-components-z-button-group.mjs +15 -13
- package/fesm2022/shival99-z-ui-components-z-button-group.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-button.mjs +2 -2
- package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs +23 -17
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-command.mjs +10 -24
- package/fesm2022/shival99-z-ui-components-z-command.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-drawer.mjs +61 -70
- package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-gallery.mjs +6 -8
- package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-icon.mjs +227 -11
- package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-marquee.mjs +19 -4
- package/fesm2022/shival99-z-ui-components-z-marquee.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-menu.mjs +7 -7
- package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-modal.mjs +45 -62
- package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-overlay.mjs +363 -0
- package/fesm2022/shival99-z-ui-components-z-overlay.mjs.map +1 -0
- package/fesm2022/shival99-z-ui-components-z-popover.mjs +94 -378
- package/fesm2022/shival99-z-ui-components-z-popover.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-skeleton.mjs +14 -3
- package/fesm2022/shival99-z-ui-components-z-skeleton.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-table.mjs +42 -16
- package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-tabs.mjs +85 -7
- package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-toast.mjs +32 -25
- package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-tooltip.mjs +52 -222
- package/fesm2022/shival99-z-ui-components-z-tooltip.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-providers.mjs +9 -2
- package/fesm2022/shival99-z-ui-providers.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-services.mjs +203 -98
- package/fesm2022/shival99-z-ui-services.mjs.map +1 -1
- package/package.json +9 -1
- package/types/shival99-z-ui-components-z-autocomplete.d.ts +1 -1
- package/types/shival99-z-ui-components-z-button-group.d.ts +12 -11
- package/types/shival99-z-ui-components-z-button.d.ts +2 -1
- package/types/shival99-z-ui-components-z-calendar.d.ts +4 -4
- package/types/shival99-z-ui-components-z-command.d.ts +2 -4
- package/types/shival99-z-ui-components-z-drawer.d.ts +22 -16
- package/types/shival99-z-ui-components-z-editor.d.ts +1 -1
- package/types/shival99-z-ui-components-z-gallery.d.ts +3 -3
- package/types/shival99-z-ui-components-z-icon.d.ts +38 -6
- package/types/shival99-z-ui-components-z-marquee.d.ts +7 -1
- package/types/shival99-z-ui-components-z-modal.d.ts +53 -53
- package/types/shival99-z-ui-components-z-overlay.d.ts +145 -0
- package/types/shival99-z-ui-components-z-popover.d.ts +7 -15
- package/types/shival99-z-ui-components-z-qrcode.d.ts +1 -1
- package/types/shival99-z-ui-components-z-select.d.ts +1 -1
- package/types/shival99-z-ui-components-z-skeleton.d.ts +2 -0
- package/types/shival99-z-ui-components-z-table.d.ts +7 -3
- package/types/shival99-z-ui-components-z-tabs.d.ts +13 -3
- package/types/shival99-z-ui-components-z-toast.d.ts +7 -1
- package/types/shival99-z-ui-components-z-tooltip.d.ts +9 -7
- package/types/shival99-z-ui-components-z-upload.d.ts +3 -3
- package/types/shival99-z-ui-providers.d.ts +3 -1
- 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 {
|
|
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> =
|
|
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:
|
|
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>
|
|
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
|
|
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
|
|
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" | "
|
|
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<
|
|
268
|
-
attachTemplatePortal<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
|
|
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
|
|
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
|
|
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 | "
|
|
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
|
|
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
|
|
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<"
|
|
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" | "
|
|
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<"
|
|
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
|
|
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 =
|
|
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<
|
|
36
|
-
readonly zTooltipPosition: _angular_core.InputSignal<
|
|
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
|
|
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
|
|
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
|
|
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;
|