@types/react-mailchimp-subscribe
TypeScript icon, indicating that this package has built-in type declarations

2.1.4 • Public • Published

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

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

Credits

These definitions were written by Omar Diab.

Readme

Keywords

none

Package Sidebar

Install

npm i @types/react-mailchimp-subscribe

Weekly Downloads

9,112

Version

2.1.4

License

MIT

Unpacked Size

5.3 kB

Total Files

5

Last publish

Collaborators

  • types