Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support "align-content: space-evenly" #1422

Closed
wants to merge 2 commits into from

Conversation

nicoburns
Copy link
Contributor

Changes made

  • Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
  • Added SpaceEvenly variant to the "Align" enums (via enums.py)
  • Implemented align-content: space-evenly alignment in CalculateLayout.cpp
  • Added generated tests align-content: space-evenly
  • Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

Changes not made

@facebook-github-bot facebook-github-bot added CLA Signed Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team. labels Oct 13, 2023
@NickGerleman
Copy link
Contributor

Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

This should be okay. In Style.h, minimumBitCount() is used to avoid hardcoding. We could do the same in the tests, but I'm in the process of refactoring to remove usage of NumericBitfield anyway (plain old bitfields are a lot easier to reason about when debugging or making changes).

Comment on lines +83 to +84
ASSERT_FLOAT_EQ(285, YGNodeLayoutGetWidth(root_child0_child0));
ASSERT_FLOAT_EQ(187, YGNodeLayoutGetHeight(root_child0_child0));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)

@rozele added this specific fixture yesterday with 50ecd98.

It it disabled right now regardless, but I am curious where the difference comes from. @rozele @nicoburns do you know what Chrome versions/platforms created these results?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm getting these results on Chrome 117 and 118 (just updated) on macOS (arm64)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm getting these results on Chrome 117 and 118 (just updated) on macOS (arm64)

I just pulled down this PR and re-ran gentest, it's reverting these changed.

Chrome - Version 118.0.5993.70 (Official Build) (arm64)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I get the same as the changes this PR makes (arm64 macOS 117)... Something's odd here.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe chrome running an A/B test?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, maybe that's why overflow: scroll wasn't supported in gentest before my diff 😅

