import { EventEmitter } from '../../stencil-public-runtime'; import { COLOR, ALIGNMENT, ELEVATION, NOTIFICATION_TYPE, NOTIFICATION_INTERACTION } from '../../common/interfaces/ui'; import { ICustomGoogleAnalyticsConfig } from '@progleasing/grit-universal-analytics'; export declare type GritNotificationAction = 'dismiss' | 'collapse'; export declare type TouchPosition = { x: number; y: number; }; export declare class GritNotification { private startHeight; private flagNotification; host: HTMLGritWcNotificationElement; /** * Type of notification. */ type: NOTIFICATION_TYPE; /** * Color of the Notification icon, will also reflect on the notification background color and text style. */ color: COLOR; /** * Changes Notification text style to bold. */ modifier: NOTIFICATION_INTERACTION | null; /** * Close actions sets if the CTA (cross btn and dismiss text) to close the notification are visible. * If it's set to NOTIFICATION_INTERACTION.NONE, then this CTA are hidden. */ closeActions: NOTIFICATION_INTERACTION | null; /** * If action is set to collapse, down arrow button will be displayed and if clicked collapse animation will execute. * If it is set to dismiss, cross button will be displayed and if clicked it will hide notification. */ action: GritNotificationAction; /** * Hide/Show notification component. */ display: boolean; /** * Elevation style of notification. */ elevation: ELEVATION; /** * Will determine if notification is collapsed or expanded. */ collapsed: boolean; /** * EnterSide style of notification. */ enterSide: ALIGNMENT; /** * Close timeout only for flag type notification. */ timeout: number; /** * Active gestures for notifications. */ gestures: boolean; /** * Disable auto dismiss for flag notifications */ disableAutoDismiss: boolean; /** * It's the custom event to be passed into the `GoogleAnalytics.getInstance().pushCustomEvent()` function. */ analyticsCustomObj: ICustomGoogleAnalyticsConfig; /** * If it is set to false, no event will be pushed into Google Analytics. */ analyticsEnabled: boolean; /** * If it is set to true, no personally identifiable information will be pushed into Google Analytics. */ pii: boolean; /** * Will hide notification or add collapse animation style depending on the action prop. */ nofiticationDisplayHandler(newValue: boolean): void; flagNotificationHandler(): void; dismissClick: EventEmitter; flagHide: EventEmitter; componentDidLoad(): void; /** *This method "show" displays notification when called. */ show(): Promise; /** * This method "hide" hides notification when called. */ hide(): Promise; renderNotification(): Promise; private setDisplayFalseWithCloseIcon; private pushGoogleAnalyticsEvent; private executeAction; private notificationLeftCol; private notificationCenterCol; private notificationRightCol; private renderNotificationByType; render(): any; }