payload-plugin-newsletter
Version:
Complete newsletter management plugin for Payload CMS with subscriber management, magic link authentication, and email service integration
75 lines (64 loc) • 2.3 kB
TypeScript
import { UIFieldClientComponent } from 'payload';
import React from 'react';
declare const BroadcastInlinePreview: UIFieldClientComponent;
interface BroadcastInlinePreviewProps {
data?: any;
field?: any;
path?: string;
schemaPath?: string;
}
interface StatusBadgeProps {
cellData?: string;
rowData?: any;
}
declare const StatusBadge: React.FC<StatusBadgeProps>;
interface EmailPreviewProps {
content?: any;
subject?: string;
preheader?: string;
}
declare const EmailPreview: React.FC<EmailPreviewProps>;
declare const WebhookConfiguration: React.FC;
/**
* Field component that shows scheduling controls based on broadcast status
*
* For email-only broadcasts: Shows Schedule button for drafts, Cancel button for scheduled
* For website broadcasts: Shows informational message about unified scheduling via Payload's Schedule Publish
*/
declare const BroadcastScheduleField: React.FC;
/**
* Field component that displays provider sync status with retry functionality.
* Shows a warning banner when sync has failed and allows manual retry.
*/
declare const SyncStatusField: React.FC;
interface BroadcastScheduleButtonProps {
broadcastId: string;
sendStatus?: string;
providerId?: string;
}
/**
* Button to open the schedule modal for a broadcast
* Only shows for draft broadcasts that have been synced to the provider
*/
declare const BroadcastScheduleButton: React.FC<BroadcastScheduleButtonProps>;
interface CancelScheduleButtonProps {
broadcastId: string;
sendStatus?: string;
scheduledAt?: string;
}
/**
* Button to cancel a scheduled broadcast
* Only shows for broadcasts with 'scheduled' status
*/
declare const CancelScheduleButton: React.FC<CancelScheduleButtonProps>;
interface ScheduleModalProps {
broadcastId: string;
onScheduled?: () => void;
onClose: () => void;
}
/**
* Modal for scheduling a broadcast
* Uses native HTML date-time inputs for compatibility
*/
declare const ScheduleModal: React.FC<ScheduleModalProps>;
export { BroadcastInlinePreview, type BroadcastInlinePreviewProps, BroadcastScheduleButton, BroadcastScheduleField, CancelScheduleButton, EmailPreview, type EmailPreviewProps, ScheduleModal, StatusBadge, type StatusBadgeProps, SyncStatusField, WebhookConfiguration };