import { HTMLChakraProps, SlotRecipeProps } from '@chakra-ui/react/styled-system'; import { TextProps } from '../text/text'; import { ButtonProps } from '../button/button.types'; import { SemanticPalettesOnly } from '../../type-utils/shared-types'; import { OmitInternalProps } from '../../type-utils/omit-props'; type AlertRecipeProps = { /** Visual style variant of the alert */ variant?: SlotRecipeProps<"nimbusAlert">["variant"]; }; export type AlertRootSlotProps = HTMLChakraProps<"div", AlertRecipeProps> & { /** Color palette variant of the alert */ colorPalette?: Exclude; }; export type AlertIconSlotProps = HTMLChakraProps<"div">; export type AlertActionsSlotProps = HTMLChakraProps<"div">; /** * Props for the Alert.Root component. */ export type AlertProps = OmitInternalProps & { [key: `data-${string}`]: unknown; ref?: React.Ref; }; /** * Type signature for the main Alert component. */ export type AlertRootComponent = React.FC; /** * Props for the Alert.Icon component. */ export type AlertIconProps = AlertIconSlotProps; /** * Props for the Alert.Title component. */ export type AlertTitleProps = Omit & { ref?: React.Ref; }; /** * Props for the Alert.Description component. */ export type AlertDescriptionProps = Omit & { ref?: React.Ref; }; /** * Props for the Alert.Actions component. */ export type AlertActionsProps = OmitInternalProps; /** * Props for the Alert.DismissButton component. */ export type AlertDismissButtonProps = OmitInternalProps; export {};