I'd hate to say we shouldn't use overflow: scroll in fixtures arbitrarily, especially since they can certainly be a source of bugs, but maybe having fixtures for them is a bad idea (unless there's a way we can make gentest detect the scrollbar setting and warn / switch to the "correct" default before running)

Copy link
Contributor

@NickGerleman NickGerleman Oct 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel free to keep it in. We can try to figure out the right solution for this after (I think we might be able to avoid the ambiguity in the fixture).

On reserving space for scrollbar on non-mobile, I think WinUI default has shy scrollbars that don't take up space until hovered over, and then they go over content, https://learn.microsoft.com/en-us/windows/apps/design/controls/scroll-controls

I think in the other cases, Scrollbar being present shrinks the available space of the layout, but isn't handled explicitly by Yoga. E.g. https://developer.apple.com/documentation/uikit/uiscrollview/1619406-contentinset

Copy link
Contributor

@NickGerleman NickGerleman Oct 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit: looks like there is a --hide-scrollbars Chrome option we can pass to Chromedriver, to make this deterministic, and match existing behavior. I tacked this onto the imported PR for now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unless there's a way we can make gentest detect the scrollbar setting and warn / switch to the "correct" default before running

This is definitely possible (you can test for the setting in the browser by creating a node with overflow: scroll set and checking for it's width), but it might require a bit of work to thread the error message back through to the ruby test runner script so that it could be displayed nicely to the user.

I definitely think it would be good to this kind of error reporting improvements at some point, as currently the gentest script has a nasty habit of just silently crashing (sometimes having written half the tests!) if anything goes wrong (like an unexpected property value).

Copy link
Contributor Author

@nicoburns nicoburns Oct 17, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edit: looks like there is a --hide-scrollbars Chrome option we can pass to Chromedriver, to make this deterministic, and match existing behavior. I tacked this onto the imported PR for now.

I guess that works. I think I dismissed that for Taffy because I wanted the opposite: "force show scrollbars", and that doesn't seem to exist. But it would definitely be ideal if it "just worked" rather than requiring people generating the tests to have specific OS settings.

Comment on lines +2024 to +2035
case Align::SpaceEvenly:
if (availableInnerCrossDim > totalLineCrossDim) {
currentLead +=
remainingAlignContentDim / static_cast<float>(lineCount + 1);
if (lineCount > 1) {
crossDimLead =
remainingAlignContentDim / static_cast<float>(lineCount + 1);
}
} else {
currentLead += remainingAlignContentDim / 2;
}
break;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Am I following this logic correctly?

currentLead is the leading position of the current line (incremented by each line height), then crossDimLead is the per-line lead added to each line after.

When there is not free space left, we fall back to centering. This is the specified behavior in the flexbox spec for space-around, where the later box alignment spec instead says space-around and space-evenly have a fallback alignment of "safe center"?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e.g. I think #1013 probably still needs to happen)

Yuck, I see. We are contributing crossDimLead to not just distribution of the line, but then also using it for alignment within the line.

Is there a reason for if (lineCount > 1) here? Or was it just around for Align::SpaceAround to avoid division by zero, if the lead will never be used after the next line (ignoring the bug where it contributes to align-items).

Copy link
Contributor Author

@nicoburns nicoburns Oct 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

currentLead is the leading position of the current line (incremented by each line height), then crossDimLead is the per-line lead added to each line after.

I think that's correct. Although, I believe the effect of the code adding to currentLead here is to set the "lead" for the first line.

Is there a reason for if (lineCount > 1) here?

I don't think so. I just left it there on a principle of not wanting to touch anything. I think you're probably right about it being there to avoid a divide by zero. Although it seems like it might be better not to run alignment at all if there are zero lines (Taffy actually skips the entire Flexbox algorithm if there are no children as it reduces to relatively trivial calculations involving the container node's styles)

When there is not free space left, we fall back to centering.

Yep

This is the specified behavior in the flexbox spec for space-around, where the later box alignment spec instead says space-around and space-evenly have a fallback alignment of "safe center"?

I believe the "safe" alignment modes are opt-in. So these would probably be separate enum variants (or a boolean on top of the alignment) in Yoga. It looks like there's a "smart" mode. But that appears to involve non-node-local logic, and looks like it might be quite tricky to implement.

<div style="width: 50px; height: 10px;"></div>
<div style="width: 50px; height: 10px;"></div>
</div>

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we also add a test for when we have negative free space left, since that has special logic?

Copy link
Contributor Author

@nicoburns nicoburns Oct 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, yes. I have imported Taffy's tests for these cases (we also have one that tests with negative space combined with gap), and for the same cases for the other align-content modes.

Copy link
Contributor

@NickGerleman NickGerleman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great job, and great contribution 🙂. I left a couple quick comments/questions, but this otherwise looks solid.

@facebook-github-bot
Copy link
Contributor

@NickGerleman has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 16, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 16, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: a09018b1a244d8ce331c9d513a315841ba5a27eb
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 16, 2023
Summary:
This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Differential Revision: D50347978

fbshipit-source-id: 99a3ac3a4bd4c006586653a8f2de339411528aaa
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: d94dce5f93cde290b9e99cdae937778c5716165a
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: f83d31dff2347b075d947c95fef0a29520a3c655
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Differential Revision: D50347978

fbshipit-source-id: aea8493f2b771651ff3142d45d01b3939aa0b01b
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 606a5d967e862fce37652673a961d2c972ccf49e
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 58fd9d5bff8ff02618f6fc5dbf390ef988a22913
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: b263cad6ad1f1e681aab654647357d9197eccb60
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Differential Revision: D50347978

fbshipit-source-id: 2f4d33ffc7411a04bc3f9ed4b345b01489810bc0
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: c1800021ebef156bcbef441886b7b2da63473f40
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: b773ca19e1db82b8b381bbb984bb844042dcfc3f
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 07527b97193903f86c3678b2886e38009382141a
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: a6f1966741c3816a225ca0b8f18be94cf6548d35
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 0fa497cd02632b153c6d495df72ad2da8578055b
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 9cc13cdf774f9f2abda68c3b5ada8d08339088e3
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: b4140267d88d5785b9f4eaf7a85d14c33ddf42fd
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 3fa9232ba38af82085572fcfb13902d6758fd21b
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: 3e1096e880d0834110251009c4caec1dab5355f1
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 8ad2f5b3f9aa129d9ed2d2001d1713f61189e8a7
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: acbc0325490be4b0b376586eeaab42a6bdbcd8cc
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 3b21494e73f9f596cdf5c94328081e4c4eeb4efb
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 312456af357baafeab04bed6a4e51c9ace397ed0
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: 5e5914f71a7161cb55e8c5c30044236f800b1cf8
NickGerleman pushed a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:
### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: 344f1a41e35a9c70a4519857b32a12efea61ce78
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 17, 2023
Summary:

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978
NickGerleman added a commit to NickGerleman/react-native that referenced this pull request Oct 18, 2023
Summary:

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978
facebook-github-bot pushed a commit to facebook/litho that referenced this pull request Oct 18, 2023
Summary:
X-link: facebook/react-native#41019

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: ef9f6f14220a0db066bc30db8dd690a4a82a0b00
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Oct 18, 2023
Summary:
Pull Request resolved: #41019

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: ef9f6f14220a0db066bc30db8dd690a4a82a0b00
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Oct 18, 2023
Summary:
Pull Request resolved: #41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: 44df3b8ddc7171cddf56957c11ac7d975f706f9d
@facebook-github-bot
Copy link
Contributor

@NickGerleman merged this pull request in 0d28b28.

Othinn pushed a commit to Othinn/react-native that referenced this pull request Oct 30, 2023
Summary:
Pull Request resolved: facebook#41019

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman

fbshipit-source-id: ef9f6f14220a0db066bc30db8dd690a4a82a0b00
Othinn pushed a commit to Othinn/react-native that referenced this pull request Oct 30, 2023
Summary:
Pull Request resolved: facebook#41020

This adds Fabric and Paper bindings to support `alignContent: "space-evenly"` as implemented in facebook/yoga#1422

Changelog:
[General][Added] - Bindings for `alignContent: "space-evenly"`

Reviewed By: yungsters

Differential Revision: D50347978

fbshipit-source-id: 44df3b8ddc7171cddf56957c11ac7d975f706f9d
tungdo194 pushed a commit to tungdo194/rn-test that referenced this pull request Apr 28, 2024
Summary:

### Changes made
- Regenerated tests (as some aspect ratio tests seem to be out of date compared to the fixtures)
- Added SpaceEvenly variant to the "Align" enums (via enums.py)
- Implemented `align-content: space-evenly` alignment in CalculateLayout.cpp
- Added generated tests `align-content: space-evenly`
- Updated NumericBitfield test to account for the fact that the Align enum now requires more bits (this bit could do with being reviewed as I am not 100% certain that it's valid to just update the test like this).

### Changes not made
- Any attempt to improve the spec-compliance of content alignment in general (e.g. I think facebook/yoga#1013 probably still needs to happen)

X-link: facebook/yoga#1422

Reviewed By: yungsters

Differential Revision: D50305438

Pulled By: NickGerleman
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed Merged Shared with Meta Applied via automation to indicate that an Issue or Pull Request has been shared with the team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants