primeng
Version:
PrimeNG is a premium UI library for Angular featuring a rich set of 90+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBlock,
268 lines (264 loc) • 10.2 kB
TypeScript
import { ToastPassThrough, ToastPositionType, ToastModeType, ToastBreakpoints, ToastCloseEvent, ToastMessageTemplateContext, ToastHeadlessTemplateContext, ToastItemCloseEvent } from 'primeng/types/toast';
export * from 'primeng/types/toast';
import * as _angular_core from '@angular/core';
import { TemplateRef } from '@angular/core';
import { MotionOptions } from '@primeuix/motion';
import * as i2 from 'primeng/api';
import { ToastMessageOptions, MessageService } from 'primeng/api';
import { BaseComponent } from 'primeng/basecomponent';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { Subscription } from 'rxjs';
import { BaseStyle } from 'primeng/base';
/**
*
* Toast is used to display messages in an overlay.
*
* [Live Demo](https://www.primeng.org/toast/)
*
* @module toaststyle
*
*/
declare enum ToastClasses {
/**
* Class name of the root element
*/
root = "p-toast",
/**
* Class name of the message element
*/
message = "p-toast-message",
/**
* Class name of the message content element
*/
messageContent = "p-toast-message-content",
/**
* Class name of the message icon element
*/
messageIcon = "p-toast-message-icon",
/**
* Class name of the message text element
*/
messageText = "p-toast-message-text",
/**
* Class name of the summary element
*/
summary = "p-toast-summary",
/**
* Class name of the detail element
*/
detail = "p-toast-detail",
/**
* Class name of the close button element
*/
closeButton = "p-toast-close-button",
/**
* Class name of the close icon element
*/
closeIcon = "p-toast-close-icon"
}
declare class ToastStyle extends BaseStyle {
name: string;
style: string;
classes: {
root: ({ instance }: {
instance: any;
}) => string[];
message: ({ instance }: {
instance: any;
}) => {
'p-toast-message': boolean;
'p-toast-message-normal': boolean;
'p-toast-message-info': boolean;
'p-toast-message-warn': boolean;
'p-toast-message-error': boolean;
'p-toast-message-success': boolean;
'p-toast-message-secondary': boolean;
'p-toast-message-contrast': boolean;
};
messageContent: string;
messageIcon: ({ instance }: {
instance: any;
}) => {
[x: string]: boolean;
'p-toast-message-icon': boolean;
};
messageText: string;
summary: string;
detail: string;
closeButton: string;
closeIcon: ({ instance }: {
instance: any;
}) => {
[x: string]: boolean;
'p-toast-close-icon': boolean;
};
};
inlineStyles: {
root: ({ instance }: {
instance: any;
}) => {
position: string;
top: string | null;
right: string | false;
bottom: string | false;
left: string | null;
};
};
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastStyle, never>;
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ToastStyle>;
}
interface ToastStyle extends BaseStyle {
}
/**
* Toast is used to display messages in an overlay.
* @group Components
*/
declare class Toast extends BaseComponent<ToastPassThrough> {
componentName: string;
$pcToast: Toast | undefined;
bindDirectiveInstance: Bind;
onAfterViewChecked(): void;
/**
* Key of the message in case message is targeted to a specific toast component.
* @group Props
*/
key: _angular_core.InputSignal<string | undefined>;
/**
* Whether to automatically manage layering.
* @group Props
*/
autoZIndex: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Base zIndex value to use in layering.
* @group Props
*/
baseZIndex: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* The default time to display messages for in milliseconds.
* @group Props
*/
life: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* Position of the toast in viewport.
* @group Props
*/
position: _angular_core.InputSignal<ToastPositionType>;
/**
* Layout mode of the toast. `stacked` collapses toasts into a stack that expands on hover/focus; `expanded` always renders every toast expanded.
* @defaultValue 'stacked'
* @group Props
*/
mode: _angular_core.InputSignal<ToastModeType>;
/**
* Gap between stacked toast items in pixels.
* @group Props
*/
stackGap: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* Maximum number of visible toasts in the stack.
* @group Props
*/
stackVisibleLimit: _angular_core.InputSignalWithTransform<number, unknown>;
/**
* It does not add the new message if there is already a toast displayed with the same content
* @group Props
*/
preventOpenDuplicates: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* Displays only once a message with the same content.
* @group Props
*/
preventDuplicates: _angular_core.InputSignalWithTransform<boolean, unknown>;
/**
* The motion options.
* @group Props
*/
motionOptions: _angular_core.InputSignal<MotionOptions | undefined>;
computedMotionOptions: _angular_core.Signal<MotionOptions>;
/**
* Object literal to define styles per screen size.
* @group Props
*/
breakpoints: _angular_core.InputSignal<ToastBreakpoints | undefined>;
/**
* Callback to invoke when a message is closed.
* @param {ToastCloseEvent} event - custom close event.
* @group Emits
*/
onClose: _angular_core.OutputEmitterRef<ToastCloseEvent>;
/**
* Custom message template.
* @param {ToastMessageTemplateContext} context - message context.
* @see {@link ToastMessageTemplateContext}
* @group Templates
*/
messageTemplate: _angular_core.Signal<TemplateRef<ToastMessageTemplateContext> | undefined>;
/**
* Custom headless template.
* @param {ToastHeadlessTemplateContext} context - headless context.
* @see {@link ToastHeadlessTemplateContext}
* @group Templates
*/
headlessTemplate: _angular_core.Signal<TemplateRef<ToastHeadlessTemplateContext> | undefined>;
messageSubscription: Subscription | undefined;
clearSubscription: Subscription | undefined;
messages: ToastMessageOptions[] | null | undefined;
messageArchive: ToastMessageOptions[] | undefined;
messageService: MessageService;
_componentStyle: ToastStyle;
styleElement: HTMLStyleElement | null;
id: string;
clearAllTrigger: _angular_core.WritableSignal<object | null>;
hovered: _angular_core.WritableSignal<boolean>;
isInteracting: _angular_core.WritableSignal<boolean>;
heights: _angular_core.WritableSignal<{
index: number;
height: number;
}[]>;
sortedHeights: _angular_core.Signal<{
index: number;
height: number;
}[]>;
frontToastHeight: _angular_core.Signal<number>;
stackOffsets: _angular_core.Signal<number[]>;
visualStackIndices: _angular_core.Signal<Map<number, number>>;
visibleIndices: _angular_core.Signal<Set<number>>;
raiseFactor: _angular_core.Signal<1 | -1>;
isExpanded: _angular_core.Signal<boolean>;
hostDataExpanded: _angular_core.Signal<"" | null>;
stackTotal: _angular_core.Signal<number>;
getStackIndex(domIndex: number): number;
getStackOffset(domIndex: number): number;
isStackVisible(domIndex: number): boolean;
dataP: _angular_core.Signal<string>;
onInit(): void;
clearAll(): void;
onAfterViewInit(): void;
add(messages: ToastMessageOptions[]): void;
canAdd(message: ToastMessageOptions): boolean;
containsMessage(collection: ToastMessageOptions[], message: ToastMessageOptions): boolean;
onMessageClose(event: ToastItemCloseEvent): void;
onAnimationStart(): void;
onAnimationEnd(): void;
onContainerMouseEnter(): void;
onContainerMouseLeave(event: MouseEvent): void;
onContainerPointerDown(event: PointerEvent): void;
onContainerPointerUp(): void;
onItemHeightChange(event: {
index: number;
height: number;
removed?: boolean;
}): void;
createStyle(): void;
destroyStyle(): void;
onDestroy(): void;
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Toast, never>;
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Toast, "p-toast", never, { "key": { "alias": "key"; "required": false; "isSignal": true; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "life": { "alias": "life"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "stackGap": { "alias": "stackGap"; "required": false; "isSignal": true; }; "stackVisibleLimit": { "alias": "stackVisibleLimit"; "required": false; "isSignal": true; }; "preventOpenDuplicates": { "alias": "preventOpenDuplicates"; "required": false; "isSignal": true; }; "preventDuplicates": { "alias": "preventDuplicates"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; "breakpoints": { "alias": "breakpoints"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; }, ["messageTemplate", "headlessTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class ToastModule {
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastModule, never>;
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ToastModule, never, [typeof Toast, typeof i2.SharedModule], [typeof Toast, typeof i2.SharedModule]>;
static ɵinj: _angular_core.ɵɵInjectorDeclaration<ToastModule>;
}
export { Toast, ToastClasses, ToastModule, ToastStyle };