@shival99/z-ui 1.0.32 → 1.1.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/fesm2022/shival99-z-ui-components-z-pagination.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-select.mjs +21 -9
- package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-table.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-toast.mjs +64 -3
- package/fesm2022/shival99-z-ui-components-z-toast.mjs.map +1 -1
- package/package.json +1 -1
- package/types/shival99-z-ui-components-z-input.d.ts +2 -2
- package/types/shival99-z-ui-components-z-select.d.ts +4 -2
- package/types/shival99-z-ui-components-z-toast.d.ts +9 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, input, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, makeEnvironmentProviders, Injector, PLATFORM_ID, Injectable } from '@angular/core';
|
|
2
|
+
import { InjectionToken, input, inject, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, makeEnvironmentProviders, Injector, PLATFORM_ID, NgZone, Injectable } from '@angular/core';
|
|
3
3
|
import { ZThemeService } from '@shival99/z-ui/services';
|
|
4
4
|
import { zMergeClasses } from '@shival99/z-ui/utils';
|
|
5
5
|
import { NgxSonnerToaster, toast } from 'ngx-sonner';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
|
|
8
8
|
import { ComponentPortal } from '@angular/cdk/portal';
|
|
9
|
-
import { isPlatformBrowser } from '@angular/common';
|
|
9
|
+
import { DOCUMENT, isPlatformBrowser } from '@angular/common';
|
|
10
10
|
|
|
11
11
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
12
|
const Z_TOAST_DATA = new InjectionToken('Z_TOAST_DATA');
|
|
@@ -109,9 +109,12 @@ class ZToastService {
|
|
|
109
109
|
_overlay = inject(Overlay);
|
|
110
110
|
_injector = inject(Injector);
|
|
111
111
|
_platformId = inject(PLATFORM_ID);
|
|
112
|
+
_document = inject(DOCUMENT);
|
|
113
|
+
_ngZone = inject(NgZone);
|
|
112
114
|
_providedConfig = inject(Z_TOASTER_CONFIG, { optional: true });
|
|
113
115
|
_overlayRef = null;
|
|
114
116
|
_toasterAttached = false;
|
|
117
|
+
_mutationObserver = null;
|
|
115
118
|
create(config) {
|
|
116
119
|
if (this._toasterAttached) {
|
|
117
120
|
return;
|
|
@@ -120,30 +123,37 @@ class ZToastService {
|
|
|
120
123
|
}
|
|
121
124
|
show(message, options) {
|
|
122
125
|
this._ensureToasterAttached();
|
|
126
|
+
this._moveToTop();
|
|
123
127
|
return toast(message, options);
|
|
124
128
|
}
|
|
125
129
|
success(message, options) {
|
|
126
130
|
this._ensureToasterAttached();
|
|
131
|
+
this._moveToTop();
|
|
127
132
|
return toast.success(message, options);
|
|
128
133
|
}
|
|
129
134
|
error(message, options) {
|
|
130
135
|
this._ensureToasterAttached();
|
|
136
|
+
this._moveToTop();
|
|
131
137
|
return toast.error(message, options);
|
|
132
138
|
}
|
|
133
139
|
warning(message, options) {
|
|
134
140
|
this._ensureToasterAttached();
|
|
141
|
+
this._moveToTop();
|
|
135
142
|
return toast.warning(message, options);
|
|
136
143
|
}
|
|
137
144
|
info(message, options) {
|
|
138
145
|
this._ensureToasterAttached();
|
|
146
|
+
this._moveToTop();
|
|
139
147
|
return toast.info(message, options);
|
|
140
148
|
}
|
|
141
149
|
loading(message, options) {
|
|
142
150
|
this._ensureToasterAttached();
|
|
151
|
+
this._moveToTop();
|
|
143
152
|
return toast.loading(message, options);
|
|
144
153
|
}
|
|
145
154
|
promise(promise, messages) {
|
|
146
155
|
this._ensureToasterAttached();
|
|
156
|
+
this._moveToTop();
|
|
147
157
|
return toast.promise(promise, messages);
|
|
148
158
|
}
|
|
149
159
|
dismiss(toastId) {
|
|
@@ -153,17 +163,65 @@ class ZToastService {
|
|
|
153
163
|
toast.dismiss();
|
|
154
164
|
}
|
|
155
165
|
destroy() {
|
|
166
|
+
this._disconnectObserver();
|
|
156
167
|
if (this._overlayRef) {
|
|
157
168
|
this._overlayRef.dispose();
|
|
158
169
|
this._overlayRef = null;
|
|
159
170
|
this._toasterAttached = false;
|
|
160
171
|
}
|
|
161
172
|
}
|
|
173
|
+
ngOnDestroy() {
|
|
174
|
+
this.destroy();
|
|
175
|
+
}
|
|
162
176
|
_ensureToasterAttached() {
|
|
163
177
|
if (!this._toasterAttached) {
|
|
164
178
|
this._attachToaster();
|
|
165
179
|
}
|
|
166
180
|
}
|
|
181
|
+
_moveToTop() {
|
|
182
|
+
const wrapperElement = this._overlayRef?.overlayElement?.parentElement;
|
|
183
|
+
if (!wrapperElement?.hasAttribute('popover')) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
wrapperElement.hidePopover();
|
|
188
|
+
wrapperElement.showPopover();
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
console.warn('Popover API not supported on this browser.');
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
_setupOverlayObserver() {
|
|
195
|
+
if (!isPlatformBrowser(this._platformId)) {
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
if (this._mutationObserver) {
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
const overlayContainer = this._document.querySelector('.cdk-overlay-container');
|
|
202
|
+
if (!overlayContainer) {
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
this._ngZone.runOutsideAngular(() => {
|
|
206
|
+
this._mutationObserver = new MutationObserver(mutations => {
|
|
207
|
+
const hasNewPopover = mutations.some(mutation => mutation.type === 'childList' &&
|
|
208
|
+
Array.from(mutation.addedNodes).some(node => node instanceof HTMLElement && node.classList.contains('cdk-overlay-popover')));
|
|
209
|
+
if (hasNewPopover) {
|
|
210
|
+
this._moveToTop();
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
this._mutationObserver.observe(overlayContainer, {
|
|
214
|
+
childList: true,
|
|
215
|
+
subtree: false,
|
|
216
|
+
});
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
_disconnectObserver() {
|
|
220
|
+
if (this._mutationObserver) {
|
|
221
|
+
this._mutationObserver.disconnect();
|
|
222
|
+
this._mutationObserver = null;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
167
225
|
_attachToaster(config) {
|
|
168
226
|
if (!isPlatformBrowser(this._platformId)) {
|
|
169
227
|
return;
|
|
@@ -187,6 +245,7 @@ class ZToastService {
|
|
|
187
245
|
const portal = new ComponentPortal(ZToastComponent, null, injector);
|
|
188
246
|
this._overlayRef.attach(portal);
|
|
189
247
|
this._toasterAttached = true;
|
|
248
|
+
this._setupOverlayObserver();
|
|
190
249
|
}
|
|
191
250
|
_createOverlay() {
|
|
192
251
|
if (!isPlatformBrowser(this._platformId)) {
|
|
@@ -197,7 +256,9 @@ class ZToastService {
|
|
|
197
256
|
positionStrategy: this._overlay.position().global(),
|
|
198
257
|
scrollStrategy: this._overlay.scrollStrategies.noop(),
|
|
199
258
|
});
|
|
200
|
-
|
|
259
|
+
const overlayRef = this._overlay.create(overlayConfig);
|
|
260
|
+
overlayRef.overlayElement.style.zIndex = '99999';
|
|
261
|
+
return overlayRef;
|
|
201
262
|
}
|
|
202
263
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
203
264
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ZToastService, providedIn: 'root' });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shival99-z-ui-components-z-toast.mjs","sources":["../../../../libs/core-ui/components/z-toast/z-toast.types.ts","../../../../libs/core-ui/components/z-toast/z-toast.variants.ts","../../../../libs/core-ui/components/z-toast/z-toast.component.ts","../../../../libs/core-ui/components/z-toast/z-toast.component.html","../../../../libs/core-ui/components/z-toast/z-toast.provider.ts","../../../../libs/core-ui/components/z-toast/z-toast.service.ts","../../../../libs/core-ui/components/z-toast/shival99-z-ui-components-z-toast.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core';\nimport type { ExternalToast } from 'ngx-sonner';\n\nexport type ZToastTheme = 'light' | 'dark' | 'system';\nexport type ZToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\nexport type ZToastDir = 'ltr' | 'rtl' | 'auto';\nexport type ZToastType = 'default' | 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport const Z_TOAST_DATA = new InjectionToken<any>('Z_TOAST_DATA');\nexport const Z_TOAST_ANIMATION_DURATION = 200;\nexport const Z_TOASTER_CONFIG = new InjectionToken<ZToasterConfig>('Z_TOASTER_CONFIG');\n\nexport interface ZToastOptions extends ExternalToast {\n description?: string;\n duration?: number;\n id?: string | number;\n}\n\nexport interface ZToastPromiseMessages<T> {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n}\n\nexport interface ZToasterConfig {\n zTheme?: ZToastTheme;\n zPosition?: ZToastPosition;\n zRichColors?: boolean;\n zExpand?: boolean;\n zDuration?: number;\n zVisibleToasts?: number;\n zCloseButton?: boolean;\n zDir?: ZToastDir;\n}\n\nexport const Z_TOASTER_DEFAULT_CONFIG: ZToasterConfig = {\n zTheme: 'system',\n zPosition: 'top-right',\n zRichColors: true,\n zExpand: true,\n zDuration: 2500,\n zVisibleToasts: 3,\n zCloseButton: true,\n zDir: 'auto',\n};\n","import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zToastVariants = cva(\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n {\n variants: {\n zVariant: {\n default: 'group-[.toaster]:bg-background group-[.toaster]:text-foreground',\n success:\n 'group-[.toaster]:bg-green-50 group-[.toaster]:text-green-800 group-[.toaster]:border-green-200 dark:group-[.toaster]:bg-green-950 dark:group-[.toaster]:text-green-200 dark:group-[.toaster]:border-green-800',\n error:\n 'group-[.toaster]:bg-red-50 group-[.toaster]:text-red-800 group-[.toaster]:border-red-200 dark:group-[.toaster]:bg-red-950 dark:group-[.toaster]:text-red-200 dark:group-[.toaster]:border-red-800',\n warning:\n 'group-[.toaster]:bg-amber-50 group-[.toaster]:text-amber-800 group-[.toaster]:border-amber-200 dark:group-[.toaster]:bg-amber-950 dark:group-[.toaster]:text-amber-200 dark:group-[.toaster]:border-amber-800',\n info: 'group-[.toaster]:bg-blue-50 group-[.toaster]:text-blue-800 group-[.toaster]:border-blue-200 dark:group-[.toaster]:bg-blue-950 dark:group-[.toaster]:text-blue-200 dark:group-[.toaster]:border-blue-800',\n },\n },\n defaultVariants: {\n zVariant: 'default',\n },\n }\n);\n\nexport type ZToastVariants = VariantProps<typeof zToastVariants>;\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ZThemeService } from '@shival99/z-ui/services';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport { NgxSonnerToaster } from 'ngx-sonner';\nimport {\n Z_TOASTER_CONFIG,\n Z_TOASTER_DEFAULT_CONFIG,\n type ZToasterConfig,\n type ZToastDir,\n type ZToastOptions,\n type ZToastPosition,\n type ZToastTheme,\n} from './z-toast.types';\nimport { zToastVariants, type ZToastVariants } from './z-toast.variants';\n\n@Component({\n selector: 'z-toast, z-toaster',\n imports: [NgxSonnerToaster],\n standalone: true,\n templateUrl: './z-toast.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'zToast',\n})\nexport class ZToastComponent {\n public readonly class = input<ClassValue>('');\n public readonly zVariant = input<ZToastVariants['zVariant']>('default');\n public readonly zTheme = input<ZToastTheme>();\n public readonly zPosition = input<ZToastPosition>();\n public readonly zRichColors = input<boolean>();\n public readonly zExpand = input<boolean>();\n public readonly zDuration = input<number>();\n public readonly zVisibleToasts = input<number>();\n public readonly zCloseButton = input<boolean>();\n public readonly zToastOptions = input<ZToastOptions>({});\n public readonly zDir = input<ZToastDir>();\n\n private readonly _themeService = inject(ZThemeService);\n private readonly _config: ZToasterConfig = inject(Z_TOASTER_CONFIG, { optional: true }) ?? Z_TOASTER_DEFAULT_CONFIG;\n\n protected readonly effectiveTheme = computed(() => this.zTheme() ?? this._config.zTheme ?? 'system');\n protected readonly effectivePosition = computed(() => this.zPosition() ?? this._config.zPosition ?? 'bottom-right');\n protected readonly effectiveRichColors = computed(() => this.zRichColors() ?? this._config.zRichColors ?? true);\n protected readonly effectiveExpand = computed(() => this.zExpand() ?? this._config.zExpand ?? false);\n protected readonly effectiveDuration = computed(() => this.zDuration() ?? this._config.zDuration ?? 4000);\n protected readonly effectiveVisibleToasts = computed(() => this.zVisibleToasts() ?? this._config.zVisibleToasts ?? 3);\n\n protected readonly effectiveCloseButton = computed(() => this.zCloseButton() ?? this._config.zCloseButton ?? false);\n protected readonly effectiveDir = computed(() => this.zDir() ?? this._config.zDir ?? 'auto');\n\n protected readonly zClasses = computed(() =>\n zMergeClasses('toaster group', zToastVariants({ zVariant: this.zVariant() }), this.class())\n );\n\n protected readonly detectTheme = computed(() => {\n const theme = this.effectiveTheme();\n if (theme !== 'system') {\n return theme;\n }\n\n return this._themeService.isDark() ? 'dark' : 'light';\n });\n}\n","<ngx-sonner-toaster\n [theme]=\"detectTheme()\"\n [class]=\"zClasses()\"\n [position]=\"effectivePosition()\"\n [richColors]=\"effectiveRichColors()\"\n [expand]=\"effectiveExpand()\"\n [duration]=\"effectiveDuration()\"\n [visibleToasts]=\"effectiveVisibleToasts()\"\n [closeButton]=\"effectiveCloseButton()\"\n [toastOptions]=\"zToastOptions()\"\n [dir]=\"effectiveDir()\" />\n","import { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { Z_TOASTER_CONFIG, Z_TOASTER_DEFAULT_CONFIG, type ZToasterConfig } from './z-toast.types';\n\n/**\n * Provides global toast configuration options\n * Use this in app.config.ts: providers: [provideZToast({ zPosition: 'top-right' })]\n *\n * @param config - Partial configuration to override default options\n * @returns EnvironmentProviders for the toast service\n *\n * @example\n * ```typescript\n * // In app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideZToast({\n * zPosition: 'top-right',\n * zDuration: 5000,\n * zCloseButton: true,\n * }),\n * ],\n * };\n * ```\n */\nexport function provideZToast(config?: Partial<ZToasterConfig>): EnvironmentProviders {\n const mergedConfig: ZToasterConfig = {\n ...Z_TOASTER_DEFAULT_CONFIG,\n ...config,\n };\n\n return makeEnvironmentProviders([{ provide: Z_TOASTER_CONFIG, useValue: mergedConfig }]);\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, Injector, PLATFORM_ID } from '@angular/core';\nimport { toast } from 'ngx-sonner';\nimport { ZToastComponent } from './z-toast.component';\nimport {\n Z_TOASTER_CONFIG,\n Z_TOASTER_DEFAULT_CONFIG,\n type ZToasterConfig,\n type ZToastOptions,\n type ZToastPromiseMessages,\n} from './z-toast.types';\n\n@Injectable({ providedIn: 'root' })\nexport class ZToastService {\n private readonly _overlay = inject(Overlay);\n private readonly _injector = inject(Injector);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _providedConfig = inject(Z_TOASTER_CONFIG, { optional: true });\n\n private _overlayRef: OverlayRef | null = null;\n private _toasterAttached = false;\n\n public create(config?: ZToasterConfig): void {\n if (this._toasterAttached) {\n return;\n }\n\n this._attachToaster(config);\n }\n\n public show(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast(message, options);\n }\n\n public success(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast.success(message, options);\n }\n\n public error(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast.error(message, options);\n }\n\n public warning(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast.warning(message, options);\n }\n\n public info(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast.info(message, options);\n }\n\n public loading(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n return toast.loading(message, options);\n }\n\n public promise<T>(promise: Promise<T>, messages: ZToastPromiseMessages<T>): string | number | undefined {\n this._ensureToasterAttached();\n return toast.promise(promise, messages);\n }\n\n public dismiss(toastId?: string | number): void {\n toast.dismiss(toastId);\n }\n\n public dismissAll(): void {\n toast.dismiss();\n }\n\n public destroy(): void {\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n this._toasterAttached = false;\n }\n }\n\n private _ensureToasterAttached(): void {\n if (!this._toasterAttached) {\n this._attachToaster();\n }\n }\n\n private _attachToaster(config?: ZToasterConfig): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n if (this._toasterAttached) {\n return;\n }\n\n this._overlayRef = this._createOverlay();\n if (!this._overlayRef) {\n return;\n }\n\n const effectiveConfig: ZToasterConfig = {\n ...Z_TOASTER_DEFAULT_CONFIG,\n ...this._providedConfig,\n ...config,\n };\n\n const injector = Injector.create({\n parent: this._injector,\n providers: [{ provide: Z_TOASTER_CONFIG, useValue: effectiveConfig }],\n });\n\n const portal = new ComponentPortal(ZToastComponent, null, injector);\n this._overlayRef.attach(portal);\n this._toasterAttached = true;\n }\n\n private _createOverlay(): OverlayRef | null {\n if (!isPlatformBrowser(this._platformId)) {\n return null;\n }\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n });\n\n return this._overlay.create(overlayConfig);\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-toast.mjs","sources":["../../../../libs/core-ui/components/z-toast/z-toast.types.ts","../../../../libs/core-ui/components/z-toast/z-toast.variants.ts","../../../../libs/core-ui/components/z-toast/z-toast.component.ts","../../../../libs/core-ui/components/z-toast/z-toast.component.html","../../../../libs/core-ui/components/z-toast/z-toast.provider.ts","../../../../libs/core-ui/components/z-toast/z-toast.service.ts","../../../../libs/core-ui/components/z-toast/shival99-z-ui-components-z-toast.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { InjectionToken } from '@angular/core';\nimport type { ExternalToast } from 'ngx-sonner';\n\nexport type ZToastTheme = 'light' | 'dark' | 'system';\nexport type ZToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';\nexport type ZToastDir = 'ltr' | 'rtl' | 'auto';\nexport type ZToastType = 'default' | 'success' | 'error' | 'warning' | 'info' | 'loading';\n\nexport const Z_TOAST_DATA = new InjectionToken<any>('Z_TOAST_DATA');\nexport const Z_TOAST_ANIMATION_DURATION = 200;\nexport const Z_TOASTER_CONFIG = new InjectionToken<ZToasterConfig>('Z_TOASTER_CONFIG');\n\nexport interface ZToastOptions extends ExternalToast {\n description?: string;\n duration?: number;\n id?: string | number;\n}\n\nexport interface ZToastPromiseMessages<T> {\n loading: string;\n success: string | ((data: T) => string);\n error: string | ((error: unknown) => string);\n}\n\nexport interface ZToasterConfig {\n zTheme?: ZToastTheme;\n zPosition?: ZToastPosition;\n zRichColors?: boolean;\n zExpand?: boolean;\n zDuration?: number;\n zVisibleToasts?: number;\n zCloseButton?: boolean;\n zDir?: ZToastDir;\n}\n\nexport const Z_TOASTER_DEFAULT_CONFIG: ZToasterConfig = {\n zTheme: 'system',\n zPosition: 'top-right',\n zRichColors: true,\n zExpand: true,\n zDuration: 2500,\n zVisibleToasts: 3,\n zCloseButton: true,\n zDir: 'auto',\n};\n","import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zToastVariants = cva(\n 'group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg',\n {\n variants: {\n zVariant: {\n default: 'group-[.toaster]:bg-background group-[.toaster]:text-foreground',\n success:\n 'group-[.toaster]:bg-green-50 group-[.toaster]:text-green-800 group-[.toaster]:border-green-200 dark:group-[.toaster]:bg-green-950 dark:group-[.toaster]:text-green-200 dark:group-[.toaster]:border-green-800',\n error:\n 'group-[.toaster]:bg-red-50 group-[.toaster]:text-red-800 group-[.toaster]:border-red-200 dark:group-[.toaster]:bg-red-950 dark:group-[.toaster]:text-red-200 dark:group-[.toaster]:border-red-800',\n warning:\n 'group-[.toaster]:bg-amber-50 group-[.toaster]:text-amber-800 group-[.toaster]:border-amber-200 dark:group-[.toaster]:bg-amber-950 dark:group-[.toaster]:text-amber-200 dark:group-[.toaster]:border-amber-800',\n info: 'group-[.toaster]:bg-blue-50 group-[.toaster]:text-blue-800 group-[.toaster]:border-blue-200 dark:group-[.toaster]:bg-blue-950 dark:group-[.toaster]:text-blue-200 dark:group-[.toaster]:border-blue-800',\n },\n },\n defaultVariants: {\n zVariant: 'default',\n },\n }\n);\n\nexport type ZToastVariants = VariantProps<typeof zToastVariants>;\n","import { ChangeDetectionStrategy, Component, computed, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ZThemeService } from '@shival99/z-ui/services';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport { NgxSonnerToaster } from 'ngx-sonner';\nimport {\n Z_TOASTER_CONFIG,\n Z_TOASTER_DEFAULT_CONFIG,\n type ZToasterConfig,\n type ZToastDir,\n type ZToastOptions,\n type ZToastPosition,\n type ZToastTheme,\n} from './z-toast.types';\nimport { zToastVariants, type ZToastVariants } from './z-toast.variants';\n\n@Component({\n selector: 'z-toast, z-toaster',\n imports: [NgxSonnerToaster],\n standalone: true,\n templateUrl: './z-toast.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'zToast',\n})\nexport class ZToastComponent {\n public readonly class = input<ClassValue>('');\n public readonly zVariant = input<ZToastVariants['zVariant']>('default');\n public readonly zTheme = input<ZToastTheme>();\n public readonly zPosition = input<ZToastPosition>();\n public readonly zRichColors = input<boolean>();\n public readonly zExpand = input<boolean>();\n public readonly zDuration = input<number>();\n public readonly zVisibleToasts = input<number>();\n public readonly zCloseButton = input<boolean>();\n public readonly zToastOptions = input<ZToastOptions>({});\n public readonly zDir = input<ZToastDir>();\n\n private readonly _themeService = inject(ZThemeService);\n private readonly _config: ZToasterConfig = inject(Z_TOASTER_CONFIG, { optional: true }) ?? Z_TOASTER_DEFAULT_CONFIG;\n\n protected readonly effectiveTheme = computed(() => this.zTheme() ?? this._config.zTheme ?? 'system');\n protected readonly effectivePosition = computed(() => this.zPosition() ?? this._config.zPosition ?? 'bottom-right');\n protected readonly effectiveRichColors = computed(() => this.zRichColors() ?? this._config.zRichColors ?? true);\n protected readonly effectiveExpand = computed(() => this.zExpand() ?? this._config.zExpand ?? false);\n protected readonly effectiveDuration = computed(() => this.zDuration() ?? this._config.zDuration ?? 4000);\n protected readonly effectiveVisibleToasts = computed(() => this.zVisibleToasts() ?? this._config.zVisibleToasts ?? 3);\n\n protected readonly effectiveCloseButton = computed(() => this.zCloseButton() ?? this._config.zCloseButton ?? false);\n protected readonly effectiveDir = computed(() => this.zDir() ?? this._config.zDir ?? 'auto');\n\n protected readonly zClasses = computed(() =>\n zMergeClasses('toaster group', zToastVariants({ zVariant: this.zVariant() }), this.class())\n );\n\n protected readonly detectTheme = computed(() => {\n const theme = this.effectiveTheme();\n if (theme !== 'system') {\n return theme;\n }\n\n return this._themeService.isDark() ? 'dark' : 'light';\n });\n}\n","<ngx-sonner-toaster\n [theme]=\"detectTheme()\"\n [class]=\"zClasses()\"\n [position]=\"effectivePosition()\"\n [richColors]=\"effectiveRichColors()\"\n [expand]=\"effectiveExpand()\"\n [duration]=\"effectiveDuration()\"\n [visibleToasts]=\"effectiveVisibleToasts()\"\n [closeButton]=\"effectiveCloseButton()\"\n [toastOptions]=\"zToastOptions()\"\n [dir]=\"effectiveDir()\" />\n","import { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { Z_TOASTER_CONFIG, Z_TOASTER_DEFAULT_CONFIG, type ZToasterConfig } from './z-toast.types';\n\n/**\n * Provides global toast configuration options\n * Use this in app.config.ts: providers: [provideZToast({ zPosition: 'top-right' })]\n *\n * @param config - Partial configuration to override default options\n * @returns EnvironmentProviders for the toast service\n *\n * @example\n * ```typescript\n * // In app.config.ts\n * export const appConfig: ApplicationConfig = {\n * providers: [\n * provideZToast({\n * zPosition: 'top-right',\n * zDuration: 5000,\n * zCloseButton: true,\n * }),\n * ],\n * };\n * ```\n */\nexport function provideZToast(config?: Partial<ZToasterConfig>): EnvironmentProviders {\n const mergedConfig: ZToasterConfig = {\n ...Z_TOASTER_DEFAULT_CONFIG,\n ...config,\n };\n\n return makeEnvironmentProviders([{ provide: Z_TOASTER_CONFIG, useValue: mergedConfig }]);\n}\n","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { DOCUMENT, isPlatformBrowser } from '@angular/common';\nimport { inject, Injectable, Injector, NgZone, OnDestroy, PLATFORM_ID } from '@angular/core';\nimport { toast } from 'ngx-sonner';\nimport { ZToastComponent } from './z-toast.component';\nimport {\n Z_TOASTER_CONFIG,\n Z_TOASTER_DEFAULT_CONFIG,\n type ZToasterConfig,\n type ZToastOptions,\n type ZToastPromiseMessages,\n} from './z-toast.types';\n\n@Injectable({ providedIn: 'root' })\nexport class ZToastService implements OnDestroy {\n private readonly _overlay = inject(Overlay);\n private readonly _injector = inject(Injector);\n private readonly _platformId = inject(PLATFORM_ID);\n private readonly _document = inject(DOCUMENT);\n private readonly _ngZone = inject(NgZone);\n private readonly _providedConfig = inject(Z_TOASTER_CONFIG, { optional: true });\n\n private _overlayRef: OverlayRef | null = null;\n private _toasterAttached = false;\n private _mutationObserver: MutationObserver | null = null;\n\n public create(config?: ZToasterConfig): void {\n if (this._toasterAttached) {\n return;\n }\n\n this._attachToaster(config);\n }\n\n public show(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast(message, options);\n }\n\n public success(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.success(message, options);\n }\n\n public error(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.error(message, options);\n }\n\n public warning(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.warning(message, options);\n }\n\n public info(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.info(message, options);\n }\n\n public loading(message: string, options?: ZToastOptions): string | number {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.loading(message, options);\n }\n\n public promise<T>(promise: Promise<T>, messages: ZToastPromiseMessages<T>): string | number | undefined {\n this._ensureToasterAttached();\n this._moveToTop();\n return toast.promise(promise, messages);\n }\n\n public dismiss(toastId?: string | number): void {\n toast.dismiss(toastId);\n }\n\n public dismissAll(): void {\n toast.dismiss();\n }\n\n public destroy(): void {\n this._disconnectObserver();\n\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n this._toasterAttached = false;\n }\n }\n\n public ngOnDestroy(): void {\n this.destroy();\n }\n\n private _ensureToasterAttached(): void {\n if (!this._toasterAttached) {\n this._attachToaster();\n }\n }\n\n private _moveToTop(): void {\n const wrapperElement = this._overlayRef?.overlayElement?.parentElement as HTMLElement | null;\n if (!wrapperElement?.hasAttribute('popover')) {\n return;\n }\n\n try {\n wrapperElement.hidePopover();\n wrapperElement.showPopover();\n } catch {\n console.warn('Popover API not supported on this browser.');\n }\n }\n\n private _setupOverlayObserver(): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n if (this._mutationObserver) {\n return;\n }\n\n const overlayContainer = this._document.querySelector('.cdk-overlay-container');\n if (!overlayContainer) {\n return;\n }\n\n this._ngZone.runOutsideAngular(() => {\n this._mutationObserver = new MutationObserver(mutations => {\n const hasNewPopover = mutations.some(\n mutation =>\n mutation.type === 'childList' &&\n Array.from(mutation.addedNodes).some(\n node => node instanceof HTMLElement && node.classList.contains('cdk-overlay-popover')\n )\n );\n\n if (hasNewPopover) {\n this._moveToTop();\n }\n });\n\n this._mutationObserver.observe(overlayContainer, {\n childList: true,\n subtree: false,\n });\n });\n }\n\n private _disconnectObserver(): void {\n if (this._mutationObserver) {\n this._mutationObserver.disconnect();\n this._mutationObserver = null;\n }\n }\n\n private _attachToaster(config?: ZToasterConfig): void {\n if (!isPlatformBrowser(this._platformId)) {\n return;\n }\n\n if (this._toasterAttached) {\n return;\n }\n\n this._overlayRef = this._createOverlay();\n if (!this._overlayRef) {\n return;\n }\n\n const effectiveConfig: ZToasterConfig = {\n ...Z_TOASTER_DEFAULT_CONFIG,\n ...this._providedConfig,\n ...config,\n };\n\n const injector = Injector.create({\n parent: this._injector,\n providers: [{ provide: Z_TOASTER_CONFIG, useValue: effectiveConfig }],\n });\n\n const portal = new ComponentPortal(ZToastComponent, null, injector);\n this._overlayRef.attach(portal);\n this._toasterAttached = true;\n\n this._setupOverlayObserver();\n }\n\n private _createOverlay(): OverlayRef | null {\n if (!isPlatformBrowser(this._platformId)) {\n return null;\n }\n\n const overlayConfig = new OverlayConfig({\n hasBackdrop: false,\n positionStrategy: this._overlay.position().global(),\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n });\n\n const overlayRef = this._overlay.create(overlayConfig);\n overlayRef.overlayElement.style.zIndex = '99999';\n\n return overlayRef;\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": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 20+, featuring 40+ customizable components with dark mode, accessibility, and enterprise-ready features.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -178,11 +178,11 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
|
|
|
178
178
|
|
|
179
179
|
declare const zInputVariants: (props?: ({
|
|
180
180
|
zSize?: "sm" | "default" | "lg" | null | undefined;
|
|
181
|
-
zStatus?: "default" | "
|
|
181
|
+
zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
|
|
182
182
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
183
183
|
type ZInputVariants = VariantProps<typeof zInputVariants>;
|
|
184
184
|
declare const zTextareaVariants: (props?: ({
|
|
185
|
-
zStatus?: "default" | "
|
|
185
|
+
zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
|
|
186
186
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
187
187
|
type ZTextareaVariants = VariantProps<typeof zTextareaVariants>;
|
|
188
188
|
|
|
@@ -104,6 +104,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
104
104
|
readonly zVirtualScroll: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
105
105
|
readonly zShowAction: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
106
106
|
readonly zOptions: _angular_core.InputSignal<ZSelectOption<T>[]>;
|
|
107
|
+
readonly zTranslateLabels: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
107
108
|
readonly zKey: _angular_core.InputSignal<string>;
|
|
108
109
|
readonly zSearchServer: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
109
110
|
readonly zLoadingMore: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
@@ -168,6 +169,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
168
169
|
protected readonly effectiveSelectAllText: _angular_core.Signal<string>;
|
|
169
170
|
protected readonly effectiveClearAllText: _angular_core.Signal<string>;
|
|
170
171
|
protected readonly effectiveRequiredErrorText: _angular_core.Signal<string>;
|
|
172
|
+
protected readonly translatedOptions: _angular_core.Signal<ZSelectOption<T>[]>;
|
|
171
173
|
protected readonly isMultipleMode: _angular_core.Signal<boolean>;
|
|
172
174
|
protected readonly isTagsMode: _angular_core.Signal<boolean>;
|
|
173
175
|
protected readonly effectiveSelectedTemplate: _angular_core.Signal<TemplateRef<any> | null>;
|
|
@@ -231,7 +233,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
231
233
|
private _cancelAsyncValidation;
|
|
232
234
|
private _triggerAsyncValidation;
|
|
233
235
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZSelectComponent<any>, never>;
|
|
234
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSelectComponent<any>, "z-select", ["zSelect"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zMode": { "alias": "zMode"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zPlaceholder": { "alias": "zPlaceholder"; "required": false; "isSignal": true; }; "zRequired": { "alias": "zRequired"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zReadonly": { "alias": "zReadonly"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zWrap": { "alias": "zWrap"; "required": false; "isSignal": true; }; "zShowSearch": { "alias": "zShowSearch"; "required": false; "isSignal": true; }; "zPlaceholderSearch": { "alias": "zPlaceholderSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zNotFoundText": { "alias": "zNotFoundText"; "required": false; "isSignal": true; }; "zEmptyText": { "alias": "zEmptyText"; "required": false; "isSignal": true; }; "zEmptyIcon": { "alias": "zEmptyIcon"; "required": false; "isSignal": true; }; "zMaxTagCount": { "alias": "zMaxTagCount"; "required": false; "isSignal": true; }; "zDropdownMaxHeight": { "alias": "zDropdownMaxHeight"; "required": false; "isSignal": true; }; "zOptionHeight": { "alias": "zOptionHeight"; "required": false; "isSignal": true; }; "zVirtualScroll": { "alias": "zVirtualScroll"; "required": false; "isSignal": true; }; "zShowAction": { "alias": "zShowAction"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; "zSearchServer": { "alias": "zSearchServer"; "required": false; "isSignal": true; }; "zLoadingMore": { "alias": "zLoadingMore"; "required": false; "isSignal": true; }; "zEnableLoadMore": { "alias": "zEnableLoadMore"; "required": false; "isSignal": true; }; "zScrollDistance": { "alias": "zScrollDistance"; "required": false; "isSignal": true; }; "zSelectedTemplate": { "alias": "zSelectedTemplate"; "required": false; "isSignal": true; }; "zOptionTemplate": { "alias": "zOptionTemplate"; "required": false; "isSignal": true; }; "zActionTemplate": { "alias": "zActionTemplate"; "required": false; "isSignal": true; }; "zAsyncValidators": { "alias": "zAsyncValidators"; "required": false; "isSignal": true; }; "zAsyncDebounce": { "alias": "zAsyncDebounce"; "required": false; "isSignal": true; }; "zAsyncValidateOn": { "alias": "zAsyncValidateOn"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "required": false; "isSignal": true; }; }, { "zOnSearch": "zOnSearch"; "zOnLoadMore": "zOnLoadMore"; "zControl": "zControl"; }, ["customSelectedDirective", "customOptionDirective"], never, true, never>;
|
|
236
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSelectComponent<any>, "z-select", ["zSelect"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zMode": { "alias": "zMode"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zPlaceholder": { "alias": "zPlaceholder"; "required": false; "isSignal": true; }; "zRequired": { "alias": "zRequired"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zReadonly": { "alias": "zReadonly"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zWrap": { "alias": "zWrap"; "required": false; "isSignal": true; }; "zShowSearch": { "alias": "zShowSearch"; "required": false; "isSignal": true; }; "zPlaceholderSearch": { "alias": "zPlaceholderSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zNotFoundText": { "alias": "zNotFoundText"; "required": false; "isSignal": true; }; "zEmptyText": { "alias": "zEmptyText"; "required": false; "isSignal": true; }; "zEmptyIcon": { "alias": "zEmptyIcon"; "required": false; "isSignal": true; }; "zMaxTagCount": { "alias": "zMaxTagCount"; "required": false; "isSignal": true; }; "zDropdownMaxHeight": { "alias": "zDropdownMaxHeight"; "required": false; "isSignal": true; }; "zOptionHeight": { "alias": "zOptionHeight"; "required": false; "isSignal": true; }; "zVirtualScroll": { "alias": "zVirtualScroll"; "required": false; "isSignal": true; }; "zShowAction": { "alias": "zShowAction"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "zTranslateLabels": { "alias": "zTranslateLabels"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; "zSearchServer": { "alias": "zSearchServer"; "required": false; "isSignal": true; }; "zLoadingMore": { "alias": "zLoadingMore"; "required": false; "isSignal": true; }; "zEnableLoadMore": { "alias": "zEnableLoadMore"; "required": false; "isSignal": true; }; "zScrollDistance": { "alias": "zScrollDistance"; "required": false; "isSignal": true; }; "zSelectedTemplate": { "alias": "zSelectedTemplate"; "required": false; "isSignal": true; }; "zOptionTemplate": { "alias": "zOptionTemplate"; "required": false; "isSignal": true; }; "zActionTemplate": { "alias": "zActionTemplate"; "required": false; "isSignal": true; }; "zAsyncValidators": { "alias": "zAsyncValidators"; "required": false; "isSignal": true; }; "zAsyncDebounce": { "alias": "zAsyncDebounce"; "required": false; "isSignal": true; }; "zAsyncValidateOn": { "alias": "zAsyncValidateOn"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "required": false; "isSignal": true; }; }, { "zOnSearch": "zOnSearch"; "zOnLoadMore": "zOnLoadMore"; "zControl": "zControl"; }, ["customSelectedDirective", "customOptionDirective"], never, true, never>;
|
|
235
237
|
}
|
|
236
238
|
|
|
237
239
|
declare class ZIsSelectedPipe implements PipeTransform {
|
|
@@ -254,7 +256,7 @@ declare class ZTagClassesPipe implements PipeTransform {
|
|
|
254
256
|
|
|
255
257
|
declare const zSelectVariants: (props?: ({
|
|
256
258
|
zSize?: "sm" | "default" | "lg" | null | undefined;
|
|
257
|
-
zStatus?: "default" | "
|
|
259
|
+
zStatus?: "default" | "open" | "error" | "disabled" | "readonly" | null | undefined;
|
|
258
260
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
259
261
|
declare const zSelectTagVariants: (props?: ({
|
|
260
262
|
zSize?: "sm" | "default" | "lg" | null | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { InjectionToken, EnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { InjectionToken, EnvironmentProviders, OnDestroy } from '@angular/core';
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
import { ExternalToast } from 'ngx-sonner';
|
|
5
5
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -84,13 +84,16 @@ declare class ZToastComponent {
|
|
|
84
84
|
*/
|
|
85
85
|
declare function provideZToast(config?: Partial<ZToasterConfig>): EnvironmentProviders;
|
|
86
86
|
|
|
87
|
-
declare class ZToastService {
|
|
87
|
+
declare class ZToastService implements OnDestroy {
|
|
88
88
|
private readonly _overlay;
|
|
89
89
|
private readonly _injector;
|
|
90
90
|
private readonly _platformId;
|
|
91
|
+
private readonly _document;
|
|
92
|
+
private readonly _ngZone;
|
|
91
93
|
private readonly _providedConfig;
|
|
92
94
|
private _overlayRef;
|
|
93
95
|
private _toasterAttached;
|
|
96
|
+
private _mutationObserver;
|
|
94
97
|
create(config?: ZToasterConfig): void;
|
|
95
98
|
show(message: string, options?: ZToastOptions): string | number;
|
|
96
99
|
success(message: string, options?: ZToastOptions): string | number;
|
|
@@ -102,7 +105,11 @@ declare class ZToastService {
|
|
|
102
105
|
dismiss(toastId?: string | number): void;
|
|
103
106
|
dismissAll(): void;
|
|
104
107
|
destroy(): void;
|
|
108
|
+
ngOnDestroy(): void;
|
|
105
109
|
private _ensureToasterAttached;
|
|
110
|
+
private _moveToTop;
|
|
111
|
+
private _setupOverlayObserver;
|
|
112
|
+
private _disconnectObserver;
|
|
106
113
|
private _attachToaster;
|
|
107
114
|
private _createOverlay;
|
|
108
115
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZToastService, never>;
|