@aws-amplify/ui
Version:
`@aws-amplify/ui` contains low-level logic & styles for stand-alone usage or re-use in framework-specific implementations.
101 lines (100 loc) • 7.25 kB
TypeScript
import type { WebTokens } from '../tokens';
import type { AIConversationTheme } from './aiConverstion';
import type { AccordionTheme } from './accordion';
import type { AlertTheme } from './alert';
import type { AutoCompleteTheme } from './autocomplete';
import type { AvatarTheme } from './avatar';
import type { BadgeTheme } from './badge';
import type { BreadcrumbsTheme } from './breadcrumbs';
import type { ButtonTheme } from './button';
import type { ButtonGroupTheme } from './buttonGroup';
import type { CardTheme } from './card';
import type { CheckboxTheme } from './checkbox';
import type { CheckboxFieldTheme } from './checkboxField';
import type { CollectionTheme } from './collection';
import type { DividerTheme } from './divider';
import type { DropZoneTheme } from './dropZone';
import type { FieldTheme } from './field';
import type { FieldGroupTheme } from './fieldGroup';
import type { FieldsetTheme } from './fieldset';
import type { FileUploaderTheme } from './fileUploader';
import type { HeadingTheme } from './heading';
import type { HighlightMatchTheme } from './highlightMatch';
import type { InputTheme } from './input';
import type { LoaderTheme } from './loader';
import type { MenuTheme } from './menu';
import type { MessageTheme } from './message';
import type { PaginationTheme } from './pagination';
import type { PlaceholderTheme } from './placeholder';
import type { RadioTheme } from './radio';
import type { RatingTheme } from './rating';
import type { ScrollViewTheme } from './scrollview';
import type { SearchFieldTheme } from './searchField';
import type { SelectTheme } from './select';
import type { SelectFieldTheme } from './selectField';
import type { SliderFieldTheme } from './sliderField';
import type { StepperFieldTheme } from './stepperField';
import type { StorageBrowserTheme } from './storageBrowser';
import type { StorageManagerTheme } from './storageManager';
import type { SwitchFieldTheme, SwitchTheme } from './switchField';
import type { TableTheme } from './table';
import type { TabsTheme } from './tabs';
import type { TextTheme } from './text';
import type { TextFieldTheme } from './textField';
import type { TextareaTheme } from './textarea';
import type { TextareaFieldTheme } from './textareaField';
import type { ToggleButtonTheme, ToggleButtonGroupTheme } from './toggleButton';
import type { ComponentTheme, BaseComponentTheme, BaseTheme } from './utils';
export type { ClassNameFunction } from '../createTheme/createComponentClasses';
export type { ComponentTheme, BaseComponentTheme, BaseTheme };
export type ComponentsTheme<TokensType extends WebTokens = WebTokens> = BaseComponentTheme<BaseTheme, string, TokensType> | BaseComponentTheme<AccordionTheme, 'accordion', TokensType> | BaseComponentTheme<AIConversationTheme, 'ai-conversation', TokensType> | BaseComponentTheme<AlertTheme, 'alert', TokensType> | BaseComponentTheme<AutoCompleteTheme, 'autocomplete', TokensType> | BaseComponentTheme<AvatarTheme, 'avatar', TokensType> | BaseComponentTheme<BadgeTheme, 'badge', TokensType> | BaseComponentTheme<BreadcrumbsTheme, 'breadcrumbs', TokensType> | BaseComponentTheme<ButtonTheme, 'button', TokensType> | BaseComponentTheme<ButtonGroupTheme, 'buttongroup', TokensType> | BaseComponentTheme<CardTheme, 'card', TokensType> | BaseComponentTheme<CheckboxTheme, 'checkbox', TokensType> | BaseComponentTheme<CheckboxFieldTheme, 'checkboxfield', TokensType> | BaseComponentTheme<CollectionTheme, 'collection', TokensType> | BaseComponentTheme<DividerTheme, 'divider', TokensType> | BaseComponentTheme<DropZoneTheme, 'dropzone', TokensType> | BaseComponentTheme<FieldTheme, 'field', TokensType> | BaseComponentTheme<FieldGroupTheme, 'field-group', TokensType> | BaseComponentTheme<FieldsetTheme, 'fieldset', TokensType> | BaseComponentTheme<FileUploaderTheme, 'fileuploader', TokensType> | BaseComponentTheme<HeadingTheme, 'heading', TokensType> | BaseComponentTheme<HighlightMatchTheme, 'highlightmatch', TokensType> | BaseComponentTheme<InputTheme, 'input', TokensType> | BaseComponentTheme<LoaderTheme, 'loader', TokensType> | BaseComponentTheme<MenuTheme, 'menu', TokensType> | BaseComponentTheme<MessageTheme, 'message', TokensType> | BaseComponentTheme<PaginationTheme, 'pagination', TokensType> | BaseComponentTheme<PlaceholderTheme, 'placeholder', TokensType> | BaseComponentTheme<RatingTheme, 'rating', TokensType> | BaseComponentTheme<RadioTheme, 'radio', TokensType> | BaseComponentTheme<ScrollViewTheme, 'scrollview', TokensType> | BaseComponentTheme<SearchFieldTheme, 'searchfield', TokensType> | BaseComponentTheme<SelectTheme, 'select', TokensType> | BaseComponentTheme<SelectFieldTheme, 'selectfield', TokensType> | BaseComponentTheme<SliderFieldTheme, 'sliderfield', TokensType> | BaseComponentTheme<StepperFieldTheme, 'stepperfield', TokensType> | BaseComponentTheme<StorageBrowserTheme, 'storage-browser', TokensType> | BaseComponentTheme<StorageManagerTheme, 'storagemanager', TokensType> | BaseComponentTheme<SwitchTheme, 'switch', TokensType> | BaseComponentTheme<SwitchFieldTheme, 'switchfield', TokensType> | BaseComponentTheme<TabsTheme, 'tabs', TokensType> | BaseComponentTheme<TableTheme, 'table', TokensType> | BaseComponentTheme<TextTheme, 'text', TokensType> | BaseComponentTheme<TextareaTheme, 'textarea', TokensType> | BaseComponentTheme<TextareaFieldTheme, 'textareafield', TokensType> | BaseComponentTheme<TextFieldTheme, 'textfield', TokensType> | BaseComponentTheme<ToggleButtonTheme, 'togglebutton', TokensType> | BaseComponentTheme<ToggleButtonGroupTheme, 'togglebuttongroup', TokensType>;
export type AllComponentThemes = {
accordion: AccordionTheme;
'ai-conversation': AIConversationTheme;
alert: AlertTheme;
autocomplete: AutoCompleteTheme;
avatar: AvatarTheme;
badge: BadgeTheme;
breadcrumbs: BreadcrumbsTheme;
button: ButtonTheme;
buttongroup: ButtonGroupTheme;
card: CardTheme;
checkbox: CheckboxTheme;
checkboxfield: CheckboxFieldTheme;
collection: CollectionTheme;
divider: DividerTheme;
dropZone: DropZoneTheme;
field: FieldTheme;
'field-group': FieldGroupTheme;
fieldset: FieldsetTheme;
fileuploader: FileUploaderTheme;
heading: HeadingTheme;
highlightmatch: HighlightMatchTheme;
input: InputTheme;
loader: LoaderTheme;
menu: MenuTheme;
message: MessageTheme;
pagination: PaginationTheme;
placeholder: PlaceholderTheme;
radio: RadioTheme;
rating: RatingTheme;
scrollview: ScrollViewTheme;
searchfield: SearchFieldTheme;
select: SelectTheme;
selectfield: SelectFieldTheme;
sliderfield: SliderFieldTheme;
stepperfield: StepperFieldTheme;
'storage-browser': StorageBrowserTheme;
storagemanager: StorageManagerTheme;
switch: SwitchTheme;
switchfield: SwitchFieldTheme;
table: TableTheme;
tabs: TabsTheme;
text: TextTheme;
textarea: TextareaTheme;
textareaField: TextareaFieldTheme;
textField: TextFieldTheme;
toggleButton: ToggleButtonTheme;
toggleButtonGroup: ToggleButtonGroupTheme;
};
export type ComponentThemeFromName<T extends string, Theme extends BaseTheme = BaseTheme> = T extends keyof AllComponentThemes ? AllComponentThemes[T] : Theme;