import React, { useContext } from 'react'; import { DatePickerStateContext, DateRangePickerStateContext, Dialog } from 'react-aria-components'; import { useOnClickOutside } from '@openmrs/esm-react-utils'; import styles from './datepicker.module.scss'; interface AutoCloseDialogProps { children: React.ReactNode; } export function AutoCloseDialog({ children }: Readonly) { const datePickerState = useContext(DatePickerStateContext); const rangePickerState = useContext(DateRangePickerStateContext); const state = (datePickerState ?? rangePickerState)!; const boundaryRef = useOnClickOutside(() => state?.close()); return ( {children} ); }