import type { BoxProps } from "@twilio-paste/core/box"; import type { ButtonProps } from "@twilio-paste/core/button"; export type BadgeSizes = "default" | "small"; type BadgeBaseProps = { children: NonNullable; element?: BoxProps["element"]; }; type BadgeButtonProps = HTMLPasteProps<"button"> & { as: "button"; onClick: HTMLPasteProps<"button">["onClick"]; href?: never; }; type As = React.ElementType; type BlockedGlobalHTMLAttrs = "style" | "className" | "color"; type PropsOf = React.ComponentPropsWithoutRef; type HTMLPasteProps = Omit, "ref" | BlockedGlobalHTMLAttrs>; export interface SidePanelProps extends HTMLPasteProps<"div"> { children?: React.ReactNode; label: string; element?: BoxProps["element"]; } export interface SidePanelBodyProps extends HTMLPasteProps<"div"> { children?: React.ReactNode; element?: BoxProps["element"]; inTab?: boolean; } export interface SidePanelHeaderProps extends HTMLPasteProps<"div"> { children?: React.ReactNode; element?: BoxProps["element"]; } export interface SidePanelContainerProps extends HTMLPasteProps<"div"> { children: React.ReactNode; i18nCloseSidePanelTitle?: string; i18nOpenSidePanelTitle?: string; sidePanelId?: string; isOpen: boolean; element?: BoxProps["element"]; } export type ButtonBadgeProps = BadgeBaseProps & Omit & { onClick?: BadgeButtonProps["onClick"]; }; type SidePanelButtonBaseProps = { id?: string; toggle?: () => void; }; export type SidePanelButtonProps = SidePanelButtonBaseProps & Omit & { element?: BoxProps["element"]; }; export type SidePanelBadgeButtonProps = SidePanelButtonBaseProps & Omit & { element?: BoxProps["element"]; }; export interface SidePanelPushContentWrapperProps extends HTMLPasteProps<"div"> { children: React.ReactNode; element?: BoxProps["element"]; } export interface SidePanelContextProps { sidePanelId: string; isOpen: boolean; i18nCloseSidePanelTitle: string; i18nOpenSidePanelTitle: string; } export {};