UNPKG

antd

Version:

An enterprise-class UI design language and React components implementation

18 lines (17 loc) • 1.26 kB
import type { ConfigProviderProps, Variant } from '../../config-provider'; type VariantComponents = keyof Pick<ConfigProviderProps, 'input' | 'inputPassword' | 'inputSearch' | 'otp' | 'inputNumber' | 'textArea' | 'mentions' | 'select' | 'cascader' | 'treeSelect' | 'datePicker' | 'timePicker' | 'rangePicker' | 'card' | 'button' | 'tag' | 'divider' | 'steps' | 'alert' | 'timeline'>; type ComponentVariant<Component extends VariantComponents = VariantComponents> = NonNullable<NonNullable<ConfigProviderProps[Component]>['variant']>; type LegacyVariantComponents = { [Component in VariantComponents]: ComponentVariant<Component> extends Variant ? Component : never; }[VariantComponents]; interface VariantOptions<T extends readonly string[]> { variants: T; defaultVariant: T[number]; } type VariantResult<T extends string> = [T, boolean, boolean]; interface UseVariant { <const T extends readonly string[]>(component: VariantComponents, variant: string | undefined, options: VariantOptions<T>): VariantResult<T[number]>; (component: LegacyVariantComponents, variant?: Variant, legacyBordered?: boolean, fallbackComponent?: LegacyVariantComponents): VariantResult<Variant>; } declare const _default: UseVariant; export default _default;