@plurid/plurid-ui-components-react
Version:
Plurid User Interface Components for React
36 lines (35 loc) • 1.67 kB
TypeScript
import React from 'react';
import { AnyAction } from '@reduxjs/toolkit';
import { Theme } from '@plurid/plurid-themes';
import { DispatchAction, StateOfAny, themes as themesStateService, notifications as notificationsStateService, Notification as INotification } from '@plurid/plurid-ui-state-react';
export type NotificationsState = StateOfAny & {
themes: themesStateService.ThemesState;
notifications: notificationsStateService.NotificationsState;
};
export type NotificationsSelectors = StateOfAny & {
themes: typeof themesStateService.selectors;
notifications: typeof notificationsStateService.selectors;
};
export interface NotificationsOwnProperties {
selectors: NotificationsSelectors;
context: React.Context<any>;
elements?: Record<string, JSX.Element>;
}
export interface NotificationsStateProperties {
stateGeneralTheme: Theme;
stateNotifications: INotification[];
}
export interface NotificationsDispatchProperties {
dispatchRemoveNotification: DispatchAction<typeof notificationsStateService.actions.remove>;
}
export type NotificationsProperties = NotificationsOwnProperties & NotificationsStateProperties & NotificationsDispatchProperties;
declare const ConnectedNotifications: import("react-redux").ConnectedComponent<React.FC<NotificationsProperties>, {
context: React.Context<any>;
selectors: StateOfAny & {
themes: typeof themesStateService.selectors;
notifications: typeof notificationsStateService.selectors;
};
elements?: Record<string, JSX.Element> | undefined;
store?: import("@reduxjs/toolkit").Store<any, AnyAction> | undefined;
}>;
export default ConnectedNotifications;