UNPKG

@mui/material

Version:

Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.

63 lines (62 loc) 2.48 kB
import * as React from 'react'; import { SxProps } from '@mui/system'; import { SlotProps, CreateSlotsAndSlotProps, Theme } from "../index.js"; import { ButtonBaseProps, ButtonBaseTypeMap, ExtendButtonBase, ExtendButtonBaseTypeMap } from "../ButtonBase/index.js"; import { OverrideProps } from "../OverridableComponent/index.js"; import { CardActionAreaClasses } from "./cardActionAreaClasses.js"; export interface CardActionAreaSlots { /** * The component that renders the root. * @default ButtonBase */ root: React.ElementType; /** * The component that renders the focusHighlight. * @default span */ focusHighlight: React.ElementType; } export type CardActionAreaSlotsAndSlotProps = CreateSlotsAndSlotProps<CardActionAreaSlots, { /** * Props forwarded to the root slot. * By default, the avaible props are based on the span element. */ root: SlotProps<React.ElementType<ButtonBaseProps>, {}, CardActionAreaOwnerState>; /** * Props forwarded to the focusHighlight slot. * By default, the avaible props are based on the span element. */ focusHighlight: SlotProps<'span', {}, CardActionAreaOwnerState>; }>; export interface CardActionAreaOwnerState extends Omit<CardActionAreaProps, 'slots' | 'slotProps'> {} export interface CardActionAreaOwnProps { /** * Override or extend the styles applied to the component. */ classes?: Partial<CardActionAreaClasses>; focusVisibleClassName?: string; /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx?: SxProps<Theme>; } export type CardActionAreaTypeMap<AdditionalProps, RootComponent extends React.ElementType> = ExtendButtonBaseTypeMap<{ props: AdditionalProps & CardActionAreaOwnProps & CardActionAreaSlotsAndSlotProps; defaultComponent: RootComponent; }>; /** * * Demos: * * - [Card](https://mui.com/material-ui/react-card/) * * API: * * - [CardActionArea API](https://mui.com/material-ui/api/card-action-area/) * - inherits [ButtonBase API](https://mui.com/material-ui/api/button-base/) */ declare const CardActionArea: ExtendButtonBase<CardActionAreaTypeMap<{}, ButtonBaseTypeMap['defaultComponent']>>; export type CardActionAreaProps<RootComponent extends React.ElementType = ButtonBaseTypeMap['defaultComponent'], AdditionalProps = {}> = OverrideProps<CardActionAreaTypeMap<AdditionalProps, RootComponent>, RootComponent> & { component?: React.ElementType; }; export default CardActionArea;