You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Mix includes several specialized layout components (StyledRow, StyledContainer, StyledColumn, StyledFlex, StyledStack). These components introduce redundancy since their functionalities can be achieved using Box, FlexBox, HBox, and VBox. Maintaining these Widgets increases API surface, decreasing the readability and maintainability.
Proposed Changes
Deprecate StyledRow, StyledContainer, StyledColumn, StyledFlex, and StyledStack, encouraging developers to transition to Box, FlexBox, ZBox, HBox, and VBox.
Impact Analysis
Benefits
Simplified API Surface: Reducing the number of layout
Better Maintainability: Fewer components to maintain, reducing the potential for inconsistencies and technical debt.
Potential Drawbacks:
Breaking Changes for Existing Users: Some projects may rely heavily on these specific components, making the transition more challenging.
Learning Curve for Existing Users: Users may need time to adjust to the new layout system.
Implementation Plan
Tasks
Deprecate the listed widgets
Update documentation with all new best practices
Delete the deprecated Widgets
Testing Strategy
Because it is just a deprecation there is no extra tests
Additional Considerations
Box-derived Widgets
This proposal advocates for using box-derived widgets in our development framework. We need to evaluate whether all Mix components should transition to this format and consider how StyledIcon fits into this new approach. Should we introduce a BoxIcon?
If we proceed with box-derived widgets, we must carefully handle attribute conflicts. For instance, in FlexBox, both Box and StyledFlex include the clipBehavior property. While this is a simple case, creating an IconBox could lead to conflicts between Box’s shadows and StyledIcon’s shadows.
The text was updated successfully, but these errors were encountered:
tilucasoli
changed the title
Deprecate outdated widgets
Deprecate Outdated Widgets
Feb 28, 2025
Description
The current Mix includes several specialized layout components (
StyledRow
,StyledContainer
,StyledColumn
,StyledFlex
,StyledStack
). These components introduce redundancy since their functionalities can be achieved usingBox
,FlexBox
,HBox
, andVBox
. Maintaining theseWidgets
increases API surface, decreasing the readability and maintainability.Proposed Changes
Deprecate
StyledRow
,StyledContainer
,StyledColumn
,StyledFlex
, andStyledStack
, encouraging developers to transition toBox
,FlexBox
,ZBox
,HBox
, andVBox
.Impact Analysis
Benefits
Potential Drawbacks:
Implementation Plan
Tasks
Testing Strategy
Because it is just a deprecation there is no extra tests
Additional Considerations
Box-derived Widgets
This proposal advocates for using box-derived widgets in our development framework. We need to evaluate whether all Mix components should transition to this format and consider how
StyledIcon
fits into this new approach. Should we introduce a BoxIcon?If we proceed with box-derived widgets, we must carefully handle attribute conflicts. For instance, in
FlexBox
, bothBox
andStyledFlex
include theclipBehavior
property. While this is a simple case, creating anIconBox
could lead to conflicts between Box’sshadows
and StyledIcon’sshadows
.The text was updated successfully, but these errors were encountered: