UNPKG

baseui

Version:

A React Component library implementing the Base design language

80 lines (79 loc) 2.44 kB
import type * as React from 'react'; import type { Override } from '../helpers/overrides'; import type { IconProps } from '../icon'; import type { ARTWORK_SIZES, SHAPE } from './constants'; export type ArtworkSizes = typeof ARTWORK_SIZES.SMALL | typeof ARTWORK_SIZES.MEDIUM | typeof ARTWORK_SIZES.LARGE; export type Shape = typeof SHAPE.DEFAULT | typeof SHAPE.ROUND; export type StyledRootProps = { $shape: Shape; $isTapTarget?: boolean; }; export type StyledArtworkContainerProps = { $artworkSize: ArtworkSizes | number; $sublist?: boolean; }; export type StyledContentProps = { $mLeft: boolean; $sublist: boolean; }; export type ListOverrides = { Root?: Override; ArtworkContainer?: Override; Content?: Override; EndEnhancerContainer?: Override; }; export type ListProps = { artwork?: React.ComponentType<{ size: IconProps['size']; } & IconProps>; artworkSize?: ArtworkSizes | number; shape?: Shape; children: React.ReactNode; endEnhancer?: React.ComponentType<{}>; 'aria-label'?: string; 'aria-selected'?: boolean; id?: String; onClick?: (a: React.SyntheticEvent<HTMLButtonElement>) => unknown; overrides?: ListOverrides; role?: string; sublist?: boolean; }; export type LabelOverrides = { LabelRoot?: Override; LabelContent?: Override; LabelDescription?: Override; LabelSublistContent?: Override; }; export type LabelProps = { children: React.ReactNode; description?: React.ReactNode; sublist?: boolean; overrides?: LabelOverrides; }; export type HeadingOverrides = { Root?: Override; Content?: Override; HeadingContainer?: Override; SubHeadingContainer?: Override; EndEnhancerContainer?: Override; EndEnhancerDescriptionContainer?: Override; }; export type HeadingProps = { heading: React.ReactNode | React.ComponentType<{}>; subHeading?: React.ReactNode | React.ComponentType<{}>; endEnhancer?: React.ReactNode | React.ComponentType<{}>; endEnhancerDescription?: React.ReactNode | React.ComponentType<{}>; overrides?: HeadingOverrides; maxLines?: 1 | 2; }; export type StyledHeadingHeadingProps = { $maxLines: number; }; export type MenuAdapterProps = { item?: any; onMouseEnter?: (a: MouseEvent) => unknown; onClick?: (a: MouseEvent) => unknown; $size?: string; $isHighlighted?: boolean; $disabled?: boolean; } & ListProps;