npm.io
2.1.4 • Published 2 years ago

@types/react-mailchimp-subscribe

Licence
MIT
Version
2.1.4
Deps
1
Size
5 kB
Vulns
0
Weekly
0
Stars
51.4K

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 0939 GMT
  • Dependencies: @types/react

Credits

These definitions were written by Omar Diab.