import React from "react"; import { ConfirmModalProps } from "../ConfirmModal/ConfirmModal"; export type ConfirmCloseConfig = Pick & { title?: string; message?: string; }; export type DrawerProps = { isOpen: boolean; direction: "left" | "right" | "bottom"; onClose?: (reason: "backdropClick" | "escapeKey") => void; size?: string | number; resizable?: boolean; minSize?: string | number; maxSize?: string | number; onResize?: (newSize: number) => void; stickyHeader?: React.ReactNode; stickyFooter?: React.ReactNode; confirmOnClose?: string | ConfirmCloseConfig; children: React.ReactNode; /** * ドロワー表示中も背景をスクロール可能にする(Backdrop非表示) */ allowBackgroundScroll?: boolean; /** * ドロワー外のクリックで閉じる。 * Backdrop がある場合はもともと閉じるため、`allowBackgroundScroll` 時に opt-in する。 * Drawer 内から開いた DatePicker などのポップアップ操作や、内側から始めたテキスト選択では閉じない。 */ closeOnOutsideClick?: boolean; }; export type CloseReason = "backdropClick" | "escapeKey";