[AlphaStack] Add withDivider prop to insert Dividers between stack children #8642
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WHY are these changes introduced?
It's currently possible to add
<Divider />
s manually to stacks;However, this comes with two big caveats:
Human error could easily lead to rendering dividers with different
borderStyle
props, especially if those components are far apart / complex. It's even possible to accidentally forget a divider when there should be one:When rendering lists of items within a stack, it requires custom logic to insert dividers between each element:
By enabling automatic insertion of dividers, both of these caveats become non-issues; The parent can defer where to render dividers to the
<Stack>
component, and consistency is enforced by the<Stack>
component:WHAT is this pull request doing?
Added the
withDivider
prop to<AlphaStack>
:false
false
, current beahviour is identicaltrue
, renders a<Divider />
between each child elementDivider
'sborderStyle
prop).✅ Added Storybook story, tests, and documentation.
Prior work
AlphaStack
addpaddingBlockStart
andpaddingBlockEnd
#8588, it was decided that adding new props toAlphaStack
was not a direction we wanted to go in. This PR is opposed to that decision.divider
prop on<Stack>
dividers
prop on<Stack>
divider
prop on<Stack>