mirror of
https://github.com/hexastack/hexabot
synced 2025-06-26 18:27:28 +00:00
fix: update useDialog hook
This commit is contained in:
@@ -1,27 +1,25 @@
|
||||
/*
|
||||
* Copyright © 2024 Hexastack. All rights reserved.
|
||||
* Copyright © 2025 Hexastack. All rights reserved.
|
||||
*
|
||||
* Licensed under the GNU Affero General Public License v3.0 (AGPLv3) with the following additional terms:
|
||||
* 1. The name "Hexabot" is a trademark of Hexastack. You may not use this name in derivative works without express written permission.
|
||||
* 2. All derivative works must include clear attribution to the original creator and software, Hexastack and Hexabot, in a prominent location (e.g., in the software's "About" section, documentation, and README file).
|
||||
*/
|
||||
|
||||
|
||||
import { DialogProps } from "@mui/material";
|
||||
import { Dispatch, SetStateAction, useState } from "react";
|
||||
|
||||
export type DialogControlProps<T, C = never> = Omit<
|
||||
DialogControl<T, C>,
|
||||
"openDialog"
|
||||
>;
|
||||
export type DialogControlProps<T> = Omit<DialogControl<T>, "openDialog">;
|
||||
type TCloseDialog = <E extends React.MouseEvent | Event | Object>(
|
||||
e?: E,
|
||||
reason?: "backdropClick" | "escapeKeyDown" | "postDelete",
|
||||
) => void;
|
||||
type TFnVoid<T> = (data?: T) => void;
|
||||
export type DialogControl<T = null, C = never> = DialogProps & {
|
||||
export type DialogControl<T = null> = DialogProps & {
|
||||
data?: T;
|
||||
setData?: Dispatch<SetStateAction<T | undefined>>;
|
||||
callback?: TFnVoid<C>;
|
||||
callback?: TFnVoid<T>;
|
||||
openDialog: TFnVoid<T>;
|
||||
closeDialog: TCloseDialog;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user