Releases: lofidesigner/hux
🎉 Release v0.23.0: HuxProgress
✨ Added
HuxProgress Component: New linear progress indicator for task completion and status tracking
- Displays progress with smooth animated transitions when value changes
- Support for labels and value display (percentage or custom format)
- Multiple size variants: small, medium, large
- Visual variants: primary, success, destructive
- Customizable colors and background
- Custom min/max value support (defaults to 0.0-1.0)
- Theme-aware styling with automatic light/dark mode adaptation
🔧 Enhanced
- Accessibility: Added HuxTooltip and Semantics wrappers for screen reader and hover accessibility in example app
- Performance: Replaced Future.delayed with cancellable Timer to prevent overlapping callbacks and memory leaks
- Example App: Added interactive ProgressSection demo showcasing all progress variants and sizes
📦 Installation: flutter pub add hux
🔗 Full Changelog: See CHANGELOG.md
v0.18.0: HuxWCAG Utilities & Code Refactoring
🎉 Release v0.18.0
✨ Added
- HuxWCAG Utility: New shared WCAG contrast calculation utilities (
HuxWCAGclass)- Centralized WCAG 2.1 compliant contrast ratio calculations
- Public API for developers to use in custom components
- Proper gamma correction and ITU-R BT.709 coefficients for accurate calculations
- Exported from main library for easy access
- Helper methods:
getContrastingTextColor(),calculateContrastRatio(),getRelativeLuminance(),meetsContrastAA()
🔧 Enhanced
- Code Quality: Major refactoring of WCAG contrast calculations across all components
- Extracted duplicate WCAG code (~150+ lines) into shared
HuxWCAGutility class - Standardized all components to use proper WCAG 2.1 calculation (replaced
computeLuminance()with manual WCAG formula) - Updated components: HuxButton, HuxDropdown, HuxPagination, HuxToggle, HuxCheckbox, HuxBadge
- Improved maintainability with single source of truth for contrast calculations
- Enhanced consistency and accuracy of accessibility calculations
- No breaking changes - all changes are internal improvements
- Extracted duplicate WCAG code (~150+ lines) into shared
📦 Installation: flutter pub add hux
📚 Documentation: https://docs.thehuxdesign.com
🔗 Full Changelog: See CHANGELOG.md
✨ Hux UI v0.12.0 - HuxCommand & Icon Migration
✨ What's New
HuxCommand Component
- Keyboard Shortcuts: Open with CMD+K (Mac) or Ctrl+K (Windows/Linux)
- Real-time Search: Filter commands as you type
- Keyboard Navigation: Arrow keys to navigate, Enter to execute
- Modern Design: 16px border radius with proper hover states
- Global Integration: Easy app-wide shortcuts with HuxCommandShortcuts.wrapper
- Apple Symbols: Native shortcut display (⌘, ⇧, ⌥, ⌃)
Icon Library Migration
Complete migration from Feather Icons to Lucide Icons across all components for better consistency and modern iconography.
Design Token Improvements
Enhanced visual hierarchy with improved border colors and surface transparency.
📦 New Components
HuxCommand- Main command palette widgetHuxCommandItem- Data model for individual commandsHuxCommandShortcuts- Utility for global keyboard shortcuts
Usage Example
// Define your commands
final commands = [
HuxCommandItem(
id: 'toggle-theme',
label: 'Toggle Theme',
description: 'Switch between light and dark mode',
shortcut: '⌘⇧T',
icon: LucideIcons.sun,
category: 'View',
onExecute: () => print('Theme toggled'),
),
HuxCommandItem(
id: 'settings',
label: 'Settings',
description: 'Open application settings',
shortcut: '⌘,',
icon: LucideIcons.settings,
category: 'Preferences',
onExecute: () => print('Settings opened'),
),
];
// Show the command palette
showHuxCommand(
context: context,
commands: commands,
onCommandSelected: (command) => print('Selected: ${command.label}'),
);
// Or wrap your app for global shortcuts
HuxCommandShortcuts.wrapper(
commands: commands,
child: MaterialApp(home: MyHomePage()),
)
⚠️ Breaking Changes
- Icon Library Migration: All
FeatherIconsreferences now useLucideIcons - Dependency Change: Removed
flutter_feather_iconsdependency - Import Updates: Replace
package:flutter_feather_icons/flutter_feather_icons.dartwithpackage:lucide_icons/lucide_icons.dart
Migration Guide
// Before
import 'package:flutter_feather_icons/flutter_feather_icons.dart';
Icon(FeatherIcons.heart)
// After
import 'package:lucide_icons/lucide_icons.dart';
Icon(LucideIcons.heart)
📚 Documentation
Command Component Docs - Complete API reference
Examples - Real-world usage patterns
Full Changelog: https://pub.dev/packages/hux/changelog
Download: flutter pub add hux:^0.12.0
Hux UI v0.4.0 - Major Release
🎉 Hux UI v0.4.0 - Major Release!
This release represents a significant step forward in component consistency, developer experience, and documentation quality.
🚀 What's New
✨ New Components
- HuxDateInput - Date input with automatic formatting and integrated calendar picker
- Auto-inserts slashes during typing (MM/DD/YYYY format)
- Calendar icon that opens date picker overlay directly
- Form validation and error handling
🔄 Enhanced Components
-
HuxButton - Major enhancements for icon-only and width control
- New
HuxButtonWidthenum (hug, expand, fixed) withwidthValueparameter - Icon-only button support with square dimensions and no padding
- Subtle hover states for primary buttons using HuxTokens
- Enhanced button size selector (S, M, L) with compact 40px width buttons
- New
-
HuxDatePicker - Enhanced for text field integration
showTextparameter for icon-only calendar display- Ghost variant support for seamless text field integration
- Compact sizing optimized for suffix icon usage
-
HuxInput - Streamlined and improved (renamed from HuxTextField)
- Consistent icon sizing and padding
- Width parameter for flexible sizing
🔧 Improvements
- Text field sizing simplified from 3 variants to single consistent size
- Height consistency resolved across all input components
- Calendar icon positioning and sizing optimized
- Button hover states refined with proper HuxTokens integration
- Component height alignment between buttons and inputs
�� Documentation
- Complete Mintlify documentation overhaul (100% coverage)
- All component names updated throughout documentation
- New component documentation with comprehensive examples
- Updated examples, quickstart, and installation guides
- All code examples updated to use new component names
⚠️ Breaking Changes
- HuxTextField → HuxInput - Component renamed for better naming consistency
- HuxDateTextField → HuxDateInput - Component renamed for better naming consistency
- HuxTextFieldSize enum removed - Simplified to single consistent input size
🎯 Example App Updates
- Integrated HuxDateInput showcase
- Button size selector redesigned (tabs → compact S/M/L buttons)
- Icon-only button examples
- All text fields updated to use new names and consistent sizing
- Centered layout with 400px width for better presentation
🧪 Testing
- All 22 tests passing
- Updated test files for new component names
- New HuxDateInput test coverage
📦 Package Details
- Version: 0.4.0
- Size: 2 MB
- Platforms: Android, iOS, Web, Windows, macOS, Linux
- Flutter: >=3.16.0
- Dart: >=3.0.0
🚀 Getting Started
flutter pub add huximport 'package:hux/hux.dart';
// New date input
HuxDateInput(
label: 'Select Date',
onDateChanged: (date) => print('Selected: $date'),
)
// Enhanced button with width control
HuxButton(
onPressed: () {},
width: HuxButtonWidth.fixed,
widthValue: 200,
child: Text('Fixed Width'),
)