Mix 1.5.0 "Nielsen"
Jakob Nielsen, a leading figure in UI/UX design, transformed the field with his Ten Usability Heuristics and emphasis on user-centered design. His work highlights the importance of intuitive, efficient interfaces and usability testing. Nielsen’s mantra, “users are not like you,” serves as a reminder to prioritize real user needs, making his contributions essential in shaping modern digital experiences.
Release Notes
Highlights
New Feature: Fluent API
The fluent API allows for more expressive and readable code when working with Mix specifications and utilities. It enables chaining of method calls and provides a more intuitive way to configure and build Mix components.
Key Points:
- Simplified and more concise code when defining Mix specifications.
- Improved readability and maintainability of the codebase.
- Enhanced developer experience and productivity.
final style = Style(
$text.chain
..uppercase()
..textAlign.center()
..style.color.blue()
..style.fontSize(20),
);
New Feature: Remove All Previous Spec Modifiers and Color Directives
This feature gives developers greater control over their Style
s by allowing them to clear any spec modifier or color directive and start fresh with new ones.
Key Points:
- Added a method to remove all previously applied Spec Modifiers and Color Directives
final style = Style(
$box.chain
..width(100)
..height(100)
..color.red()
..color.withHue(200)
..color.withSaturation(0.3)
..color.withLightness(0.3)
..color.resetDirectives()
..color.withAlpha(140)
);
In this example, all previous directives are ignored after the resetDirectives
attribute.
Refactor: Generic Brightness Detection
Previously, $on.dark relied on Material design because it was using Theme.of(context), causing issues when using the Cupertino theme. With this update, brightness detection works consistently across different design systems, ensuring better compatibility and reliability.
Key Points:
- Replaced Theme.of(context) with MediaQuery for brightness detection.
- Ensures compatibility with both Material and Cupertino design systems.
What's Changed
- refactor: Rewrite all components in the new Archtecture by @tilucasoli in #467
- feat: Fold MixThemeData into single root by @Solido in #466
- chore: linting by @leoafarias in #474
- feat: create a theme for Remix by @leoafarias in #470
- fix: Style when merged with an AnimatedStyle should generate a AnimatedStyle by @tilucasoli in #472
- feat: Fluent API by @leoafarias in #475
- feat: implement a way to clear inline modifiers by @tilucasoli in #478
- feat: Add more directives to Colors by @tilucasoli in #477
- refactor: Remix was rewritten using Fluent API by @tilucasoli in #476
- feat: Accordion component by @tilucasoli in #433
- feat: Segmented control by @tilucasoli in #479
- chore: consolidate spec attribute and dto by @leoafarias in #480
- fix: Update OnBrightnessVariant to use
MediaQuery
instead ofTheme
by @doug-orchard in #471 - fix: reset modifiers and directives when using fluentAPI by @tilucasoli in #482
- feat: transform.translate by @tilucasoli in #484
- feat: remix-styling-configuration by @leoafarias in #483
- chore: version packages by @github-actions in #485
- chore: version packages by @github-actions in #486
New Contributors
- @doug-orchard made their first contribution in #471
Full Changelog: mix-1.4.6...mix-1.5.0