import { CSSObject } from 'styled-components'; import { BreakpointType } from '../../breakpoints/breakPoints'; import { SelectV2Size as SingleSelectV2Size, SelectV2Variant as SingleSelectV2Variant } from '../SelectV2/selectV2.shared.types'; import { SelectV2ItemStates, SelectV2TriggerStates } from '../SelectV2/selectV2.tokenStates'; export type SingleSelectV2ItemStates = SelectV2ItemStates; export type SingleSelectV2TriggerStates = SelectV2TriggerStates; type StateToken = Record; type TriggerStateToken = Record; type VariantToken = Record; type SizeToken = Record; type SubmenuTriggerStateToken = Record<'default' | 'hover' | 'focus', T>; export type SingleSelectV2TokensType = { gap: CSSObject['gap']; label: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; subLabel: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; hintText: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; errorMessage: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: CSSObject['color']; }; required: { color: CSSObject['color']; }; trigger: { height: SizeToken>; padding: SizeToken>; borderRadius: SizeToken>; boxShadow: VariantToken; backgroundColor: VariantToken>; outline: VariantToken>; slot: { gap: CSSObject['gap']; width: CSSObject['width']; }; placeholder: { color: CSSObject['color']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; selectedValue: { color: CSSObject['color']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; }; menu: { content: { backgroundColor: CSSObject['backgroundColor']; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; boxShadow: CSSObject['boxShadow']; }; padding: SizeToken>; groupLabel: { margin: CSSObject['margin']; paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; item: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; margin: CSSObject['margin']; borderRadius: CSSObject['borderRadius']; gap: CSSObject['gap']; backgroundColor: StateToken; groupLabelText: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; option: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; description: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; separator: { color: CSSObject['color']; height: CSSObject['height']; margin: CSSObject['margin']; }; }; submenu: { trigger: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; margin: CSSObject['margin']; borderRadius: CSSObject['borderRadius']; backgroundColor: SubmenuTriggerStateToken; }; content: { backgroundColor: CSSObject['backgroundColor']; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; boxShadow: CSSObject['boxShadow']; }; optionText: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: CSSObject['color']; }; iconColor: CSSObject['color']; }; footer: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; backgroundColor: CSSObject['backgroundColor']; borderTop: CSSObject['borderTop']; }; }; mobilePanel: { header: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; borderBottom: CSSObject['borderBottom']; }; }; }; export type ResponsiveSingleSelectV2Tokens = { [key in keyof BreakpointType]: SingleSelectV2TokensType; }; export type SingleSelectV2MenuItemTokensType = SingleSelectV2TokensType['menu']['item']; export {};