import React, { type ComponentPropsWithoutRef } from 'react'; import { Primitive } from '@radix-ui/react-primitive'; import { useMergedRef } from '../../hooks'; import { composeEventHandlers } from '../../utils/compose-event-handler'; import { getAriaLabelState, useDialogContext } from './dialog.context'; const TRIGGER_NAME = 'DialogClose'; type DialogCloseElement = React.ElementRef; type PrimitiveButtonProps = ComponentPropsWithoutRef; export interface DialogCloseProps extends PrimitiveButtonProps {} export const DialogClose = React.forwardRef( (triggerProps: DialogCloseProps, forwardedRef) => { const context = useDialogContext(); const composedTriggerRef = useMergedRef(forwardedRef, context.triggerRef); return ( context.onOpenChange(false))} /> ); } ); DialogClose.displayName = TRIGGER_NAME;