import * as React from 'react'; export type ActionType = (event: React.MouseEvent) => void; export type ItemClickHandler = (options: { /** * Действие, которое будет выполненно после завершения анимации скрытия и после вызова onClose. * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены. * Если вам нужен объект события именно на момент нажатия, используйте `immediateAction`. */ action: ActionType | undefined; /** * Действие, которое выполняется непосредственно в момент нажатия (в отличие от `action`). */ immediateAction: ActionType | undefined; /** * Флаг, указывающий, нужно ли автоматически закрывать `ActionSheet`. */ autoClose: boolean; /** * Флаг, указывающий является ли элемент кнопкой отмены. */ isCancelItem: boolean; }) => (event: React.MouseEvent) => void; export type ActionSheetContextType = { /** * Обработчик нажатия на элемент. */ onItemClick?: ItemClickHandler; /** * Обработчик закрытия `ActionSheet`. */ onClose?: () => void; /** * Режим отображения `ActionSheet`. */ mode?: 'sheet' | 'menu'; }; export const ActionSheetContext: React.Context> = React.createContext( {}, );