/** * @file modal 的内部逻辑处理,抽出来可以分别提供给 Modal 和 Dialog */ import React, { useCallback, useMemo, useRef } from 'react' import { DialogProps } from 'rc-dialog' import cn from 'classnames' import { useMask } from '../ConfigProvider' import { MaskProps } from '../internal/Mask' import { useLayer } from '../internal/Mask/layer' import { concat } from '../utils' import { useValue } from '../utils/hooks' import { CloseIcon } from '../icons' import { PopupContainerProvider } from '../PopupContainerProvider' import Footer, { footerCtx } from './Footer' import { InternalModalProps as ModalProps } from './Modal' export type UseModalPropsReturn = { handleOk: () => void handleCancel: () => void maskProps: MaskProps rcDialogProps: DialogProps } export function useModalProps(props: ModalProps, prefix: string): UseModalPropsReturn { const { footer =