import { ReactNode } from 'react';

import { CommonProps } from '../../../../types';
import { assertEmptyObject } from '../../../../utils/assertEmptyObject';

import { TunedModalBody } from './styled';

/** Props for {@link ModalBody} */
export interface ModalBodyProps extends CommonProps {
  children: ReactNode;
}

/** Main scrollable content of the modal dialog */
export function ModalBody(props: ModalBodyProps) {
  const { children, className, testId, ariaDescribedBy, ...rest } = props;
  assertEmptyObject(rest);

  return (
    <TunedModalBody ariaDescribedBy={ariaDescribedBy} className={className} testId={testId}>
      {children}
    </TunedModalBody>
  );
}
