Changelog
All notable changes to AniUI.
v0.2.272026-05-08
Windows Path Fix#
v0.2.262026-05-08
SegmentedControl Dark-Mode Contrast#
v0.2.252026-05-07
NativeWind v5 Crash Fix & Calmer Animations#
- fixNumberInput: works around a NativeWind v5 preview cssInterop bug that crashed with 'path.split is not a function' when text-center was used on a TextInput. Center alignment is now passed via the textAlign prop instead of a className.
- fixAnimation presets: zoomIn (used by AlertDialog) and fadeInDown/fadeInUp (used by Accordion and Collapsible) no longer overshoot. Dropped springify() in favor of a clean ease-out so dialogs and expanding content settle without bounce. Toast and ConnectionBanner keep their springy feel — bounce there reads as attention.
- fixSegmentedControl: bumped the dark-mode active segment background from #27272a to #37373a so it visibly elevates above the muted track instead of blending in.
v0.2.242026-05-07
iOS Dark Mode Sweep & Generic SegmentedControl#
- fixSwitch: thumb is no longer invisible on iOS in dark mode. iOS thumbColor was previously gated to Android-only, leaving a white thumb on a near-white ON track. Thumb now derives from value across both platforms.
- breakingSwitch: renamed thumbColorAndroid prop to thumbColor (now applies to both platforms).
- fixBottomSheet: sheet body and handle indicator now adapt to dark mode (was hardcoded #ffffff, making content unreadable on iOS dark).
- fixActionSheet: same dark-mode background fix as BottomSheet.
- fixSegmentedControl: active segment background and label colors now adapt to dark mode (active was hardcoded #ffffff and disappeared into bg-muted).
- fixInfiniteList: footer ActivityIndicator color now flips with the color scheme (was hardcoded dark, invisible on dark backgrounds).
- fixSpinner: default color now adapts to dark mode when the color prop is not supplied.
- fixTextInput components (Input, Textarea, PasswordInput, SearchBar, InputOTP, MaskedInput, PhoneInput, NumberInput, Combobox, Select): added keyboardAppearance, selectionColor, and cursorColor so the iOS keyboard matches the theme and the caret stays visible against dark input backgrounds.
- featSegmentedControl: now generic over T extends string | number — binds cleanly to enums and string unions. options accepts T[] (with optional parallel labels?: string[]) or { value, label?, disabled? }[] for unambiguous i18n pairing.
- fixSegmentedControl: long i18n labels are now truncated to one line so layout stays stable across locales. onValueChange no longer fires when re-tapping the already-selected segment. className prop now merges with internal classes via cn() instead of being silently dropped.
v0.2.222026-04-20
CLI Docs Sync, A11y Fixes & ESLint#
- docsCLI docs page synced with actual --help output (5 missing commands added: add-block, doctor, status, diff, update)
- fixTabs: switched TabsContent from accessibilityRole='tabpanel' (not in RN's AccessibilityRole union) to role='tabpanel' (RN 0.83+ Role union)
- fixThemeProvider: added missing useEffect dependencies (defaultTheme, applyTheme) to satisfy react-hooks/exhaustive-deps
v0.2.212026-04-19
CLI Bug Fix, SEO Overhaul & Premium Homepage#
- fixCLI: fixed Cannot find module package.json crash when running via npx (compiled path resolution bug)
- fixCLI: extracted shared getCliPackage() utility to resolve package.json from both source and dist paths
- fixSEO: OpenGraph URL fixed from relative './' to absolute 'https://aniui.dev'
- featSEO: OG image and Twitter image configured for rich social sharing previews
- featSitemap: added 22 missing pages (15 blocks + 7 charts) for full search engine coverage
- docs82 unique SEO descriptions for component pages — 'AniUI Button — pressable with 5 variants...' format
- docsllms.txt: added Charts (7), Blocks (15), and Why AniUI sections for LLM discoverability
- featHomepage: premium hero with dot pattern background, larger typography, GitHub star button, and 89+ badge
- fixProps table: added break-words to Default column to prevent overflow on narrow screens
v0.2.202026-04-19
Tabs Rewrite, SEO Metadata, Anchor Links & Bug Fixes#
- featTabs: rewritten with filled/line variants, sm/md/lg sizes, vertical orientation, disabled, icons, and RTL support
- featSEO: added layout.tsx with title and description metadata to all 82 missing doc pages
- featAnchor links: all 673 headings across 93 doc pages now have auto-generated IDs and clickable # links
- featHeading component: reusable component with slugify, scroll-mt-20 offset, and hover # indicator
- featHash navigation: URLs like /docs/chip#closable now smooth-scroll to the section
- featShared constants.ts: single source of truth for component count and site metadata
- fixTabs: added will-change-variable to prevent NativeWind v5 state reset warning
- fixRefreshControl: theme-aware tintColor via useColorScheme, overridable via props
- fixStale counts fixed: MCP page (48), docs intro (81), preview-toggle (81), CLI README (81) all updated to 89
- fixCard layout.tsx: title corrected from lowercase to capitalized
- docsTabs docs: 7 interactive preview sections (filled, line, vertical, disabled, icons, sizes, RTL)
- docsTabs examples: full 7-section demos in all 4 example apps using actual Tabs component
- docsDocs root layout description updated to 89 components
v0.2.192026-04-17
Animate Presets, Data Table, Command Menu & CLI Smart Updates#
- featAnimate: spring presets, layout animations, easing curves, usePressAnimation hook for Reanimated 4
- featData Table: sortable columns, search filtering, pagination, custom cell rendering, striped rows
- featCommand Menu: Spotlight-style searchable palette with groups, keyboard shortcuts, disabled items
- featCLI: aniui status, aniui diff, aniui update commands with component manifest tracking
- featCLI: add command now writes version + hash to .aniui.json for smart update detection
- fixData Table: replaced FlatList inside ScrollView with plain View rows, fixed column alignment with minWidth
- fixTests: added 9 test suites (32 tests) for all new components; excluded animate from component pattern tests
- fixMCP registry synced from 57 to 89 entries to match CLI registry
- docsNew doc pages with interactive previews for Animate, Data Table, and Command Menu
- docsData Table docs: live previews for sorting, search, pagination, custom cell, and striped sections
- docsComponent count updated to 89 across docs, README, llms.txt, .cursorrules, and all examples
- docsFull demos (6 sections each) for Data Table and Command Menu in all 4 example apps
v0.2.182026-04-15
New Components, RTL Support & Input Group Rewrite#
- featField component: layout-focused form field with label, description, and error slots
- featInput Group component: rewritten with focus-aware container, CVA button variants, and textarea support
- featKbd component: keyboard key display with size variants and KbdGroup separator
- featHover Card component: preview content triggered by long-press, built on @rn-primitives/hover-card
- featDirection Provider component: RTL/LTR context with I18nManager integration and useDirection hook
- featCombobox: multi-select with chips, groups, clear button, custom rendering, invalid/disabled/auto-highlight/popup mode
- featRTL guide with interactive language selector, logical properties table, and component support matrix
- fixRTL: migrated 16 components from physical (ml-/mr-/border-l/right-) to logical (ms-/me-/border-s/end-) properties
- fixAdded @rn-primitives/hover-card to all example package.json files
- docsNew doc pages for Field, Input Group, Kbd, Hover Card, Direction Provider, and RTL guide
- docsComponent count updated to 89 across all docs, README, llms.txt, and examples
- docsFull demos for all 5 new components added to all 4 example apps
v0.2.172026-04-13
Syntax Highlighting + Bug Fixes#
- featDocs: syntax highlighting for all code blocks via shiki (server-side, zero client JS)
- featDocs: MDX infrastructure — pages can now be authored in MDX with auto-highlighted fenced code blocks
- featDocs: all 78 doc pages converted to server components for faster loads
- fixSwitch: hardcoded light-only colors replaced with dark mode support via useColorScheme()
- fixSwitch: added trackColorOff, trackColorOn, thumbColorAndroid props for custom theming
- fixog:url meta tag now reflects the current page URL instead of always pointing to the homepage
- docsllms.txt updated from 48 to 82 components to match full registry
v0.2.142026-04-06
Uniwind Support + Universal Theming#
- featFull Uniwind styling engine support — same components work with NativeWind and Uniwind
- featUniwind dark mode via @layer theme + @variant light/dark in global.css
- featCLI init generates correct Uniwind config: metro.config.js, global.css, @import "uniwind"
- featCLI doctor validates Uniwind-specific setup (withUniwindConfig, @variant dark, @import)
- featTheme presets (default, blue, green, orange, rose) now apply to both light and dark variants
- featwithUniwind() HOC for third-party components like SafeAreaView
- featreact-native-svg added as core dependency for inline SVG icons in components
- featwith-uniwind example app with 77 interactive component demos and theme toggling
- fixfile-picker.tsx: replaced inline <svg> (crashes on RN) with react-native-svg
- fixcalendar.tsx, password-input.tsx, select.tsx: compacted SVG icons to meet 120-line limit
- fixBare <Text> tags in example app now have text-foreground class for proper theming
- fixreact-native-svg pinned to 15.15.3 across all example apps
- fixpackage-lock.json synced to fix npm ci failures in CI
- docsDark mode guide updated with Uniwind section (@variant light/dark + Uniwind.setTheme())
- docsInstallation guide updated with react-native-svg in all install commands
v0.2.132026-03-26
Expo 55 + NativeWind v5 Support#
- featDual SDK support: Expo 53/54 (NativeWind v4) + Expo 55 (NativeWind v5)
- featCLI auto-detects SDK version during aniui init
- featVersioned templates (v4/ and v5/) for each SDK generation
- featexpo-55-starter example app with NativeWind v5 + Tailwind v4
- featReact Native Testing Library render tests for all 54 components
- docsCompatibility guide with version matrix and migration steps
- docsChangelog page
v0.2.122026-03-25
Charts + Input Enhancement#
- feat7 chart components: Area, Bar, Line, Pie, Radar, Radial, Tooltip
- featCharts landing page with live previews and horizontal tabs
- featInput: leadingIcon and trailingIcon props
- featExpanded static test suite (824 tests)
- featMCP integration and documentation
v0.2.112026-03-20
Bare React Native Support#
- featBare React Native CLI support in aniui init
- featMetro + Babel templates for bare RN projects
- featbare-rn-starter example app
v0.2.102026-03-19
Full Component Library#
- feat18 new components (47 total)
- featRedesigned homepage with live theme preview
- featCreate page with theme editor
- featBlocks: 15 pre-built screen templates
- featShared nav data and theme data system
v0.2.92026-03-16
Initial Release#
- feat29 components across 3 tiers
- featCLI with init, add, theme, mcp, and generate commands
- featTheme system with 5 presets and dark mode
- featMCP server for AI tool integration
- featDocumentation site at aniui.dev
