Changelog
View SourceAll notable changes to Sutra UI will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.2.0] - 2026-01-06
Added
- input: Support for
type="switch"- renders checkbox withrole="switch"and proper styling - input: Support for
type="range"- delegates to Slider component with visual fill - tab_nav: Full ARIA tablist pattern with
role="tablist",role="tab",aria-selected - tab_nav: Keyboard navigation (ArrowLeft/Right, Home, End) with roving tabindex
- tooltip:
aria-describedbylinking between trigger and tooltip content - tooltip:
role="tooltip"on tooltip content element - tooltip: Escape key dismisses tooltip
- carousel:
aria-live="polite"region announces slide changes to screen readers - breadcrumb: Visible focus styles with
focus-visible:ring
Changed
- dialog: Converted from native
<dialog>element to div-based overlay for screen sharing compatibility (Zoom, Meet, etc.) - dialog: Now uses
showattribute for server-controlled visibility (recommended pattern) - dialog: Uses
focus_wrapfrom Phoenix.Component for focus management - input: Delegates
type="checkbox"toSutraUI.Checkbox - input: Delegates
type="textarea"toSutraUI.Textarea - input: Delegates
type="switch"toSutraUI.Switch - input: Delegates
type="range"toSutraUI.Slider - tooltip: Changed from CSS
::beforepseudo-element to real<span role="tooltip">element
Breaking Changes
- dialog: API changed - use
show={@show_dialog}andon_cancel="event"pattern instead of JS-only control - tab_nav: Now requires
idattribute (needed for keyboard navigation hook) - tooltip: CSS selector changed from
[data-tooltip]to.tooltip-trigger .tooltip-content
Fixed
- dialog: Now visible during screen sharing (native
<dialog>top-layer was invisible in Zoom/Meet) - tab_nav: Now properly accessible with screen readers (was missing tablist semantics)
- tooltip: Screen readers now announce tooltip content via
aria-describedby - carousel: Screen readers now announce slide changes
- breadcrumb: Keyboard users can now see focus indicator on links
[0.1.0]
Added
- Initial release with 43 components
- Foundation: button, badge, spinner, kbd
- Form Controls: input, textarea, checkbox, switch, radio_group, select, slider, range_slider, live_select, field, simple_form, input_group, filter_bar, label
- Layout: card, header, table, item, sidebar
- Feedback: alert, progress, skeleton, empty, loading_state, toast, flash
- Overlay: dialog, popover, tooltip, dropdown_menu, command
- Navigation: tabs, accordion, breadcrumb, pagination, nav_pills, tab_nav
- Display: avatar, carousel, theme_switcher
- CSS variables for theme customization (compatible with shadcn/ui themes)
- Dark mode support
- Colocated JavaScript hooks
- Full accessibility (ARIA) support
- Tailwind CSS v4 compatibility
- Zero external icon dependencies - components use inline SVGs
usage_rules.mdfor AI assistant guidance