nebux_design_system 0.1.17
nebux_design_system: ^0.1.17 copied to clipboard
A comprehensive Flutter design system package that provides consistent theming, typography, spacing, and UI components for Nebux applications.
0.1.17 - 2026-02-16 #
- FIX: Forward
requiredErrorMessagetocustomValidatorwhen field is empty and required- Previously,
inputValidatorreturnedrequiredErrorMessageearly without callingcustomValidator, preventing external error notifiers from capturing required-field errors - Now calls
customValidator(requiredErrorMessage)before returning, allowing consumers to handle the required error externally (e.g., shadow-style inputs withInputExternalErrorWidget)
- Previously,
0.1.16 - 2026-02-16 #
- NEW FEATURE: Added
showErrorText,customValidator, and border customization options toNbxCountryPickerInput- Introduced
showErrorTextparameter to control error message visibility in country picker input - Added
customValidatorcallback for custom validation logic - Added border customization support for greater styling flexibility
- Introduced
0.1.15 - 2026-02-15 #
-
NEW FEATURE: Added
showErrorTextparameter toNbxInputParametersto control error message visibility- Introduced
showErrorTextboolean parameter (defaults totrue) inNbxInputParameters - When set to
false, hides the error text below input fields while preserving validation behavior - Updated
NbxInputDecorationExtensionto conditionally apply error text style based on the parameter
- Introduced
-
ENHANCEMENT: Enhanced letter validation to include accented characters
- Updated
TextValidationRules.onlyLettersregex to support accented characters (ñ, á, é, í, ó, ú, ü and their uppercase variants) - Improved input validation for Spanish and other Latin-based language inputs
- Updated
-
CI/CD: Added GitHub Actions for automated CI, release and publishing
ci.yml: runsflutter analyzeandflutter teston PRs to main/developrelease.yml: creates git tag and GitHub Release on PR merge to mainpublish.yml: publishes to pub.dev via OIDC (workflow_dispatch)- Excluded
country_picker_pro2andexamplefrom static analysis
-
DOCS: Rewrote README with concise documentation and all current components
-
CHORE: Improved pub.dev score (130 → 160)
- Added
example/example.dartwith a complete usage sample - Updated
google_fontsfrom^6.2.1to^8.0.1 - Updated
tomlfrom^0.16.0to^0.18.0 - Bumped minimum Dart SDK to
^3.9.0and Flutter to>=3.29.0 - Removed orphan file
country_json copy.dartwith invalid naming
- Added
0.1.13 - 2025-12-03 #
- NEW FEATURE: Added
onBeforeOpencallback toNbxCountryPickerInput- Introduced
onBeforeOpenasync callback to validation before opening the country picker - Updated
_openCountryPickerto await the callback result
- Introduced
0.1.12 - 2025-12-01 #
-
NEW FEATURE: Enhanced country selection functionality with custom country list support
- Added
getCountriesByCodesmethod inCountryProviderto retrieve countries based on a list of country codes - Updated
countrySelector,CountryListView, andshowCountryListViewto accept a custom list of countries for improved flexibility - Modified
NbxCountryPickerModalParametersto include acountriesparameter, allowing for custom country lists in the picker - Adjusted validation logic to ensure compatibility between custom countries and other parameters
- Enhanced country picker functionality with better customization options
- Added
-
REFACTOR: Removed
countryPreferredparameter and updated documentation for country selection- Removed the
countryPreferredparameter fromcountrySelector,CountryListView, and related components to streamline the country selection process - Updated documentation to reflect the new
countriesparameter, allowing for custom country lists instead of preferred countries - Adjusted related code to ensure compatibility with the updated country selection logic
- Improved API consistency by consolidating country selection parameters
- Removed the
0.1.11 - 2025-11-29 #
-
NEW FEATURE: Added
maxLinesparameter toNbxCountryPickerInputandNbxCountryPickerParameters- Introduced optional
maxLinesparameter inNbxCountryPickerParametersto control the maximum number of lines for the input field - Updated
NbxCountryPickerInputto utilize themaxLinesparameter, enhancing input flexibility - Adjusted
NbxTextFormFieldWidgetto reflect the newmaxLinesproperty in its text display - Improved country picker input customization options
- Introduced optional
0.1.9 - 2025-11-24 #
-
NEW FEATURE: Added
findByPhoneCodemethod toCountryProviderfor enhanced country selection- Implemented method to retrieve a country based on its phone code
- Returns
nullif no matching country is found, improving error handling - Enhanced country picker functionality with better phone code lookup capabilities
-
REFACTOR: Enhanced
NbxButtonwidget structure and documentation- Improved widget properties and methods organization for better clarity and maintainability
- Updated documentation comments following custom doc template for clearer parameter descriptions
- Introduced helper methods to streamline button style and content building
- Removed legacy constructor to simplify API and encourage use of configuration classes
- Enhanced code readability and maintainability
-
REFACTOR: Simplified
NbxAppBarlayout and improved title rendering- Removed leading button logic from app bar for cleaner architecture
- Adjusted title spacing based on presence of leading button in
appBarConfig - Updated title widget to conditionally include leading button within a Row for better layout management
- Improved component structure and predictability
-
FIX: Updated font sizes and weights in
NebuxTypographyfor consistency- Adjusted font sizes for content, caption, heading, and section styles to align with design specifications
- Updated documentation comments to reflect new font sizes and weights
- Improved typography consistency across the design system
-
ENHANCEMENT: Improved
NbxPhoneFieldWidgetlayout- Adjusted
crossAxisAlignmentfromstarttoendfor improved visual alignment - Enhanced layout consistency in phone input fields
- Adjusted
-
CHORE: Updated repository links in
pubspec.yamlto reflect new ownership- Changed homepage, repository, and issue tracker URLs to point to new GitHub account
- Updated package metadata for better maintainability
-
CHORE: Updated package dependencies
- Added
app_shimmerpackage as transitive dependency inpubspec.lock - Updated local package version references
- Added
0.1.7 - 2025-01-27 #
- FIX: Updated package dependencies and version constraints
- Fixed
app_shimmerdependency to use proper version constraint (^1.0.0) - Bumped package version to 0.1.7 for proper publishing sequence
- Improved package stability and dependency management
- Fixed
0.1.6 - 2025-01-27 #
- FIX: Updated package dependencies and version constraints
- Fixed
app_shimmerdependency to use proper version constraint (^1.0.0) - Bumped package version to 0.1.6 for proper publishing sequence
- Improved package stability and dependency management
- Fixed
0.1.4 - 2025-10-06 #
- REFACTOR: Chip configuration and list tile integration
- Added
ChipConfigutility to centralize chip parameters (label, labelStyle, colors, density, onTap) - Updated internal components to consume
ChipConfigfor improved reusability and maintainability - Refactored
AppListTileWithChipto remove chip-specific parameters and accept aChipConfig - Improved documentation consistency using the custom doc template
- No breaking API changes; backwards-compatible migration path provided via config object
- Added
0.1.3 - 2025-01-27 #
- FIX: Updated
NbxAppBarto automatically imply leading button for better Material Design compliance- Fixed
automaticallyImplyLeadingbehavior to properly handle leading button display - Refactored
NbxScaffolddecoration property for improved customization options - Enhanced component consistency with Material Design guidelines
- Fixed
0.1.2 - 2025-01-27 #
- REFACTOR: Enhanced
NbxAppBarcomponent with improved leading button handling- Refactored leading button logic for better clarity and maintainability
- Changed default
centerTitlebehavior fromtruetofalseinAppBarConfigfor better alignment with Material Design guidelines - Improved
titleSpacinglogic to properly handle cases when no leading button is present - Set
automaticallyImplyLeadingtofalsefor more predictable behavior - Enhanced code organization by extracting leading button building logic
0.1.0 - 2025-09-30 #
- NEW FEATURE: Enhanced Country model with
minLengthandmaxLengthproperties for improved phone number validation- Added
minLengthproperty to Country model for minimum phone number length validation - Added
maxLengthproperty to Country model for maximum phone number length validation - Updated country JSON data to include length validation information
- Improved country picker functionality with better phone number validation support
- Enhanced user experience with more accurate phone number input validation
- Added
0.0.13 #
- REFACTOR:
NbxAppBarimprovements for clarity and predictable spacing- Adjusted
titleSpacinglogic to better align with MaterialAppBarexpectations - Simplified status bar brightness handling by removing redundant branches
- Minor cleanups for readability and consistency
- Adjusted
0.0.12 #
- BREAKING CHANGE: Refactored
NbxButtoncomponent architecture for improved modularity and maintainability- Introduced configuration-based architecture with specialized config classes:
ButtonIconConfig: Manages icon properties (leading/trailing icons and colors)ButtonStyleConfig: Handles visual styling (variant, colors, border radius, text style)ButtonStateConfig: Controls state management (loading, enabled, selected)ButtonLayoutConfig: Manages layout properties (expansion behavior)
- Added new constructor with configuration objects for better organization
- Maintained backward compatibility with
NbxButton.legacy()constructor - Improved code organization by reducing main widget from 275 lines to ~100 lines
- Enhanced testability with isolated configuration classes
- Increased component reusability through modular configuration system
- Better separation of concerns with dedicated config files
- Added comprehensive documentation following custom doc format
- Improved maintainability with isolated change impact
- Introduced configuration-based architecture with specialized config classes:
0.0.11 #
- REFACTOR: Enhanced
NbxButtonrendering logic with improved clarity and modularity- Introduced dedicated
_buildTextWidgetmethod to handle text rendering based on button variant - Simplified button child widget construction by consolidating text and icon handling
- Enhanced readability and maintainability of the
NbxButtoncomponent - Added proper text overflow handling with
TextOverflow.fadeandmaxLines: 2 - Improved text alignment and spacing with
CrossAxisAlignment.centerandTextAlign.center - Added
Flexiblewrapper for better text layout flexibility
- Introduced dedicated
0.0.10 #
- ENHANCEMENT: Added
isSelectedproperty toNbxButtonto indicate selection state with corresponding background/foreground style updates - REFACTOR: Simplified
NbxButtonvariant rendering by replacing if-else with switch-case and consolidating text style application - CHORE: Commented out
repositoryandissue_trackerfields inpubspec.yamlfor cleaner configuration
Country Picker Integration #
The Nebux Design System includes a custom implementation of country picker functionality based on the country_picker_pro package. This integration provides:
- Custom Implementation: Fork of the original
country_picker_propackage with enhanced Nebux theming - Internationalization: Full support for 25+ languages
- Theme Integration: Seamless integration with Nebux color and typography systems
- Enhanced Customization: Improved accessibility and styling options
- Consistent UX: Matches the design patterns of other Nebux components
The country picker functionality is available through the NbxCountryPickerInput component and can be used for country selection in forms, user registration, and profile management.
0.0.9 #
- NEW FEATURE: Added comprehensive country picker functionality with
NbxCountryPickerInputcomponent - NEW FEATURE: Integrated custom country picker implementation based on country_picker_pro package
- NEW FEATURE: Full internationalization support (25+ languages) for country selection
- ENHANCEMENT: Added customizable phone code display option in country picker input
- ENHANCEMENT: Improved button component with renamed
isDisabledtoenabledfor better clarity - ENHANCEMENT: Enhanced input styling with improved hint text consistency
- ENHANCEMENT: Added flexible appBar support in NbxScaffold (now supports null appBar)
- ENHANCEMENT: Added default SizedBox constants for standardized spacing
- IMPROVEMENT: Refactored country selection logic with context-based theming
- IMPROVEMENT: Updated export structure to include new country picker components
- DEPENDENCY: Replaced external country_picker_pro dependency with custom implementation for better integration
0.0.8 #
- BREAKING CHANGE: Refactored button variants for better clarity - renamed 'primary' to 'filled' and 'secondary' to 'text'
- Enhanced typography system with custom factory method for flexible text style overrides
- Improved text validation rules with named parameters for better clarity and maintainability
- Enhanced input field styling with improved label and hint styles using textSecondary color with reduced opacity
- Added floatingLabelStyle to input decoration for consistent theming across input fields
- Introduced customBackgroundColor property to NbxButton for flexible background color customization
- Enhanced NbxAppBar with customizable leading button for improved component flexibility
- Added secondaryVariant color to NebuxColors for better theming support
- Refined typography styles with updated font sizes for improved consistency
- Generated new model files for enhanced component structure and theming consistency
- Updated .gitignore configuration for better generated file management
0.0.5 #
- BREAKING CHANGE: Removed
font_awesome_flutterdependency for better performance and smaller bundle size - Enhanced
NebuxAppBarwith customizable icon support, removing dependency on FontAwesome icons - Refactored
NbxSocialLoginButtonto support custom icons instead of FontAwesome icons - Improved input field styling with enhanced
enabledBorderconfiguration inNbxInputDecorationExtension - Better visual consistency across input components
0.0.4 #
- Enhanced README.md with improved documentation
- Improved package documentation and usage examples
0.0.3 #
- Updated version to reflect latest changes in the Nebux Design System
0.0.2 #
- Enhanced README.md with improved feature descriptions
- Added detailed installation instructions
- Included comprehensive usage examples for components and theming
- Updated support contact information
0.0.1 #
- Initial release of NebuX Design System
- Complete theme system with light and dark mode support
- Typography system with consistent text styles and font sizes
- Spacing utilities for standardized layouts
- UI Components including:
- App bars with customizable styling
- Button components with multiple variants
- Text field widgets with validation
- Network image component with caching
- Scaffold components for consistent page structure
- Color management system with primary, secondary, and neutral colors
- Responsive design utilities
- Comprehensive documentation and examples