ns-ui

Newsletter Cadence Rail

A newsletter capture whose headline element is a mono day-rail showing the publication's actual rhythm — six weeks of days, an issue mark every interval, a caret on today — so before typing anything you know exactly how often it lands and when the next one is.

Use when a newsletter/subscribe block where the publication's rhythm is the persuasion — the reader should be able to count the gap between issue marks and see the next date before deciding — rather than a generic 'join 5,000 readers' field; pick contact-form-teletype instead when the fill itself needs an honest running validation log, or schedule-ascii-freebusy when the subject is availability within a week rather than a repeating publication interval.

Install

npx shadcn add https://design.helpmarq.com/r/newsletter-cadence-rail.json
View source and playground

ns-ui / newsletter-cadence-rail

Baseline

A fortnightly letter on interface craft, written by the people shipping it.

issue #48 shipped 4 days ago · next issue Fri 14 Aug · every 14 days

The rail is six weeks of days at one character each — a dot per ordinary day, a bar on every issue day, the accent block on today. Count the gap between bars and you have read the cadence before typing anything.

Props

PropTypeDefaultDescription
anchorISOstringany known past issue date, ISO (YYYY-MM-DD). Anchors the whole cadence.
intervalDays?numberdays between issues. Default 14.
issues?NewsletterIssue[]recent issues, newest first — rendered as a short archive list
onSubmit?(email: string) => void
className?string