/** * @jsxRuntime classic * @jsx jsx */ import { type ComponentPropsWithoutRef, type ComponentPropsWithRef, type ReactElement, type ReactNode } from 'react'; import type { BasePrimitiveProps, StyleProp } from '../components/types'; type AllowedElements = Exclude; type CustomElement

= { [K in AllowedElements]: P extends JSX.IntrinsicElements[K] ? K : never; }[AllowedElements]; export type FocusableProps = Omit, keyof BaseFocusableProps | 'className' | 'style'> & BasePrimitiveProps & StyleProp & BaseFocusableProps; type BaseFocusableProps = { /** * The DOM element to render as the Focusable element. * @default 'button' */ as?: T; children?: ReactNode; /** * Controls whether the focus ring should be applied around or within the composed element. */ isInset?: boolean; /** * Forwarded ref. */ ref?: ComponentPropsWithRef['ref']; }; type FocusableComponent = (props: FocusableProps) => ReactElement; /** * __Focus ring__ * * A focus ring visually indicates the currently focused item. * */ declare const Focusable: FocusableComponent; export default Focusable;