UNPKG

skyroc-ui

Version:

A modern React UI component library built on Radix UI and Tailwind CSS

51 lines (50 loc) 1.81 kB
import { ClassValue, ClassValueProp, ThemeSize } from "../../types/other.js"; import { CardSlots } from "./card-variants.js"; import { ReactNode } from "react"; //#region src/components/card/types.d.ts interface CardRootProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { size?: ThemeSize; split?: boolean; } interface CardHeaderProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { size?: ThemeSize; } interface CardTitleRootProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { leading?: React.ReactNode; size?: ThemeSize; trailing?: React.ReactNode; } interface CardTitleProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { size?: ThemeSize; } interface CardFooterProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { size?: ThemeSize; } interface CardContentProps extends ClassValueProp, Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'title'> { /** * If true, the content will be flex-grow and overflow-hidden * * @default false */ flexHeight?: boolean; size?: ThemeSize; } type CardUi = Partial<Record<CardSlots, ClassValue>>; interface CardProps extends CardRootProps { classNames?: CardUi; extra?: ReactNode; /** * If true, the content will be flex-grow and overflow-hidden * * @default false */ flexHeight?: boolean; footer?: ReactNode; header?: ReactNode; title?: ReactNode; titleLeading?: ReactNode; titleRoot?: ReactNode; titleTrailing?: ReactNode; } //#endregion export { CardContentProps, CardFooterProps, CardHeaderProps, CardProps, CardRootProps, CardTitleProps, CardTitleRootProps, CardUi };