/** * Copyright IBM Corp. 2016, 2026 * * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ import PropTypes from 'prop-types'; import React, { ReactNode } from 'react'; import { ButtonKinds } from '../Button'; export interface ModalWrapperProps { buttonTriggerClassName?: string; buttonTriggerText?: ReactNode; children?: ReactNode; disabled?: boolean; handleOpen?: React.MouseEventHandler; handleSubmit?: React.ReactEventHandler; id?: string; modalBeforeContent?: boolean; modalHeading?: string; modalLabel?: string; modalText?: string; onKeyDown?: React.KeyboardEventHandler; passiveModal?: boolean; preventCloseOnClickOutside?: boolean; primaryButtonText?: string; renderTriggerButtonIcon: React.ElementType; secondaryButtonText?: string; selectorPrimaryFocus?: string; shouldCloseAfterSubmit?: boolean; status?: string; triggerButtonIconDescription?: string; triggerButtonKind: (typeof ButtonKinds)[number]; withHeader?: boolean; } interface ModelWrapperState { isOpen: boolean; } export default class ModalWrapper extends React.Component { constructor(props: ModalWrapperProps); static propTypes: { buttonTriggerClassName: PropTypes.Requireable; buttonTriggerText: PropTypes.Requireable; children: PropTypes.Requireable; disabled: PropTypes.Requireable; handleOpen: PropTypes.Requireable<(...args: any[]) => any>; handleSubmit: PropTypes.Requireable<(...args: any[]) => any>; id: PropTypes.Requireable; modalBeforeContent: PropTypes.Requireable; modalHeading: PropTypes.Requireable; modalLabel: PropTypes.Requireable; modalText: PropTypes.Requireable; onKeyDown: PropTypes.Requireable<(...args: any[]) => any>; passiveModal: PropTypes.Requireable; preventCloseOnClickOutside: PropTypes.Requireable; primaryButtonText: PropTypes.Requireable; renderTriggerButtonIcon: PropTypes.Requireable; secondaryButtonText: PropTypes.Requireable; selectorPrimaryFocus: PropTypes.Requireable; shouldCloseAfterSubmit: PropTypes.Requireable; status: PropTypes.Requireable; triggerButtonIconDescription: PropTypes.Requireable; triggerButtonKind: PropTypes.Requireable<"primary" | "secondary" | "danger" | "ghost" | "danger--primary" | "danger--ghost" | "danger--tertiary" | "tertiary">; withHeader: PropTypes.Requireable; }; triggerButton: React.RefObject; modal: React.RefObject; state: { isOpen: boolean; }; handleOpen: () => void; handleClose: (evt: React.KeyboardEvent) => void; handleOnRequestSubmit: (evt: React.KeyboardEvent) => void; render(): import("react/jsx-runtime").JSX.Element; } export {};