<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Yoga Blog</title>
        <link>https://yogalayout.dev/blog</link>
        <description>Yoga Blog</description>
        <lastBuildDate>Mon, 02 Dec 2024 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[Announcing Yoga 3.2]]></title>
            <link>https://yogalayout.dev/blog/announcing-yoga-3.2</link>
            <guid>https://yogalayout.dev/blog/announcing-yoga-3.2</guid>
            <pubDate>Mon, 02 Dec 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Yoga 3.2 is a new minor version of Yoga, used by React Native 0.77.]]></description>
            <content:encoded><![CDATA[<p>Yoga 3.2 is a new minor version of Yoga, used by React Native 0.77.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="highlights">Highlights<a href="https://yogalayout.dev/blog/announcing-yoga-3.2#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights">​</a></h2>
<ol>
<li>Support for <code>box-sizing</code></li>
<li>Support for <code>display: contents</code></li>
<li>Bug fixes and improvements</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="box-sizing"><code>box-sizing</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.2#box-sizing" class="hash-link" aria-label="Direct link to box-sizing" title="Direct link to box-sizing">​</a></h2>
<p>Yoga <a href="https://github.com/facebook/yoga/commit/671ae61a39d02091d1e73fe773d6a09f2f93cda4" target="_blank" rel="noopener noreferrer">now supports</a> <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing" target="_blank" rel="noopener noreferrer"><code>box-sizing</code></a> on styles, allowing sizing values to influence the content box instead of the border box.</p>
<div class="theme-admonition theme-admonition-warning admonition_WCGJ alert alert--warning"><div class="admonitionHeading_GCBg"><span class="admonitionIcon_L39b"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_pbrs"><p>To preserve compatibility, Yoga nodes default to <code>box-sizing: border-box</code>, even if <code>UseWebDefaults</code> is set. We recommend manually setting node defaults instead of using the <code>UseWebDefaults</code> API.</p></div></div>
<div class="wrapper_bnU2"><div class="playgroundRow_ulIa"><div class="editorColumn_A57a playground-editor"><div class="editorScroll_iM7t"><div class="toolbar_pM9D editorToolbar_vsWP" style="padding-right:0px"><button type="button" class="clean-btn" aria-label="Share"><span class="iconSwitcher_feMP" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="actionIcon_Tv55" viewBox="0 0 16 16"><path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9q-.13 0-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"></path><path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4 4 0 0 1-.82 1H12a3 3 0 1 0 0-6z"></path></svg><svg viewBox="0 0 24 24" class="successIcon_Z3jg"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div><div class="playgroundEditor_pG_k"><pre class="prism-code liveEditorFallback_O8gE">&lt;Layout config={{useWebDefaults: true}}&gt;
&lt;Node
  style={{
    width: 100,
    height: 100,
    padding: 50,
    boxSizing: "border-box",
  }}&gt;
&lt;/Node&gt;
&lt;/Layout&gt;</pre></div></div></div><div class="previewColumn_ZgiL"><div></div></div></div></div>
<div class="wrapper_bnU2"><div class="playgroundRow_ulIa"><div class="editorColumn_A57a playground-editor"><div class="editorScroll_iM7t"><div class="toolbar_pM9D editorToolbar_vsWP" style="padding-right:0px"><button type="button" class="clean-btn" aria-label="Share"><span class="iconSwitcher_feMP" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="actionIcon_Tv55" viewBox="0 0 16 16"><path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9q-.13 0-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"></path><path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4 4 0 0 1-.82 1H12a3 3 0 1 0 0-6z"></path></svg><svg viewBox="0 0 24 24" class="successIcon_Z3jg"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div><div class="playgroundEditor_pG_k"><pre class="prism-code liveEditorFallback_O8gE">&lt;Layout config={{useWebDefaults: true}}&gt;
  &lt;Node
  style={{
    width: 100,
    height: 100,
    padding: 50,
    boxSizing: "content-box",
  }}&gt;
&lt;/Node&gt;
&lt;/Layout&gt;</pre></div></div></div><div class="previewColumn_ZgiL"><div></div></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="display-contents"><code>display: contents</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.2#display-contents" class="hash-link" aria-label="Direct link to display-contents" title="Direct link to display-contents">​</a></h2>
<p>Yoga nodes <a href="https://github.com/facebook/yoga/commit/68bb2343d2b470962065789d09016bba8e785340" target="_blank" rel="noopener noreferrer">may now be set to <code>display: contents</code></a> to remove them from the layout flow, while preserving and hoisting the node's children. This may be used by the higher level UI framework to allow more easily composing wrapper components (such as those which may need to handle events, without influencing child layout). Thanks <a href="https://github.com/j-piasecki" target="_blank" rel="noopener noreferrer">@j-piasecki</a> for the contribution!</p>
<div class="wrapper_bnU2"><div class="playgroundRow_ulIa"><div class="editorColumn_A57a playground-editor"><div class="editorScroll_iM7t"><div class="toolbar_pM9D editorToolbar_vsWP" style="padding-right:0px"><button type="button" class="clean-btn" aria-label="Share"><span class="iconSwitcher_feMP" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="actionIcon_Tv55" viewBox="0 0 16 16"><path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9q-.13 0-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"></path><path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4 4 0 0 1-.82 1H12a3 3 0 1 0 0-6z"></path></svg><svg viewBox="0 0 24 24" class="successIcon_Z3jg"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div><div class="playgroundEditor_pG_k"><pre class="prism-code liveEditorFallback_O8gE">&lt;Layout config={{useWebDefaults: false}}&gt;
&lt;Node
  style={{
    width: 100,
    height: 100,
    gap: 10,
  }}
&gt;
  &lt;Node style={{display: "contents"}}&gt;
    &lt;Node style={{flexGrow: 1}} /&gt;
    &lt;Node style={{flexGrow: 1}} /&gt;
    &lt;Node style={{flexGrow: 1}} /&gt;
  &lt;/Node&gt;
&lt;/Node&gt;
&lt;/Layout&gt;</pre></div></div></div><div class="previewColumn_ZgiL"><div></div></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="removal-of-legacy-absolute-positioning">Removal of legacy absolute positioning<a href="https://yogalayout.dev/blog/announcing-yoga-3.2#removal-of-legacy-absolute-positioning" class="hash-link" aria-label="Direct link to Removal of legacy absolute positioning" title="Direct link to Removal of legacy absolute positioning">​</a></h2>
<p>Yoga 3.0 introduced a new algorithm used for absolute positioning. This algorithm is more correct than the one previously used, but led to observed compatibility issues with existing code, so we left the option to disable it via the <code>AbsolutePositioningIncorrect</code> erratum (enabled by default in frameworks like React Native). Yoga 3.2 removes the legacy absolute positioning path, but ports over the main compatibility quirk under a new erratum <code>AbsolutePositionWithoutInsetsExcludesPadding</code> (where the previous incorrect behavior would omit padding when a position was not specified on the absolute node). Errata users should see more correct absolute positioning behavior, while preserving compatibility with existing code.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fixed-non-global-yogaconfig-in-java-bindings">Fixed non-global YogaConfig in Java bindings<a href="https://yogalayout.dev/blog/announcing-yoga-3.2#fixed-non-global-yogaconfig-in-java-bindings" class="hash-link" aria-label="Direct link to Fixed non-global YogaConfig in Java bindings" title="Direct link to Fixed non-global YogaConfig in Java bindings">​</a></h2>
<p>Yoga would previously allow garbage collection of a <code>YogaConfig</code> if it was not retained outside of the Yoga tree. This could result in confusing errors caused by use-after free. Yoga nodes <a href="https://github.com/facebook/yoga/commit/22b018c957e930de950338ad87f4ef8d59e8a169" target="_blank" rel="noopener noreferrer">now correctly retain the configs they are using</a>. Thanks <a href="https://github.com/michaeltroger" target="_blank" rel="noopener noreferrer">@michaeltroger</a> for this fix!</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fixed-behavior-when-combining-align-items-with-align-content">Fixed behavior when combining <code>align-items</code> with <code>align-content</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.2#fixed-behavior-when-combining-align-items-with-align-content" class="hash-link" aria-label="Direct link to fixed-behavior-when-combining-align-items-with-align-content" title="Direct link to fixed-behavior-when-combining-align-items-with-align-content">​</a></h2>
<p>A regression <a href="https://github.com/facebook/yoga/commit/77c99870127e9c2d46a07264fa372025334d8fd0" target="_blank" rel="noopener noreferrer">was fixed</a> in how Yoga handles some combinations of <code>align-content</code> and <code>align-items</code>. Thanks <a href="https://github.com/phuccvx12" target="_blank" rel="noopener noreferrer">@phuccvx12</a> for this fix!</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Yoga 3.1]]></title>
            <link>https://yogalayout.dev/blog/announcing-yoga-3.1</link>
            <guid>https://yogalayout.dev/blog/announcing-yoga-3.1</guid>
            <pubDate>Mon, 24 Jun 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Yoga 3.1 is a new minor version of Yoga, used by React Native 0.75.]]></description>
            <content:encoded><![CDATA[<p>Yoga 3.1 is a new minor version of Yoga, used by React Native 0.75.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="highlights">Highlights<a href="https://yogalayout.dev/blog/announcing-yoga-3.1#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights">​</a></h2>
<ol>
<li>Percentage support for <code>gap</code> properties</li>
<li>Layout conformance and regression fixes</li>
<li>Additional JavaScript bindings</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="percentage-support-for-gap-properties">Percentage support for <code>gap</code> properties<a href="https://yogalayout.dev/blog/announcing-yoga-3.1#percentage-support-for-gap-properties" class="hash-link" aria-label="Direct link to percentage-support-for-gap-properties" title="Direct link to percentage-support-for-gap-properties">​</a></h2>
<p>Yoga <a href="https://github.com/facebook/yoga/commit/cd4a1b8cf63cf09a62d6aefcd16843cc8869488c" target="_blank" rel="noopener noreferrer">now supports</a> gap values specified as percentages instead of points.</p>
<div class="theme-admonition theme-admonition-warning admonition_WCGJ alert alert--warning"><div class="admonitionHeading_GCBg"><span class="admonitionIcon_L39b"><svg viewBox="0 0 16 16"><path fill-rule="evenodd" d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"></path></svg></span>warning</div><div class="admonitionContent_pbrs"><p>Percentages in Yoga do not always act consistently with browsers when a definite container size is not provided. This may be improved in a future version of Yoga.</p></div></div>
<div class="wrapper_bnU2"><div class="playgroundRow_ulIa"><div class="editorColumn_A57a playground-editor"><div class="editorScroll_iM7t"><div class="toolbar_pM9D editorToolbar_vsWP" style="padding-right:0px"><button type="button" class="clean-btn" aria-label="Share"><span class="iconSwitcher_feMP" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="actionIcon_Tv55" viewBox="0 0 16 16"><path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9q-.13 0-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"></path><path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4 4 0 0 1-.82 1H12a3 3 0 1 0 0-6z"></path></svg><svg viewBox="0 0 24 24" class="successIcon_Z3jg"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div><div class="playgroundEditor_pG_k"><pre class="prism-code liveEditorFallback_O8gE">&lt;Layout config={{useWebDefaults: true}}&gt;
&lt;Node
  style={{
    columnGap: "10%",
    width: 200,
    height: 100,
  }}&gt;
  &lt;Node style={{flexGrow: 1}} /&gt;
  &lt;Node style={{flexGrow: 1}} /&gt;
  &lt;Node style={{flexGrow: 1}} /&gt;
&lt;/Node&gt;
&lt;/Layout&gt;</pre></div></div></div><div class="previewColumn_ZgiL"><div></div></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="alignment-changes-to-overflowed-containers">Alignment changes to overflowed containers<a href="https://yogalayout.dev/blog/announcing-yoga-3.1#alignment-changes-to-overflowed-containers" class="hash-link" aria-label="Direct link to Alignment changes to overflowed containers" title="Direct link to Alignment changes to overflowed containers">​</a></h2>
<p>Yoga has made <a href="https://github.com/facebook/yoga/commit/932361cdbf5864a2e6929b68154b4ada2ac586d9" target="_blank" rel="noopener noreferrer">several</a> <a href="https://github.com/facebook/yoga/commit/6f10656868c2eca9b2eae55ad754e01e70565f69" target="_blank" rel="noopener noreferrer">fixes</a> to how flex-children of overflowed containers are aligned when using <code>justify-content</code>, <code>align-content</code>, or <code>margin: "auto"</code>. This includes some cases where adding an alignment keyword could cause items to overlap, or padding to be removed.</p>
<div class="wrapper_bnU2"><div class="playgroundRow_ulIa"><div class="editorColumn_A57a playground-editor"><div class="editorScroll_iM7t"><div class="toolbar_pM9D editorToolbar_vsWP" style="padding-right:0px"><button type="button" class="clean-btn" aria-label="Share"><span class="iconSwitcher_feMP" aria-hidden="true"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="actionIcon_Tv55" viewBox="0 0 16 16"><path d="M6.354 5.5H4a3 3 0 0 0 0 6h3a3 3 0 0 0 2.83-4H9q-.13 0-.25.031A2 2 0 0 1 7 10.5H4a2 2 0 1 1 0-4h1.535c.218-.376.495-.714.82-1z"></path><path d="M9 5.5a3 3 0 0 0-2.83 4h1.098A2 2 0 0 1 9 6.5h3a2 2 0 1 1 0 4h-1.535a4 4 0 0 1-.82 1H12a3 3 0 1 0 0-6z"></path></svg><svg viewBox="0 0 24 24" class="successIcon_Z3jg"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div><div class="playgroundEditor_pG_k"><pre class="prism-code liveEditorFallback_O8gE">&lt;Layout config={{useWebDefaults: false}}&gt;
&lt;Node
  style={{
    width: 100,
    height: 100,
    padding: 10,
    justifyContent: 'space-evenly',
  }}
&gt;
  &lt;Node style={{height: 100, width: 100}} /&gt;
&lt;/Node&gt;
&lt;/Layout&gt;</pre></div></div></div><div class="previewColumn_ZgiL"><div></div></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fixes-for-regressions-in-yoga-30">Fixes for regressions in Yoga 3.0<a href="https://yogalayout.dev/blog/announcing-yoga-3.1#fixes-for-regressions-in-yoga-30" class="hash-link" aria-label="Direct link to Fixes for regressions in Yoga 3.0" title="Direct link to Fixes for regressions in Yoga 3.0">​</a></h2>
<p>We fixed a couple of regressions added in Yoga 3.0, around percentage insets applied to some absolute containers (<a href="https://github.com/facebook/yoga/issues/1657" target="_blank" rel="noopener noreferrer">#1657</a>), and start/end resolution when physical edge styles are also present (<a href="https://github.com/facebook/yoga/issues/1658" target="_blank" rel="noopener noreferrer">#1658</a>).</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="additional-javascript-bindings">Additional JavaScript bindings<a href="https://yogalayout.dev/blog/announcing-yoga-3.1#additional-javascript-bindings" class="hash-link" aria-label="Direct link to Additional JavaScript bindings" title="Direct link to Additional JavaScript bindings">​</a></h2>
<p>We've added JavaScript bindings for setting layout direction to Yoga 3.1, along with JavaScript additions made in patch releases to Yoga 3.0, including bindings for <code>hasNewLayout</code> flag manipulation, and an entrypoint for users who are unable to use top-level await.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Yoga 3.0]]></title>
            <link>https://yogalayout.dev/blog/announcing-yoga-3.0</link>
            <guid>https://yogalayout.dev/blog/announcing-yoga-3.0</guid>
            <pubDate>Thu, 14 Mar 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Yoga 3.0 is a new major (breaking) version of Yoga, used by React Native 0.74.]]></description>
            <content:encoded><![CDATA[<p>Yoga 3.0 is a new major (breaking) version of Yoga, used by React Native 0.74.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="highlights">Highlights<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights">​</a></h2>
<ol>
<li>Support for <code>position: static</code></li>
<li>Support for <code>align-content: space-evenly</code></li>
<li>Improvements to layout correctness</li>
<li>Yoga’s JavaScript bindings are now distributed as an ES Module</li>
<li>Fixes several crashes in Java bindings</li>
<li>Some existing Yoga APIs have been removed</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="position-static">position: static<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#position-static" class="hash-link" aria-label="Direct link to position: static" title="Direct link to position: static">​</a></h2>
<p>We added full support for the <code>static</code> position type which has existed in an incomplete state for some time now. With this release <code>static</code> is now web-compliant in the context of Flexbox. Some things that were added/changed:</p>
<ul>
<li>The default position type is now <code>relative</code> <a href="https://github.com/facebook/yoga/commit/fc88b2f774f0ab9090d7ca15de6680f26d7285ad" target="_blank" rel="noopener noreferrer">again</a> and not <code>static</code>. This should not have any effect on layout as the previously introduced <code>YGPositionTypeStatic</code> was not being used within Yoga, so it behaved just like <code>relative</code>.</li>
<li><code>static</code> nodes ignore insets (<code>left</code>, <code>right</code>, <code>top</code>, <code>bottom</code>, etc.)</li>
<li>The idea of a<a href="https://yogalayout.dev/docs/advanced/containing-block"> containing block</a> was introduced. For <code>absolute</code> nodes this is usually the nearest non-<code>static</code> ancestor. For every other position type this is just the parent since Yoga is a Flexbox implementation.</li>
<li>A new public API <code>YGNodeSetAlwaysFormsContainingBlock</code> which takes a boolean indicating if the node should always form a containing block for any descendant. This is useful for properly supporting things like <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_transforms" target="_blank" rel="noopener noreferrer">transforms</a>, which will force the node to form a containing block but is outside the scope of Yoga.</li>
</ul>
<p><code>position: static</code> affects some concerns outside of layout, like stacking context. The full set of behaviors is enabled in the React Native New Architecture.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="better-support-for-absolute-positioning">Better support for absolute positioning<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#better-support-for-absolute-positioning" class="hash-link" aria-label="Direct link to Better support for absolute positioning" title="Direct link to Better support for absolute positioning">​</a></h2>
<p>There were a variety of bugs with how <code>absolute</code> nodes were positioned under various <code>Justify</code> and <code>Align</code> values. Most of these bugs only ever manifested themselves with certain paddings, margins, and borders so the following examples mix those up to illustrate the differences. Additionally, the following positioning examples all share this core style:</p>
<div class="language-js codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-js codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">parent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'green'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">200</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">200</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">child</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">position</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'absolute'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">50</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">50</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-js codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-js codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">parent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingLeft</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingRight</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderLeftWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderRightWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">alignItems</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'flex-start'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">child</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingLeft</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingRight</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginLeft</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginRight</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderLeftWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderRightWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="data:image/png;base64,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" width="397" height="397" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="data:image/png;base64,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" width="399" height="398" class="img_SS3x"></p></td></tr><tr><td><div class="language-js codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-js codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">parent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderTopWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderBottomWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">justifyContent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'center'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">child</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderTopWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderBottomWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="data:image/png;base64,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" width="399" height="397" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="data:image/png;base64,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kgABAmsJiMda92E3BAgQ2EJAPLa4JpskQIDAWgLisdZ92A0BAgS2EBCPLa7JJgkQILCWgHisdR92Q4AAgS0ExGOLa7JJAgQIrCUgHmvdh90QIEBgCwHx2OKabJIAAQJrCYjHWvdhNwQIENhCQDy2uCabJECAwFoC4rHWfdgNAQIEthAQjy2uySYJECCwloB4rHUfdkOAAIEtBMRji2uySQIECKwlIB5r3YfdECBAYAsB8djimmySAAECawmIx1r3YTcECBDYQkA8trgmmyRAgMBaAuKx1n3YDQECBLYQEI8trskmCRAgsJaAeKx1H3ZDgACBLQTEY4trskkCBAisJSAea92H3RAgQGALAfHY4ppskgABAmsJiMda92E3BAgQ2EJAPLa4JpskQIDAWgLisdZ92A0BAgS2EBCPLa7JJgkQILCWgHisdR92Q4AAgS0ExGOLa7JJAgQIrCUgHmvdh90QIEBgCwHx2OKabJIAAQJrCYjHWvdhNwQIENhCQDy2uCabJECAwFoC4rHWfdgNAQIEthAQjy2uySYJECCwloB4rHUfdkOAAIEtBMRji2uySQIECKwlIB5r3YfdECBAYAsB8djimmySAAECawmIx1r3YTcECBDYQkA8trgmmyRAgMBaAuKx1n3YDQECBLYQEI8trskmCRAgsJaAeKx1H3ZDgACBLQTutz//bouNXn6TX/zj7Yh/f/uj55e/awckcAGB++1ff7rAMfY/wrv709shvtn/IE5AgMAIAf+ZO+KaHZIAAQLHCojHsZ6+RoAAgREC4jHimh2SAAECxwqIx7GevkaAAIERAuIx4podkgABAscKiMexnr5GgACBEQLiMeKaHZIAAQLHCojHsZ6+RoAAgREC4jHimh2SAAECxwqIx7GevkaAAIERAuIx4podkgABAscKiMexnr5GgACBEQLiMeKaHZIAAQLHCojHsZ6+RoAAgREC4jHimh2SAAECxwqIx7GevkaAAIERAuIx4podkgABAscKiMexnr5GgACBEQLiMeKaHZIAAQLHCojHsZ6+RoAAgREC4jHimh2SAAECxwqIx7GevkaAAIERAuIx4podkgABAscKiMexnr5GgACBEQLiMeKaHZIAAQLHCojHsZ6+RoAAgREC4jHimh2SAAECxwqIx7GevkaAAIERAuIx4podkgABAscKiMexnr5GgACB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" width="399" height="396" class="img_SS3x"></p></td></tr><tr><td><div class="language-js codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-js codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">parent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderTopWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderBottomWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">justifyContent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'flex-end'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">child</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token comment" style="color:hsl(220, 10%, 40%)">// core styles</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">paddingBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginTop</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">marginBottom</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderTopWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">10</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">borderBottomWidth</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">20</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="data:image/png;base64,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IECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQkOAwECBAgEArICCtlD0CBAgQCAEBCQ4DAQIECLQCAtJK2SNAgACBEBCQ4DAQIECAQCsgIK2UPQIECBAIAQEJDgMBAgQItAIC0krZI0CAAIEQEJDgMBAgQIBAKyAgrZQ9AgQIEAgBAQkOAwECBAi0AgLSStkjQIAAgRAQ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" width="400" height="399" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="data:image/png;base64,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" width="398" height="395" class="img_SS3x"></p></td></tr></tbody></table>
<p>There were other fixes not specifically mentioned above. Because this change may result in layout differences for many real-world scenarios, Yoga may be configured to prefer the legacy behavior, by setting the <code>AbsolutePositioningIncorrect</code> erratum. This means this fix is not enabled by default in frameworks like React Native, in order to preserve compatibility.</p>
<p>Additionally, Yoga will now correctly account for padding when calculating the size of absolutely positioned nodes with percentage lengths.</p>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-js codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-js codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">parent</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'green'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">200</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">200</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">padding</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">50</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">child</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">position</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'absolute'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'25%'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'25%'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="data:image/png;base64,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" width="397" height="397" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="data:image/png;base64,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" width="398" height="398" class="img_SS3x"></p></td></tr></tbody></table>
<p>Just like with positioning, this fix may result in layout differences in many cases. Setting the <code>AbsolutePercentAgainstInnerSize</code> erratum will preserve the legacy behavior, which is set by default in frameworks like React Native.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="better-support-for-multiline-containers">Better support for multiline containers<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#better-support-for-multiline-containers" class="hash-link" aria-label="Direct link to Better support for multiline containers" title="Direct link to Better support for multiline containers">​</a></h2>
<p>Yoga now offers better support for Flexbox containers which span multiple lines.</p>
<p>Yoga now supports <code>align-content: space-evenly</code>, contributed by <a href="https://github.com/nicoburns" target="_blank" rel="noopener noreferrer">@nicoburns</a>, to distribute line boxes with equal space around them.</p>
<p><img decoding="async" loading="lazy" alt="Align Content Values" src="https://yogalayout.dev/assets/images/image8-9e761953d8bb9dbfa629603300dbdac0.png" width="504" height="218" class="img_SS3x"></p>
<blockquote>
<p><a href="https://www.w3.org/TR/css-align-3/#distribution-values" target="_blank" rel="noopener noreferrer">https://www.w3.org/TR/css-align-3/#distribution-values</a></p>
</blockquote>
<p>Yoga now correctly supports the combination of <code>align-content</code> and <code>align-items</code> when both cause changes to alignment.</p>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-jsx codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-jsx codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">300</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">300</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'red'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexDirection</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'row'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexWrap</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'wrap'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">alignContent</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'space-around'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">alignItems</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'flex-end'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">150</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'powderblue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">120</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'skyblue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">120</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'steelblue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;/</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="data:image/png;base64,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" width="300" height="293" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="data:image/png;base64,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" width="344" height="335" class="img_SS3x"></p></td></tr></tbody></table>
<blockquote>
<p><a href="https://github.com/facebook/yoga/issues/1008" target="_blank" rel="noopener noreferrer">https://github.com/facebook/yoga/issues/1008</a></p>
</blockquote>
<p>Yoga now correctly supports <code>min-height</code> set on a multiline container.</p>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-jsx codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-jsx codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexDirection</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'row'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">150</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">minHeight</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">200</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexWrap</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'wrap'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">justifyContent</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'center'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">padding</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">10</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">gap</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">10</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'red'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'red'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;/</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="https://yogalayout.dev/assets/images/image15-083c6b4ccad24547861a49e45ab43b77.png" width="524" height="1166" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="https://yogalayout.dev/assets/images/image11-8112463230d3895f8ccbf17f1002fe03.png" width="532" height="726" class="img_SS3x"></p></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="correct-handling-of-logical-edges-in-row-reverse-containers">Correct handling of logical edges in row-reverse containers<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#correct-handling-of-logical-edges-in-row-reverse-containers" class="hash-link" aria-label="Direct link to Correct handling of logical edges in row-reverse containers" title="Direct link to Correct handling of logical edges in row-reverse containers">​</a></h2>
<p>Yoga would previously incorrectly reverse <code>start</code> and <code>end</code> edges, when operating on:</p>
<ol>
<li>The padding, border, or margin of a row-reverse container</li>
<li>The position, of the child of a row-reverse container</li>
</ol>
<p>In React Native, this also presents as <code>left</code> and <code>right</code> edges being swapped inside of row-reverse containers.</p>
<p>We determined that few enough surfaces are impacted by this bug to enable the correct behavior globally. Existing row-reverse containers which run into these cases may need to be updated to layout correctly in newer versions of Yoga.</p>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-jsx codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-jsx codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexDirection</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'row'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'red'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">margin</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">10</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">200</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">100</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexDirection</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'row-reverse'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flex</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">1</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">marginStart</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">    </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">        </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'green'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">        </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'50%'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">        </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flex</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">1</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">        </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">marginStart</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;/</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;/</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="https://yogalayout.dev/assets/images/image1-db1efa3dcaefcf0906289d0cd4915660.png" width="808" height="470" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="https://yogalayout.dev/assets/images/image2-50d1c48c2cfa970f4de32942f6d336ce.png" width="916" height="538" class="img_SS3x"></p></td></tr></tbody></table>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="correct-main-axis-size-calculation-for-indefinite-containers-using-justify-content">Correct main-axis size calculation for indefinite containers using <code>justify-content</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.0#correct-main-axis-size-calculation-for-indefinite-containers-using-justify-content" class="hash-link" aria-label="Direct link to correct-main-axis-size-calculation-for-indefinite-containers-using-justify-content" title="Direct link to correct-main-axis-size-calculation-for-indefinite-containers-using-justify-content">​</a></h2>
<p>Yoga previously calculated an incorrect main-axis size for containers which specified a min-dimension on the main axis, and have a <code>justify-content</code> of <code>space-around</code> or <code>space-between</code>.</p>
<table><tbody><tr><td>Style</td><td>Before</td><td>After</td></tr><tr><td><div class="language-jsx codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-jsx codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">flexDirection</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'row'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'red'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">75</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">minWidth</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">200</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">gap</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">10</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">padding</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">10</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">justifyContent</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'space-between'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">alignItems</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'center'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag attr-name" style="color:hsl(29, 54%, 61%)">style</span><span class="token tag script language-javascript script-punctuation punctuation" style="color:hsl(220, 14%, 71%)">=</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">backgroundColor</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript string" style="color:hsl(95, 38%, 62%)">'blue'</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">width</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">      </span><span class="token tag script language-javascript literal-property property" style="color:hsl(355, 65%, 65%)">height</span><span class="token tag script language-javascript operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"> </span><span class="token tag script language-javascript number" style="color:hsl(29, 54%, 61%)">50</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag script language-javascript" style="color:hsl(355, 65%, 65%)">    </span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag script language-javascript punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token tag" style="color:hsl(355, 65%, 65%)"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token tag" style="color:hsl(355, 65%, 65%)">  </span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">/&gt;</span><span class="token plain-text"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain-text"></span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&lt;/</span><span class="token tag class-name" style="color:hsl(29, 54%, 61%)">Node</span><span class="token tag punctuation" style="color:hsl(220, 14%, 71%)">&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div></td><td><p><img decoding="async" loading="lazy" alt="Previous layout" src="https://yogalayout.dev/assets/images/image16-bc32d4294d9e59749c28a220455b2666.png" width="1078" height="362" class="img_SS3x"></p></td><td><p><img decoding="async" loading="lazy" alt="New layout" src="https://yogalayout.dev/assets/images/image13-4931432a1524b96cfb594e5d1ac11383.png" width="1082" height="456" class="img_SS3x"></p></td></tr></tbody></table>
<p>This change was observed to impact existing layouts rarely enough to enable globally, and while this change was not present in Yoga 2.0, it was present in the version of Yoga ultimately shipped in React Native 0.73.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="distribution-as-an-es-module">Distribution as an ES Module<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#distribution-as-an-es-module" class="hash-link" aria-label="Direct link to Distribution as an ES Module" title="Direct link to Distribution as an ES Module">​</a></h2>
<p>Yoga’s previous JavaScript package exported a convoluted matrix of different binaries, across asm.js and wasm, sync vs async, and browser vs node.</p>
<p>When it came time to look at adding ES Module support into the mix, we decided to take a <a href="https://github.com/WebAssembly/esm-integration/tree/main/proposals/esm-integration" target="_blank" rel="noopener noreferrer">forward looking approach</a>, and distribute Yoga as an ES Module, using top-level await, loading WebAssembly. This allows distributing a single binary which presents a sync looking API, even in browsers.</p>
<p>The underlying binary is still distributed as a JavaScript blob of base64 encoded WebAssembly, usable across different environments and bundlers.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="java-reliability-improvements">Java reliability improvements<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#java-reliability-improvements" class="hash-link" aria-label="Direct link to Java reliability improvements" title="Direct link to Java reliability improvements">​</a></h2>
<p>Several crashes have been fixed in Yoga’s Java bindings:</p>
<ol>
<li>Yoga for Java <a href="https://github.com/facebook/yoga/commit/38ad93c87baa2127872892a6da674fc93e84f4b8" target="_blank" rel="noopener noreferrer">no longer performs an invalid read</a> if a message is logged</li>
<li>Yoga for Java now makes <a href="https://github.com/facebook/yoga/commit/49fbd406b62566d8b243297725d3485d9de9d442" target="_blank" rel="noopener noreferrer">more efficient use of JNI references</a>. This can help avoid app crashes in large trees, or interaction with other layout systems also using JNI.</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="infrastructure-changes">Infrastructure changes<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#infrastructure-changes" class="hash-link" aria-label="Direct link to Infrastructure changes" title="Direct link to Infrastructure changes">​</a></h2>
<p>Yoga’s implementation now targets a well-supported subset of C++ 20. Supported toolchains include:</p>
<ol>
<li>MSVC 2019+</li>
<li>Clang/libc++ 14+</li>
<li>GCC/libstdc++ 11+</li>
<li>Android NDK 26+</li>
<li>XCode 14.3+</li>
</ol>
<p>Yoga’s reference Android build and accompanying artifacts now target Android SDK 34.</p>
<p>Yoga now compiles cleanly against higher warning levels, such as <code>-Wextra</code> and <code>-Wconversion</code> in Clang/GCC, and <code>/W4</code> in MSVC.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="deprecations-and-removals">Deprecations and removals<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#deprecations-and-removals" class="hash-link" aria-label="Direct link to Deprecations and removals" title="Direct link to Deprecations and removals">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="changes-to-c-apis">Changes to C++ APIs<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#changes-to-c-apis" class="hash-link" aria-label="Direct link to Changes to C++ APIs" title="Direct link to Changes to C++ APIs">​</a></h3>
<p>Yoga’s previous structure made it easy to intermingle Yoga’s public APIs, and Yoga’s C++ implementation structures. The boundary between these two has been made firmer.</p>
<ol>
<li>Every top-level header is now a public API</li>
<li>All public APIs may be used from C, C++, Objective C, and Swift</li>
</ol>
<p>We have made some minor changes to this public API, which will require changes for Yoga integrators. The most significant is an increased const-correctness, which may require mechanical changes to measure functions. Yoga’s internal implementation has seen more radical changes.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="removal-of-uselegacystretchbehaviour">Removal of <code>UseLegacyStretchBehaviour</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.0#removal-of-uselegacystretchbehaviour" class="hash-link" aria-label="Direct link to removal-of-uselegacystretchbehaviour" title="Direct link to removal-of-uselegacystretchbehaviour">​</a></h3>
<p>APIs related to <code>UseLegacyStretchBehaviour</code> were deprecated as part of Yoga 2.0, and have now been removed. Users of <code>UseLegacyStretchBehaviour</code> should most often <a href="https://yogalayout.dev/docs/getting-started/configuring-yoga#layout-conformance-and-yoga-errata">set their errata level</a> to <code>All</code> to opt-out of future conformance fixes.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="removal-of-yogakit-and-the-yogalayout-viewgroup">Removal of YogaKit and the YogaLayout ViewGroup<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#removal-of-yogakit-and-the-yogalayout-viewgroup" class="hash-link" aria-label="Direct link to Removal of YogaKit and the YogaLayout ViewGroup" title="Direct link to Removal of YogaKit and the YogaLayout ViewGroup">​</a></h3>
<p>Yoga previously provided direct integrations with UIKit, and the Android View System. These were deprecated as part of Yoga 2.0 and are no longer published as part of Yoga 3.0.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="per-node-pointscalefactor">Per-node <code>PointScaleFactor</code><a href="https://yogalayout.dev/blog/announcing-yoga-3.0#per-node-pointscalefactor" class="hash-link" aria-label="Direct link to per-node-pointscalefactor" title="Direct link to per-node-pointscalefactor">​</a></h3>
<p>Yoga would previously only ever read the <code>PointScaleFactor</code> associated with the root node, even if child nodes configured a different value. Yoga now respects the <code>PointScaleFactor</code> associated with a given node. This change may be breaking for code which previously set a scale factor on a config used by the root node, where a different value was provided to child nodes.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="integrating-yoga-into-your-project">Integrating Yoga into your project<a href="https://yogalayout.dev/blog/announcing-yoga-3.0#integrating-yoga-into-your-project" class="hash-link" aria-label="Direct link to Integrating Yoga into your project" title="Direct link to Integrating Yoga into your project">​</a></h2>
<p>Yoga includes a reference CMake build, and has official bindings published across several package managers:</p>
<p><strong>JavaScript</strong></p>
<div class="language-json codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-json codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// package.json</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token property" style="color:hsl(355, 65%, 65%)">"dependencies"</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">    </span><span class="token property" style="color:hsl(355, 65%, 65%)">"yoga-layout"</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">"^3.0.0"</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">   </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><strong>Android</strong></p>
<div class="language-kts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-kts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// build.gradle.kts</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">dependencies </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token function" style="color:hsl(207, 82%, 66%)">implementation</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token string-literal singleline string" style="color:hsl(95, 38%, 62%)">"com.facebook.yoga:yoga:3.0.0"</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><strong>CocoaPods</strong></p>
<div class="language-rb codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-rb codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)"># Podfile</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">pod </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">'Yoga'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">'~&gt; 3.0.0'</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><strong>SwiftPM</strong> (new, contributed by <a href="https://github.com/cntrump" target="_blank" rel="noopener noreferrer">@cntrump</a>)</p>
<div class="language-swift codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-swift codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Package.swift</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">import</span><span class="token plain"> </span><span class="token class-name" style="color:hsl(29, 54%, 61%)">PackageDescription</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">let</span><span class="token plain"> package </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token class-name" style="color:hsl(29, 54%, 61%)">Package</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">    dependencies</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">        </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">package</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">url</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">:</span><span class="token plain"> </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">"https://github.com/facebook/yoga.git"</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> from</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">:</span><span class="token plain"> </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">"3.0.0"</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">    </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">]</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Announcing Yoga 2.0]]></title>
            <link>https://yogalayout.dev/blog/announcing-yoga-2.0</link>
            <guid>https://yogalayout.dev/blog/announcing-yoga-2.0</guid>
            <pubDate>Fri, 30 Jun 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[We are excited to announce a new major (breaking) version of Yoga. This release contains 198 new commits from 64 contributors, and includes the first significant changes to Yoga in open-source since 2018.]]></description>
            <content:encoded><![CDATA[<p>We are excited to announce a new major (breaking) version of Yoga. This release contains 198 new commits from 64 contributors, and includes the first significant changes to Yoga in open-source since 2018.</p>
<p>While there has been a <a href="https://github.com/facebook/yoga/issues/1151" target="_blank" rel="noopener noreferrer">long gap in development</a>, the React Native team believes Yoga is a critical tool in delivering the future of React, and we have resumed development of the engine. This release of Yoga is focused on:</p>
<ol>
<li>Delivering the features we have shipped to React Native to standalone Yoga users</li>
<li>Updating toolchains, packaging, and build systems to make Yoga easier to consume</li>
<li>API changes to allow us to evolve the engine towards conformance</li>
</ol>
<p>Yoga continuously ships to thousands of surfaces across multiple frameworks at Meta. This version of Yoga corresponds to the version which will be included in React Native 0.73 shipping this fall.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="flexbox-gap">Flexbox gap<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#flexbox-gap" class="hash-link" aria-label="Direct link to Flexbox gap" title="Direct link to Flexbox gap">​</a></h2>
<p>The most significant new feature for users on an older stable release of Yoga is the addition of Flexbox gap support. This powers <code>gap</code>, <code>rowGap</code>, and <code>columnGap</code> in React Native 0.71.</p>
<div class="language-cpp codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-cpp codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.cpp</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token function" style="color:hsl(207, 82%, 66%)">YGNodeStyleSetGap</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> YGGutterRow</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">2.0f</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-java codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-java codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.java</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setGap</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaGutter</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token constant" style="color:hsl(29, 54%, 61%)">ROW</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">2.0f</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-ts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-ts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.ts</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setGap</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">Gutter</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">Row</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">2</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="toolchain">Toolchain<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#toolchain" class="hash-link" aria-label="Direct link to Toolchain" title="Direct link to Toolchain">​</a></h2>
<p>Meta uses <a href="https://buck.build/" target="_blank" rel="noopener noreferrer">Buck</a> across its monorepo, but we recognize that Buck has acted as a barrier to be able to use Yoga outside of Meta. Yoga no longer ships build logic for Buck to open-source. We have instead added over 20 new validation jobs to GitHub Actions to continually validate that Yoga builds correctly in common systems and scenarios where Yoga is used in OSS.</p>
<p>New toolchain support includes:</p>
<ol>
<li>A reference CMake build for Yoga and its unit tests</li>
<li>A modern Gradle build and published AARs</li>
<li>Compatibility with XCode 14.3+</li>
<li>Compatibility with Node 16+</li>
<li>Support for WebAssembly in both Node and browsers</li>
<li>Support for MSVC, higher warning levels, and building without exceptions</li>
</ol>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="aiming-for-conformance">Aiming for Conformance<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#aiming-for-conformance" class="hash-link" aria-label="Direct link to Aiming for Conformance" title="Direct link to Aiming for Conformance">​</a></h2>
<p>Our team wants to enable engineers to be able to create a single style which renders faithfully across Yoga and web. Conformance is a moving target, with browsers like Chromium regularly making behavior changes to better achieve it. This requires making behavior changes to Yoga which break existing behaviors, for better consistency with the web.</p>
<p>In Yoga 2.0, we’ve generalized <code>UseLegacyStretchBehaviour</code> to a new <a href="https://github.com/facebook/yoga/issues/1247" target="_blank" rel="noopener noreferrer">Errata API</a>, to allow different parts of a Yoga tree to target different conformance levels. This allows rendering part of the tree to be compatible with styles written for web, with other parts compatible with styles written for older versions of Yoga.</p>
<p>Yoga's default behavior going forward is W3C compliance. We recommend users sensitive to the change to set <code>YGErrataClassic,</code> or <code>YGErrataAll</code> if you were already setting <code>UseLegacyStretchBehaviour</code>.</p>
<div class="language-cpp codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-cpp codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.cpp</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">YGConfigRef config </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token function" style="color:hsl(207, 82%, 66%)">YGConfigNew</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token function" style="color:hsl(207, 82%, 66%)">YGConfigSetErrata</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> YGErrataClassic</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">YGNodeRef node </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token function" style="color:hsl(207, 82%, 66%)">YGNodeNewWithConfig</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-java codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-java codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.java</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaConfig</span><span class="token plain"> config </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaConfigFactory</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setErrata</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaErrata</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token constant" style="color:hsl(29, 54%, 61%)">CLASSIC</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaNode</span><span class="token plain"> node </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token class-name" style="color:hsl(29, 54%, 61%)">YogaNodeFactory</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-ts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-ts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Example.ts</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">const</span><span class="token plain"> config </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> Config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setErrata</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">Errata</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">Classic</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">const</span><span class="token plain"> node </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> Node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="yoga-for-javascript">Yoga for JavaScript<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#yoga-for-javascript" class="hash-link" aria-label="Direct link to Yoga for JavaScript" title="Direct link to Yoga for JavaScript">​</a></h2>
<p>Yoga’s previous JavaScript bindings are not installable when using Node 12+, making them effectively unusable in today’s JavaScript ecosystem. We now ship a new package with prebuilt binaries and first-class support for TypeScript and modern bundlers.</p>
<p>Two variants are shipped:</p>
<ol>
<li>An asmjs variant for compatibility</li>
<li>A JS module with embedded WebAssembly (~50% faster)</li>
</ol>
<p>Both are about 45KB when gzipped.</p>
<p>WebAssembly binaries must be asynchronously compiled and loaded in Chrome. In the absence of universal support for top-level await, we have made the breaking change to require explicitly asynchronously loading Yoga before using it.</p>
<div class="language-ts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-ts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token keyword" style="color:hsl(286, 60%, 67%)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain">loadYoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> Align</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(286, 60%, 67%)">from</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'yoga-layout'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">const</span><span class="token plain"> Yoga </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(286, 60%, 67%)">await</span><span class="token plain"> </span><span class="token function" style="color:hsl(207, 82%, 66%)">loadYoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">const</span><span class="token plain"> node </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> Yoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">Node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setAlignContent</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">Align</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">Center</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p>The previous behavior of blocking to load the binary can be replicated by importing from the  <code>yoga-layout/sync</code> entrypoint, but this is not recommended for new usages, and does not allow using WebAssembly on browsers.</p>
<div class="language-ts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-ts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token keyword" style="color:hsl(286, 60%, 67%)">import</span><span class="token plain"> Yoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token constant" style="color:hsl(29, 54%, 61%)">ALIGN_CENTER</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(286, 60%, 67%)">from</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'yoga-layout/sync'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">const</span><span class="token plain"> node </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> Yoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">Node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">create</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">node</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token function" style="color:hsl(207, 82%, 66%)">setAlignContent</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token constant" style="color:hsl(29, 54%, 61%)">ALIGN_CENTER</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<p><code>yoga-layout</code> and <code>yoga-layout/sync</code> try to pick between <code>asmjs</code> and <code>WebAssembly</code> automatically based on the <a href="https://webpack.js.org/guides/package-exports/#target-environment" target="_blank" rel="noopener noreferrer">target environment</a> set by your bundler, but you can choose this explicitly as well.</p>
<div class="language-ts codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-ts codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token keyword" style="color:hsl(286, 60%, 67%)">import</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain">loadYoga</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token plain"> </span><span class="token keyword" style="color:hsl(286, 60%, 67%)">from</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">'yoga-layout/wasm-async'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<blockquote>
<p>Note: the <code>yoga-layout</code> package requires your bundler and typechecker to configured to be able to follow the package <code>exports </code>field.</p>
</blockquote>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="deprecations-and-removals">Deprecations and removals<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#deprecations-and-removals" class="hash-link" aria-label="Direct link to Deprecations and removals" title="Direct link to Deprecations and removals">​</a></h2>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="yogakit-and-yogalayout-viewgroup">YogaKit and YogaLayout ViewGroup<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#yogakit-and-yogalayout-viewgroup" class="hash-link" aria-label="Direct link to YogaKit and YogaLayout ViewGroup" title="Direct link to YogaKit and YogaLayout ViewGroup">​</a></h3>
<p>We are deprecating, <code>YogaKit</code> and the <code>YogaLayout</code> ViewGroup. These libraries allow initegrating Yoga directly with UIKit and the Android view system, but are not widely used by Meta in production. We are instead focusing on higher-level libraries using Yoga like <a href="https://fblitho.com/" target="_blank" rel="noopener noreferrer">Litho</a> and <a href="https://reactnative.dev/" target="_blank" rel="noopener noreferrer">React Native</a>. Because we aren’t in a place to continue development, or validate contributions, we are discontinuing development. These libraries will not receive future updates beyond the Yoga <code>release-v2.0</code> branch.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="uselegacystretchbehaviour">UseLegacyStretchBehaviour<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#uselegacystretchbehaviour" class="hash-link" aria-label="Direct link to UseLegacyStretchBehaviour" title="Direct link to UseLegacyStretchBehaviour">​</a></h3>
<p>The functions to manipulate <code>UseLegacyStretchBehaviour</code> have been deprecated. Previous users of the API should now set an appropriate errata level, like <code>YGErrataAll</code> to opt-out of all future conformance fixes.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="c-bindings">C# bindings<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#c-bindings" class="hash-link" aria-label="Direct link to C# bindings" title="Direct link to C# bindings">​</a></h3>
<p>C# bindings were contributed to the Yoga repo but have since degraded. The bindings have not had working build validation, or a consistent contributor. We have removed them from the Yoga repo, but we will continue to provide a public C ABI for others to build bindings on top of.</p>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="private-c-apis">Private C++ APIs<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#private-c-apis" class="hash-link" aria-label="Direct link to Private C++ APIs" title="Direct link to Private C++ APIs">​</a></h3>
<p>Yoga’s header structure has historically allowed the inclusion of concrete internal structures like <code>YGStyle</code> or <code>YGNode</code>. We will begin to enforce that users instead rely on the public C APIs provided by <code>#include &lt;yoga/Yoga.h&gt;</code>. Other C++ APIs may change without notice.</p>
<div class="language-cpp codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-cpp codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Public API (GOOD)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token macro property directive-hash" style="color:hsl(355, 65%, 65%)">#</span><span class="token macro property directive keyword" style="color:hsl(286, 60%, 67%)">include</span><span class="token macro property" style="color:hsl(355, 65%, 65%)"> </span><span class="token macro property string" style="color:hsl(95, 38%, 62%)">&lt;yoga/Yoga.h&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">YGConfigRef config </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token function" style="color:hsl(207, 82%, 66%)">YGConfigNew</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token function" style="color:hsl(207, 82%, 66%)">YGConfigSetPointScaleFactor</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">1.0f</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-cpp codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-cpp codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// Private API (BAD)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token macro property directive-hash" style="color:hsl(355, 65%, 65%)">#</span><span class="token macro property directive keyword" style="color:hsl(286, 60%, 67%)">include</span><span class="token macro property" style="color:hsl(355, 65%, 65%)"> </span><span class="token macro property string" style="color:hsl(95, 38%, 62%)">&lt;yoga/YGConfig.h&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">YGConfig config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain">yogaLogger_</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">config</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">.</span><span class="token plain">pointScaleFactor </span><span class="token operator" style="color:hsl(207, 82%, 66%)">=</span><span class="token plain"> </span><span class="token number" style="color:hsl(29, 54%, 61%)">1.0f</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">;</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h3 class="anchor anchorWithStickyNavbar_JmGV" id="c-11-support">C++ 11 Support<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#c-11-support" class="hash-link" aria-label="Direct link to C++ 11 Support" title="Direct link to C++ 11 Support">​</a></h3>
<p>Yoga now requires a compiler which supports C++ 14. This will likely be bumped to C++ 17 in a future minor release.</p>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="how-do-i-get-it">How do I get it?<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#how-do-i-get-it" class="hash-link" aria-label="Direct link to How do I get it?" title="Direct link to How do I get it?">​</a></h2>
<p>For users who don’t want to build from source, new Yoga packages have been published to the npmjs registry, Maven Central, and CocoaPods.</p>
<div class="language-json5 codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-json5 codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// package.json</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token property unquoted" style="color:hsl(355, 65%, 65%)">dependencies</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token property" style="color:hsl(355, 65%, 65%)">"yoga-layout"</span><span class="token operator" style="color:hsl(207, 82%, 66%)">:</span><span class="token plain"> </span><span class="token string" style="color:hsl(95, 38%, 62%)">"^2.0.0"</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-gradle codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-gradle codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)">// build.gradle</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token keyword" style="color:hsl(286, 60%, 67%)">dependencies</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">  </span><span class="token keyword" style="color:hsl(286, 60%, 67%)">implementation</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">(</span><span class="token interpolation-string string" style="color:hsl(95, 38%, 62%)">"com.facebook.yoga:yoga:2.0.0"</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain"></span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">}</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<div class="language-rb codeBlockContainer_mQmQ theme-code-block" style="--prism-background-color:hsl(220, 13%, 18%);--prism-color:hsl(220, 14%, 71%)"><div class="codeBlockContent_D5yF"><pre tabindex="0" class="prism-code language-rb codeBlock_RMoD thin-scrollbar" style="background-color:hsl(220, 13%, 18%);color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><code class="codeBlockLines_AclH"><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token comment" style="color:hsl(220, 10%, 40%)"># Podfile</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(220, 14%, 71%);text-shadow:0 1px rgba(0, 0, 0, 0.3)"><span class="token plain">pod </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">'Yoga'</span><span class="token punctuation" style="color:hsl(220, 14%, 71%)">,</span><span class="token plain"> </span><span class="token string-literal string" style="color:hsl(95, 38%, 62%)">'~&gt; 2.0.0'</span><br></span></code></pre><div class="buttonGroup_aaMX"><button type="button" aria-label="Copy code to clipboard" title="Copy" class="clean-btn"><span class="copyButtonIcons_z5j7" aria-hidden="true"><svg viewBox="0 0 24 24" class="copyButtonIcon_FoOz"><path fill="currentColor" d="M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"></path></svg><svg viewBox="0 0 24 24" class="copyButtonSuccessIcon_L0B6"><path fill="currentColor" d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"></path></svg></span></button></div></div></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="acknowledgements">Acknowledgements<a href="https://yogalayout.dev/blog/announcing-yoga-2.0#acknowledgements" class="hash-link" aria-label="Direct link to Acknowledgements" title="Direct link to Acknowledgements">​</a></h2>
<p>Yoga 2.0 contains major external contributions from <a href="https://github.com/intergalacticspacehighway" target="_blank" rel="noopener noreferrer">@intergalacticspacehighway</a>, <a href="https://github.com/jacobp100" target="_blank" rel="noopener noreferrer">@jacobp100</a>, <a href="https://github.com/jeetiss" target="_blank" rel="noopener noreferrer">@jeetiss</a> and <a href="https://github.com/nicoburns" target="_blank" rel="noopener noreferrer">@nicoburns</a>.</p>]]></content:encoded>
        </item>
    </channel>
</rss>