Theme

Changelog

All notable changes to DryUI will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • 58 new components (AppBar, Backdrop, ButtonGroup, Calendar, Carousel, Chart, ChatMessage, ChatThread, Chip, ChipGroup, CountrySelect, DateField, DateRangePicker, DateTimeInput, DescriptionList, Fieldset, FlipCard, FormatBytes, FormatDate, FormatNumber, Gauge, Heading, HoverCard, Image, ImageComparison, Kbd, Link, LinkPreview, List, Listbox, LogoCloud, Map, MegaMenu, Menubar, Navbar, NavigationMenu, NotificationCenter, PageHeader, PageLayout, PhoneInput, ProgressRing, PromptInput, RangeCalendar, RelativeTime, SeatMap, SegmentedControl, Sidebar, Sparkline, StatCard, TableOfContents, Text, TimeInput, Timeline, Tree, TypingIndicator, Typography, VideoEmbed, WaveDivider)
  • 56 of 58 include styled UI layer; Heading and Text are primitives-only exports
  • Theme creator tool in docs for building and previewing custom themes with live component vignettes, token editing, export, and URL sharing
  • Shared date utilities extracted to packages/primitives/src/utils/date-utils.ts
  • Spec generator now supports primitives-only components (no UI layer required)
  • New --dry-color-surface-overlay dark theme token

Changed

  • Replaced hardcoded dark-mode overrides with color-mix() for theme-agnostic styling in Alert, Badge, and Progress
  • Replaced hardcoded transition durations with --dry-duration-* tokens across 12+ components
  • --dry-text-base-size changed from 1rem to 1.125rem in default theme
  • Accessibility improvements: added aria-controls to Accordion and Collapsible primitives

[0.0.1] — 2026-03-20

Added

  • Initial release of @dryui/primitives and @dryui/ui
  • 74 headless primitive components with full keyboard and accessibility support
  • Styled UI layer with CSS module theming and --dry-* variable system
  • Three-tier CSS variable architecture: primitive, semantic, and component tokens
  • Light and dark themes with theme-auto system preference support
  • MCP server (@dryui/mcp) with review and diagnose tools
  • CLI (@dryui/cli) for component lookup and validation
  • Documentation site with interactive examples
  • Zero external runtime dependencies — built entirely on native browser APIs