import { RuleSet } from 'styled-components'; import { IAccordionVariants } from '../components/accordion/accordion.variants'; import { IButtonVariants } from '../components/button/button.variants'; import { IDividerVariants } from '../components/divider/divider.variants'; import { IDrawerVariants } from '../components/drawer/drawer.variants'; import { IModalVariants } from '../components/modal/modal.variants'; import { ITabsVariants } from '../components/tabs/tabs.variants'; import { IFieldErrorVariants } from '../fields/field-error.variants'; import { IAutocompleteVariants } from '../forms/autocomplete/autocomplete.variants'; import { ICheckboxVariants } from '../forms/checkbox/checkbox.variants'; import { IComboboxVariants } from '../forms/combobox'; import { IFieldVariants } from '../forms/field/field.variants'; import { IFormErrorVariants } from '../forms/form-error/form-error.variants'; import { IFormTesterVariants } from '../forms/form-tester/form-tester.variants'; import { IInputVariants } from '../forms/input/input.variants'; import { ILabelVariants } from '../forms/label/label.variants'; import { IRadioCardVariants } from '../forms/radio-card/radio-card.variants'; import { IRadioColorVariants } from '../forms/radio-color/radio-color.variants'; import { IRadioOptionVariants } from '../forms/radio-option/radio-option.variants'; import { IRadioVariants } from '../forms/radio/radio.variants'; import { IRatingVariants } from '../forms/rating/rating.variants'; import { ISelectVariants } from '../forms/select/select.variants'; import { ITextareaVariants } from '../forms/textarea/textarea.variants'; export const defaultVariants: Partial = { }; export type IVariants = { accordion: IAccordionVariants, autocomplete: IAutocompleteVariants, // todo button: IButtonVariants, checkbox: ICheckboxVariants, // todo combobox: IComboboxVariants, divider: IDividerVariants, drawer: IDrawerVariants, field: IFieldVariants, fieldError: IFieldErrorVariants, formError: IFormErrorVariants, formTester: IFormTesterVariants, input: IInputVariants, label: ILabelVariants, modal: IModalVariants, radio: IRadioVariants, // todo radioCard: IRadioCardVariants, // todo radioColor: IRadioColorVariants, // todo radioOption: IRadioOptionVariants, // todo rating: IRatingVariants, // todo select: ISelectVariants, tabs: ITabsVariants, textarea: ITextareaVariants, }; export type VariantOfType> = Record & T; export type Variant = 'default' | 'circle' | 'alfa' | 'beta' | 'gamma' | 'delta' | 'epsilon' | 'zeta' | 'eta' | 'theta' | 'iota' | 'kappa' | 'lambda' | 'mu' | 'nu' | 'xi' | 'omicron' | 'pi' | 'rho' | 'sigma' | 'tau' | 'upsilon' | 'phi' | 'psi' | 'chi' | 'omega'; export type VariantOf = { [key in T]?: RuleSet }; export type Variants = { [key in Variant]?: RuleSet }; export type SizeVariant = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; export type SizeVariants = { [key in SizeVariant]?: RuleSet }; export type IResponsiveVariant = { variant?: T; variantSm?: T; variantMd?: T; variantLg?: T; variantXl?: T; };