import { type StyleProp, type TextStyle, type View, type ViewStyle } from 'react-native'; import type { IconButtonVariant } from '@coinbase/cds-common/types/IconButtonBaseProps'; import type { IconName } from '@coinbase/cds-common/types/IconName'; import type { IconSize } from '@coinbase/cds-common/types/IconSize'; import type { SharedProps } from '@coinbase/cds-common/types/SharedProps'; import { type PressableBaseProps } from '../system/Pressable'; import { type ButtonBaseProps } from './Button'; export type IconButtonSize = 'xs' | 's' | 'm' | 'l'; export type IconButtonBaseProps = SharedProps & Omit & Pick & { /** Name of the icon, as defined in Figma. */ name: IconName; /** * Size for the icon rendered inside the button. * @default 's' for size xs/s, 'm' for size m/l */ iconSize?: IconSize; /** Whether the icon is active */ active?: boolean; /** * Toggle design and visual variants. * @default primary */ variant?: IconButtonVariant; /** * Reduces the button's padding and icon size. Unlike most CDS components, IconButton * enables `compact` by default, so an IconButton with no `size` renders at `size="s"`. * Set `compact={false}` (or pass an explicit `size`) to opt out. * @deprecated Use `size="s"` instead. This will be removed in a future major release. * @deprecationExpectedRemoval v10 */ compact?: boolean; /** * Sets the size of the button. An explicit `size` always takes precedence over `compact`. * IconButton enables `compact` by default, so until `compact` is removed an IconButton * with no `size` renders at `s`. * @default l */ size?: IconButtonSize; /** Custom styles for individual elements of the IconButton component */ styles?: { /** Root Pressable element */ root?: StyleProp; /** Inner icon glyph Text element */ icon?: StyleProp; /** Loading progress circle element */ progressCircle?: StyleProp; }; }; export type IconButtonProps = IconButtonBaseProps; export declare const IconButton: import('react').MemoExoticComponent< ({ ref, ..._props }: IconButtonProps & { ref?: React.Ref; }) => import('react/jsx-runtime').JSX.Element >; //# sourceMappingURL=IconButton.d.ts.map