import { CSSObject } from 'styled-components'; import { BreakpointType } from '../../breakpoints/breakPoints'; import { FoundationTokenType } from '../../tokens/theme.token'; import { SnackbarVariant } from './types'; /** * Snackbar Tokens following the pattern: [target].CSSProp.[variant].[state] * * Structure: * - target: container | infoIcon | content | actionButton | crossIcon (defines what element the token applies to) * - CSSProp: backgroundColor | borderRadius | padding | color | fontSize | fontWeight | gap | size | minWidth | maxWidth | boxShadow * - variant: info | success | warning | error (snackbar variant) * - state: default (no interactive states for snackbar) * * Pattern examples: * - container.backgroundColor * - container.borderRadius * - container.padding * - infoIcon.color.[variant] * - infoIcon.size.[variant] * - content.textContainer.header.color * - content.textContainer.description.color * - content.actionButton.color * - crossIcon.color */ export type SnackbarTokens = Readonly<{ backgroundColor: CSSObject['backgroundColor']; borderRadius: CSSObject['borderRadius']; padding: CSSObject['padding']; maxWidth: CSSObject['maxWidth']; boxShadow: CSSObject['boxShadow']; gap: CSSObject['gap']; infoIcon: { color: { [key in SnackbarVariant]: CSSObject['color']; }; height: CSSObject['height' | 'width']; }; content: { gap: CSSObject['gap']; textContainer: { gap: CSSObject['gap']; header: { color: { [key in SnackbarVariant]: CSSObject['color']; }; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; lineHeight: CSSObject['lineHeight']; }; description: { color: { [key in SnackbarVariant]: CSSObject['color']; }; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; }; }; actions: { primaryAction: { color: { [key in SnackbarVariant]: CSSObject['color']; }; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; closeButton: { height: CSSObject['height' | 'width']; color: { [key in SnackbarVariant]: CSSObject['color']; }; }; }; }>; export type ResponsiveSnackbarTokens = { [key in keyof BreakpointType]: SnackbarTokens; }; export declare const getSnackbarTokens: (foundationToken: FoundationTokenType) => ResponsiveSnackbarTokens;