stone-kit
Version:
uikit for redesign
61 lines (60 loc) • 2.11 kB
TypeScript
interface IModalFormProps {
isFormOpen: boolean;
setIsFormOpen: (isOpen: boolean) => void;
submitHandler: (data: IFormPageInputs) => void;
blurHandler?: ({ e, analyticParams }: {
e: unknown;
analyticParams: {
action_element: string;
action_element_status: 'error' | 'success';
block_name?: string;
};
}) => void;
handlerButton?: () => void;
modalWidth?: string;
isPhone?: boolean;
title: string;
isEmail?: boolean;
telegramLink?: string;
isTextArea?: boolean;
subTitle: string;
advCheckBox?: {
text: string;
isRequired: boolean;
} | undefined | null;
textAreaPlaceholder?: string;
rowsTextArea?: number;
isRequiredPhone?: boolean;
isNews?: boolean;
isRequiredEmail?: boolean;
isRequiredPhoneOrEmail?: boolean;
isAdvCheckBox?: boolean;
telegramClickHandler?: () => void;
addTitleClassName?: string;
block_name?: string;
createPortalObj?: {
domNode: HTMLElement | null;
key?: string | null | undefined;
};
policiesMap?: Record<DocumentSlug, string>;
emitCheckBox?: () => void;
emitAdvCheckBox?: () => void;
}
type DocumentSlug = string;
type IFormPageInputs = {
phone: string;
name: string;
email?: string;
personalCheckBox: boolean;
advCheckBox?: boolean;
textarea?: string;
'policy-slug': string;
};
export declare enum POLICY_TYPE {
PRIVACY_POLICY = "privacy-policy",
PERSONAL_DATA = "personal-data",
MAILING = "mailing",
STONE_VALUE = "stone-value"
}
export declare const ModalForm: ({ isFormOpen, setIsFormOpen, isNews, title, isEmail, isPhone, isTextArea, telegramLink, isRequiredPhone, isRequiredEmail, isRequiredPhoneOrEmail, textAreaPlaceholder, subTitle, submitHandler, modalWidth, rowsTextArea, advCheckBox, isAdvCheckBox, addTitleClassName, createPortalObj, telegramClickHandler, blurHandler, handlerButton, block_name, policiesMap, emitCheckBox, emitAdvCheckBox, }: IModalFormProps) => import("react/jsx-runtime").JSX.Element | null;
export {};