Welcome to Vanilla Breeze
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
This bell pulls live notifications from /go/notify/messages — the same contract documented at /docs/concepts/service-contracts/. Static articles like this one are the no-JS / no-backend fallback.
Interactive themes × quarters product roadmap. Auto-discovers lane sections + initiative articles; editable mode wires drag-to-reschedule, drag-to-resize, and drop-on-lane.
The <product-roadmap> component renders a horizontal time axis (quarters or months) with one swimlane per <section data-lane>. Each <article data-start data-end> inside a lane becomes a status-coded bar spanning its date range.
Distinct from <gantt-chart>: roadmap is theme-centric (initiatives in lanes, status as enum, no dependency arrows). Gantt is task-scheduling. Use roadmap for quarterly product roadmaps; gantt for project plans.
The component reads its content from authored HTML — no JSON config required. Lanes are <section data-lane>; initiatives are <article data-start data-end> inside a lane:
<product-roadmap start="2026-Q3" end="2027-Q2" today-marker> <section data-lane="Platform"> <article data-start="2026-Q3" data-end="2026-Q4" data-status="in-progress"> <h3>Multi-tenant database</h3> </article> <article data-start="2027-Q1" data-end="2027-Q2" data-status="planned"> <h3>Edge cache layer</h3> </article> </section> <section data-lane="Growth"> <article data-start="2026-Q4" data-end="2027-Q1" data-status="planned"> <h3>Onboarding rewrite</h3> </article> </section></product-roadmap>
Dates accept ISO 8601 (2026-07-01) or quarter shorthand (2026-Q3). For data-end, quarter shorthand resolves to the last day of the quarter.
Set data-status on each initiative to drive the bar color. Recognized values:
planned — info bluein-progress — accentat-risk — warning ambershipped — success greenblocked — danger redCustom statuses fall back to the default accent. Override --color-accent or per-status tokens to retheme.
Add the editable attribute to enable interactive editing:
view="month"); fires product-roadmap:reschedule; updates data-start/data-end on both the rendered bar AND the source <article>.product-roadmap:resize.<article>; fires product-roadmap:move.product-roadmap:select with full detail.Add today-marker to render a vertical line at the current date if it falls within the visible range. Useful for "where are we now in the year" context.
<article> headings would flash before upgrade). Authors who need a visible no-JS fallback should render a sibling table or list.:not(:defined) selector keeps the host visible pre-upgrade.data-start/data-end attributes for screen-reader-driven editing).<gantt-chart> — Task-level scheduling with dependencies.<burndown-chart> — Sprint progress at the day-level.<iron-triangle> — Sprint capacity / scope / time visualization.