1 | import * as React from 'react';
|
2 |
|
3 | import {Override} from './overrides';
|
4 | import {DURATION, PLACEMENT} from './constants.js';
|
5 |
|
6 | export type DurationT =
|
7 | | typeof DURATION.infinite
|
8 | | typeof DURATION.short
|
9 | | typeof DURATION.medium
|
10 | | typeof DURATION.long;
|
11 |
|
12 | export type PlacementT =
|
13 | | typeof PLACEMENT.topLeft
|
14 | | typeof PLACEMENT.top
|
15 | | typeof PLACEMENT.topRight
|
16 | | typeof PLACEMENT.bottomLeft
|
17 | | typeof PLACEMENT.bottom
|
18 | | typeof PLACEMENT.bottomRight;
|
19 |
|
20 | export type SnackbarElementOverridesT = {
|
21 | Root?: Override<any>;
|
22 | Content?: Override<any>;
|
23 | StartEnhancerContainer?: Override<any>;
|
24 | Spinner?: Override<any>;
|
25 | Message?: Override<any>;
|
26 | WrapActionButtonContainer?: Override<any>;
|
27 | ActionButtonContainer?: Override<any>;
|
28 | };
|
29 |
|
30 | export type SnackbarElementPropsT = {
|
31 | actionMessage?: string;
|
32 | actionOnClick?: (event: React.MouseEvent<HTMLButtonElement>) => any;
|
33 | focus?: boolean;
|
34 | message: string;
|
35 | overrides?: SnackbarElementOverridesT;
|
36 | progress?: boolean;
|
37 | startEnhancer?: React.FC<{size: number}>;
|
38 | };
|
39 |
|
40 | export type SnackbarProviderPropsT = {
|
41 | children?: React.Node;
|
42 | overrides?: SnackbarElementOverridesT & {
|
43 | PlacementContainer?: Override<any>;
|
44 | };
|
45 | placement?: PlacementT;
|
46 | defaultDuration?: DurationT;
|
47 | };
|
48 |
|
49 | export const DURATION: typeof DURATION;
|
50 | export const PLACEMENT: typeof PLACEMENT;
|
51 | export const SnackbarElement: React.FC<SnackbarElementPropsT>;
|
52 | export const SnackbarProvider: React.FC<SnackbarProviderPropsT>;
|
53 | export const useSnackbar: () => {
|
54 | enqueue: (elementProps: SnackbarElementPropsT, duration?: DurationT) => any;
|
55 | dequeue: () => any;
|
56 | };
|