import { CSSObject } from 'styled-components'; import { BreakpointType } from '../../breakpoints/breakPoints'; import { FoundationTokenType } from '../../tokens/theme.token'; /** * ChatInput Tokens following the pattern: [target].property.[state] * * Structure: * - container: Main chat input container * - textarea: Text input area * - filesContainer: File attachment display area * - bottomActions: Action buttons container * - overflowTag: "+X more" files button * - topQueries: Top queries section with header and items */ export type ChatInputTokensType = Readonly<{ backgroundColor: { default: CSSObject['backgroundColor']; hover: CSSObject['backgroundColor']; disabled: CSSObject['backgroundColor']; }; borderRadius: { default: CSSObject['borderRadius']; focus: CSSObject['borderRadius']; }; border: { default: CSSObject['border']; focus: CSSObject['border']; }; minHeight: CSSObject['minHeight']; maxHeight: CSSObject['maxHeight']; gap: CSSObject['gap']; text: { color: { default: CSSObject['color']; hover: CSSObject['color']; focus: CSSObject['color']; disabled: CSSObject['color']; }; fontSize: { default: CSSObject['fontSize']; hover: CSSObject['fontSize']; focus: CSSObject['fontSize']; disabled: CSSObject['fontSize']; }; fontWeight: { default: CSSObject['fontWeight']; hover: CSSObject['fontWeight']; focus: CSSObject['fontWeight']; disabled: CSSObject['fontWeight']; }; lineHeight: { default: CSSObject['lineHeight']; hover: CSSObject['lineHeight']; focus: CSSObject['lineHeight']; }; }; resize: CSSObject['resize']; overflow: CSSObject['overflow']; paddingLeft: CSSObject['paddingLeft']; paddingTop: CSSObject['paddingTop']; paddingBottom: CSSObject['paddingBottom']; container: { backgroundColor: { default: CSSObject['backgroundColor']; hover: CSSObject['backgroundColor']; disabled: CSSObject['backgroundColor']; }; border: { default: CSSObject['border']; focus: CSSObject['border']; }; borderRadius: CSSObject['borderRadius']; padding: CSSObject['padding']; gap: CSSObject['gap']; minHeight: CSSObject['minHeight']; transition: CSSObject['transition']; boxShadow: { default: CSSObject['boxShadow']; hover: CSSObject['boxShadow']; focus: CSSObject['boxShadow']; }; }; attachmentContainer: { backgroundColor: CSSObject['backgroundColor']; borderRadius: CSSObject['borderRadius']; padding: CSSObject['padding']; }; textarea: { backgroundColor: CSSObject['backgroundColor']; color: CSSObject['color']; fontSize: CSSObject['fontSize']; lineHeight: CSSObject['lineHeight']; paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; placeholder: { color: CSSObject['color']; }; resize: CSSObject['resize']; fontFamily: CSSObject['fontFamily']; minHeight: CSSObject['minHeight']; maxHeight: CSSObject['maxHeight']; overflowY: CSSObject['overflowY']; }; filesContainer: { gap: CSSObject['gap']; paddingX: CSSObject['padding']; paddingY: CSSObject['padding']; maxHeight: CSSObject['maxHeight']; overflowY: CSSObject['overflowY']; margin: CSSObject['margin']; }; bottomActions: { paddingX: CSSObject['padding']; paddingY: CSSObject['padding']; gap: CSSObject['gap']; justifyContent: CSSObject['justifyContent']; }; overflowTag: { backgroundColor: { default: CSSObject['backgroundColor']; hover: CSSObject['backgroundColor']; active: CSSObject['backgroundColor']; }; color: { default: CSSObject['color']; hover: CSSObject['color']; active: CSSObject['color']; }; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; paddingX: CSSObject['padding']; paddingY: CSSObject['padding']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; gap: CSSObject['gap']; transition: CSSObject['transition']; cursor: CSSObject['cursor']; }; topQueries: { container: { borderTop: CSSObject['borderTop']; paddingTop: CSSObject['paddingTop']; }; header: { color: CSSObject['color']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; paddingX: CSSObject['padding']; paddingY: CSSObject['padding']; textTransform: CSSObject['textTransform']; backgroundColor: CSSObject['backgroundColor']; flexShrink: CSSObject['flexShrink']; }; scrollContainer: { overflowY: CSSObject['overflowY']; maxHeightOffset: number; backgroundColor: CSSObject['backgroundColor']; scrollbarColor: string; }; item: { backgroundColor: { default: CSSObject['backgroundColor']; hover: CSSObject['backgroundColor']; active: CSSObject['backgroundColor']; disabled: CSSObject['backgroundColor']; }; color: { default: CSSObject['color']; hover: CSSObject['color']; active: CSSObject['color']; disabled: CSSObject['color']; }; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; paddingX: CSSObject['padding']; paddingY: CSSObject['padding']; border: CSSObject['border']; transition: CSSObject['transition']; cursor: CSSObject['cursor']; opacity: { default: CSSObject['opacity']; disabled: CSSObject['opacity']; }; }; }; }>; export type ResponsiveChatInputTokensType = { [key in keyof BreakpointType]: ChatInputTokensType; }; export declare const getChatInputTokens: (foundationToken: FoundationTokenType) => ResponsiveChatInputTokensType; export default getChatInputTokens;