Adds live-class session scheduling on lessons (join link, date/time, timezone) with automatic 24h and 1h reminder emails plus a calendar invite (.ics), a time-change notification with an updated invite, a teacher-authored welcome email and session invite on enrollment, and a "Notify students" quiz nudge. LMS gets an upcoming live-sessions card and Join buttons, plus a reusable live-session card component (3 states) in @cio/ui with a Storybook story. The sidebar content tree now reflects sequential progression locking like the content list, and the course-completion confetti regression is fixed. Org-based emails no longer reference ClassroomIO by name. Docs add live-class, welcome-email, and course-progression guides, expand the certificates guide (design, signatures, corrected labels), move plan-required callouts to the top, flatten how-to-guides to the docs root with redirects, and add screenshots. Includes an add-docs-image skill.
41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
/**
|
|
* @cio/email - Unified Email Package
|
|
*
|
|
* Declarative schema-only email system with unified send() API
|
|
*
|
|
* @example
|
|
* ```ts
|
|
* import { sendEmail } from '@cio/email';
|
|
*
|
|
* await sendEmail('forgotPassword', {
|
|
* to: 'user@example.com',
|
|
* fields: {
|
|
* name: 'John Doe',
|
|
* email: 'user@example.com',
|
|
* link: 'https://app.classroomio.com/reset?token=abc123'
|
|
* }
|
|
* });
|
|
* ```
|
|
*/
|
|
|
|
// Pre-import all emails to register them in the registry
|
|
import './emails/index';
|
|
|
|
// Export unified API
|
|
export { sendEmail, defineEmail } from './send';
|
|
|
|
// Export types for advanced usage
|
|
export type { EmailTemplate, EmailDefinition, SendConfig, DefineEmailConfig } from './core/types';
|
|
export type { EmailId, EmailSchemaFor } from './utils/types';
|
|
|
|
// Re-export low-level utilities
|
|
export { deliverEmail } from './send';
|
|
export { buildEmailFromName } from './utils/functions/email-helpers';
|
|
export { getDefaultTemplate } from './templates/default';
|
|
export { buildEmailBranding, resolveThemeColor, ZEmailBranding } from './core/branding';
|
|
export { buildSessionIcs, type SessionIcsInput } from './ics';
|
|
export type { EmailBranding } from './core/branding';
|
|
|
|
// Export email registry for introspection (optional)
|
|
export { EmailRegistry } from './core/registry';
|