import type { JSX } from 'solid-js'; import type { ToggleStateControlledOptions, ToggleStateRenderProps, ToggleStateUncontrolledOptions } from '../../states/create-toggle-state'; import type { HeadlessPropsWithRef, ValidConstructor } from '../../utils/dynamic-prop'; import type { OmitAndMerge, Prettify } from '../../utils/types'; import type { ButtonProps } from '../button'; export type ToggleControlledBaseProps = Prettify; export type ToggleControlledProps = HeadlessPropsWithRef>>; export type ToggleUncontrolledBaseProps = Prettify; export type ToggleUncontrolledProps = HeadlessPropsWithRef>>; export type ToggleProps = ToggleControlledProps | ToggleUncontrolledProps; /** * A two-state button, pressed or unpressed, reported through `aria-pressed`. * Use it for controls that stay on until pressed again, such as bold in a text * editor. * * Renders a `