Summary: Fixes - https://github.com/facebook/react-native/issues/35553 ## Approach We're using `betweenMainDim` to add [gap between](bbeede82d3/yoga/Yoga.cpp (L2495)
) items in main axis. This is resulting in increased [main axis](bbeede82d3/yoga/Yoga.cpp (L2598)
) dimension of the container as it gets added even for the last element. One solution is to keep using it and subtract the gap when last element is reached. ## Aside Mutating this value feels weird, but I think `betweenMainDim` gets initialized for every line so should be fine? I did some manual tests to verify. I tried running tests but I'll have to downgrade the java version. Let me know if anything fails. Thanks! 🙏 Pull Request resolved: https://github.com/facebook/yoga/pull/1188 Test Plan: Added fixtures which previously failed but now pass. Reviewed By: necolas Differential Revision: D42078162 Pulled By: NickGerleman fbshipit-source-id: 0e535618350422e001141a8786a83fc81651afe9
167 lines
7.5 KiB
HTML
167 lines
7.5 KiB
HTML
<div id="column_gap_flexible" style="flex-direction: row; width: 80px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="flex: 1;"></div>
|
|
<div style="flex: 1;"></div>
|
|
<div style="flex: 1;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_inflexible" style="flex-direction: row; width: 80px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_mixed_flexible" style="flex-direction: row; width: 80px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="flex: 1;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_child_margins" style="flex-direction: row; width: 80px; height: 100px; column-gap: 10px;">
|
|
<div style="flex: 1; margin-inline: 2px;"></div>
|
|
<div style="flex: 1; margin-inline: 10px;"></div>
|
|
<div style="flex: 1; margin-inline: 15px;"></div>
|
|
</div>
|
|
|
|
<div id="column_row_gap_wrapping" style="flex-direction: row; flex-wrap: wrap; width: 80px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_flex_start" style="flex-direction: row; justify-content: flex-start; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_center" style="flex-direction: row; justify-content: center; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_flex_end" style="flex-direction: row; justify-content: flex-end; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_space_between" style="flex-direction: row; justify-content: space-between; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_space_around" style="flex-direction: row; justify-content: space-around; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_justify_space_evenly" style="flex-direction: row; justify-content: space-evenly; width: 100px; height: 100px; column-gap: 10px;">
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_flex_start" style="flex-direction: row; flex-wrap: wrap; align-content: flex-start; width: 100px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_center" style="flex-direction: row; flex-wrap: wrap; align-content: center; width: 100px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_flex_end" style="flex-direction: row; flex-wrap: wrap; align-content: flex-end; width: 100px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_space_between" style="flex-direction: row; flex-wrap: wrap; align-content: space-between; width: 100px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_space_around" style="flex-direction: row; flex-wrap: wrap; align-content: space-around; width: 100px; height: 100px; column-gap: 10px; row-gap: 20px;">
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
<div style="width: 20px; height: 20px"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_wrap_align_stretch" style="flex-direction: row; flex-wrap: wrap; width: 300px; height: 300px; column-gap: 5px; align-content: stretch;">
|
|
<div style="min-width: 60px; flex-grow: 1;"></div>
|
|
<div style="min-width: 60px; flex-grow: 1;"></div>
|
|
<div style="min-width: 60px; flex-grow: 1;"></div>
|
|
<div style="min-width: 60px; flex-grow: 1;"></div>
|
|
<div style="min-width: 60px; flex-grow: 1;"></div>
|
|
</div>
|
|
|
|
<div id="column_gap_determines_parent_width" style="flex-direction: row; height: 100px; align-items: 'stretch'; column-gap: 10px;">
|
|
<div style="width: 10px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 30px;"></div>
|
|
</div>
|
|
|
|
<div id="row_gap_align_items_stretch" style="flex-direction: row; flex-wrap: wrap; width: 100px; height: 200px; column-gap: 10px; row-gap: 20px; align-items:stretch; align-content: stretch">
|
|
<div style="width: 20px; "></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="row_gap_align_items_end" style="flex-direction: row; flex-wrap: wrap; width: 100px; height: 200px; column-gap: 10px; row-gap: 20px; align-items:flex-end;">
|
|
<div style="width: 20px; "></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
<div style="width: 20px;"></div>
|
|
</div>
|
|
|
|
<div id="row_gap_column_child_margins" style="flex-direction: column; width: 100px; height: 200px; row-gap: 10px;">
|
|
<div style="flex: 1; margin-block: 2px;"></div>
|
|
<div style="flex: 1; margin-block: 10px;"></div>
|
|
<div style="flex: 1; margin-block: 15px;"></div>
|
|
</div>
|
|
|
|
<div id="row_gap_row_wrap_child_margins" style="flex-direction: row; flex-wrap: wrap; width: 100px; height: 200px; row-gap: 10px;">
|
|
<div style="width: 60px; margin-block: 2px;"></div>
|
|
<div style="width: 60px; margin-block: 10px;"></div>
|
|
<div style="width: 60px; margin-block: 15px;"></div>
|
|
</div>
|
|
|
|
<div id="row_gap_determines_parent_height" style="flex-direction: column; width: 100px; align-items: 'stretch'; row-gap: 10px;">
|
|
<div style="height: 10px;"></div>
|
|
<div style="height: 20px"></div>
|
|
<div style="height: 30px"></div>
|
|
</div>
|