import type { IconButtonProps as ChakraIconButtonProps } from "@chakra-ui/react"; import type { DataAttributes } from "../Common/dataAttributes"; /** Every Chakra `IconButtonProps` prop, with the same theme `Button` look; only `aria-label` is relaxed to optional. */ export interface IconButtonProps extends Omit, DataAttributes { /** The button's accessible name. Optional in the type, but dev builds warn once per mount when it and `aria-labelledby` are both missing. */ "aria-label"?: string; /** Swaps the icon for a spinner inside the same box, and disables the button until it clears. */ isLoading?: boolean; /** A square on Button's own scale: xs 24 · sm 32 (default) · md 40 · lg 48 · xl 56, with no padding. */ size?: ChakraIconButtonProps["size"]; }