react-roast-test
Version:
A React widget to get feedback
65 lines (60 loc) • 1.77 kB
TypeScript
import { ReactNode } from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
interface FormDataProps {
message: string;
screenshot: Blob | null;
}
type FormSubmitHandler = (data: FormDataProps) => Promise<boolean>;
interface WidgetCustomizeProps {
form?: {
className?: string;
errorMessage?: string;
successMessage?: string;
submitButton?: {
label?: string;
className?: string;
};
cancelButton?: {
label?: string;
className?: string;
};
messageInput?: {
placeholder?: string;
className?: string;
};
};
island?: {
direction?: "left" | "right";
className?: string;
label?: string;
switchButton?: {
className?: string;
thumb?: {
className?: string;
};
};
};
}
interface BaseWidgetProviderProps {
customize?: WidgetCustomizeProps;
children: ReactNode;
disable?: boolean;
}
interface LocalWidgetProviderProps extends BaseWidgetProviderProps {
mode: "local";
siteId?: never;
onFormSubmit: FormSubmitHandler;
}
interface RemoteWidgetProviderProps extends BaseWidgetProviderProps {
siteId: string;
mode?: "remote";
onFormSubmit?: never;
}
type WidgetProviderProps = LocalWidgetProviderProps | RemoteWidgetProviderProps;
declare const WidgetProvider: ({ children, ...props }: WidgetProviderProps) => react_jsx_runtime.JSX.Element;
declare const useReactRoast: () => {
isWidgetActive: boolean;
toggleWidget: () => void;
avoidElementClassName: string;
};
export { type FormDataProps, type WidgetProviderProps, WidgetProvider as default, useReactRoast };