import { CSSObject } from 'styled-components'; import { BreakpointType } from '../../breakpoints/breakPoints'; import { MultiSelectV2Size, MultiSelectV2SelectionTagType, MultiSelectV2Variant } from './multiSelectV2.types'; import { SelectV2ItemStates, SelectV2TriggerStates } from '../SelectV2/selectV2.tokenStates'; type StateToken = Record; type TriggerStateToken = Record; type VariantToken = Record; type SizeToken = Record; type SelectionTagTypeToken = Record; export type MultiSelectV2TriggerStates = SelectV2TriggerStates; export type MultiSelectV2ItemStates = SelectV2ItemStates; export type MultiSelectV2TokensType = { 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']; }; selectionTag: VariantToken> & { marginLeft: CSSObject['margin']; borderRadius: CSSObject['borderRadius']; }; chevron: { gap: CSSObject['gap']; width: CSSObject['width']; height: CSSObject['height']; iconSize?: number; }; clearButton?: { backgroundColor: TriggerStateToken; outline: TriggerStateToken; color: CSSObject['color']; width?: CSSObject['width']; }; floatingLabel: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; }; placeholder: { color: CSSObject['color']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; selectedValue: { color: CSSObject['color']; fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; }; }; menu: { backgroundColor: CSSObject['backgroundColor']; border: CSSObject['border']; borderRadius: CSSObject['borderRadius']; padding: SizeToken>; minWidth: CSSObject['minWidth']; scroll: { height: CSSObject['height']; maxHeight: CSSObject['maxHeight']; }; header: { backgroundColor: CSSObject['backgroundColor']; borderBottom: CSSObject['borderBottom']; selectAllRowPaddingLeft: CSSObject['paddingLeft']; selectAllRowPaddingRight: CSSObject['paddingRight']; }; selectAll: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; borderRadius: CSSObject['borderRadius']; }; list: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; }; actions: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; gap: CSSObject['gap']; backgroundColor: CSSObject['backgroundColor']; borderTop: CSSObject['borderTop']; }; item: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; margin: CSSObject['margin']; borderRadius: CSSObject['borderRadius']; gap: CSSObject['gap']; backgroundColor: StateToken; optionsLabel: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; }; option: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; description: { fontSize: CSSObject['fontSize']; fontWeight: CSSObject['fontWeight']; color: StateToken; }; seperator: { 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']; }; content: { borderRadius: CSSObject['borderRadius']; paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; }; }; drawer: { header: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; borderBottom: CSSObject['borderBottom']; }; search: { paddingTop: CSSObject['paddingTop']; paddingRight: CSSObject['paddingRight']; paddingBottom: CSSObject['paddingBottom']; paddingLeft: CSSObject['paddingLeft']; marginTop: CSSObject['margin']; marginBottom: CSSObject['margin']; }; content: { gap: CSSObject['gap']; }; }; }; export type ResponsiveMultiSelectV2Tokens = { [key in keyof BreakpointType]: MultiSelectV2TokensType; }; export {};