@types/react-mailchimp-subscribe
Version:
TypeScript definitions for react-mailchimp-subscribe
69 lines (51 loc) • 2 kB
Markdown
# Installation
> `npm install --save @types/react-mailchimp-subscribe`
# Summary
This package contains type definitions for react-mailchimp-subscribe (https://revolunet.github.io/react-mailchimp-subscribe/).
# Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-mailchimp-subscribe.
## [index.d.ts](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-mailchimp-subscribe/index.d.ts)
````ts
import { Component, ReactNode } from "react";
// A few common set of form fields, based on defaults in Mailchimp's website
export interface EmailFormFields {
EMAIL: string;
}
export interface NameFormFields extends EmailFormFields {
FNAME: string;
LNAME: string;
}
export interface ClassicFormFields extends NameFormFields {
"BIRTHDAY[month]": number;
"BIRTHDAY[day]": number;
}
// library default form just sends EMAIL
export type DefaultFormFields = EmailFormFields;
export interface ErrorResponseArgs {
status: "error";
message: string | Error;
}
export interface SuccessResponseArgs {
status: "success";
message: string;
}
export type ResponseArgs = ErrorResponseArgs | SuccessResponseArgs;
export interface PendingArgs {
status: "sending" | null;
message: null;
}
export interface SubscribeArg<FormFields> {
subscribe: (data: FormFields) => void;
}
export type FormHooks<FormFields> = SubscribeArg<FormFields> & (ErrorResponseArgs | SuccessResponseArgs | PendingArgs);
export interface Props<FormFields> {
render?: ((hooks: FormHooks<FormFields>) => ReactNode) | undefined;
url: string;
}
export default class MailchimpSubscribe<FormFields = DefaultFormFields> extends Component<Props<FormFields>> {}
````
### Additional Details
* Last updated: Tue, 07 Nov 2023 09:09:39 GMT
* Dependencies: [@types/react](https://npmjs.com/package/@types/react)
# Credits
These definitions were written by [Omar Diab](https://github.com/osdiab).