Skip to content

Releases: lofidesigner/hux

🎉 Release v0.23.0: HuxProgress

20 Dec 12:13

Choose a tag to compare

✨ 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

📚 Documentation

🔗 Full Changelog: See CHANGELOG.md

v0.18.0: HuxWCAG Utilities & Code Refactoring

01 Nov 12:18

Choose a tag to compare

🎉 Release v0.18.0

✨ Added

  • HuxWCAG Utility: New shared WCAG contrast calculation utilities (HuxWCAG class)
    • 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 HuxWCAG utility 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

📦 Installation: flutter pub add hux
📚 Documentation: https://docs.thehuxdesign.com
🔗 Full Changelog: See CHANGELOG.md

✨ Hux UI v0.12.0 - HuxCommand & Icon Migration

07 Oct 17:06

Choose a tag to compare

✨ 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 widget
  • HuxCommandItem - Data model for individual commands
  • HuxCommandShortcuts - 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 FeatherIcons references now use LucideIcons
  • Dependency Change: Removed flutter_feather_icons dependency
  • Import Updates: Replace package:flutter_feather_icons/flutter_feather_icons.dart with package: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

17 Aug 18:14

Choose a tag to compare

🎉 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 HuxButtonWidth enum (hug, expand, fixed) with widthValue parameter
    • 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
  • HuxDatePicker - Enhanced for text field integration

    • showText parameter 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 hux
import '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'),
)