<?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>This Week In React - Newsletter</title>
        <link>https://thisweekinreact.com/newsletter</link>
        <description>Weekly issues of the This Week In React curation newsletter</description>
        <lastBuildDate>Wed, 04 Mar 2026 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[This Week In React #271: Vinext, RSC, Activity, Async React, Next.js, TanStack | Expo 55, Router, Survey, Enriched, Maestro, Metro, Sparkling, Grab, Brownfield | TC39, Temporal, Navigation, npmx, Bun, Deno, Solid]]></title>
            <link>https://thisweekinreact.com/newsletter/271</link>
            <guid>https://thisweekinreact.com/newsletter/271</guid>
            <pubDate>Wed, 04 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hi everyone\!]]></description>
            <content:encoded><![CDATA[<p>Hi everyone!</p>
<p>This week is rather quiet in the React world, so we took a step back on Vinext, found great community blog posts, and weak signals.</p>
<p>On the React Native side, let’s welcome our new author, <a href="https://x.com/jaworek3211" target="_blank" rel="noopener noreferrer">Jan Jaworski</a>, who covered the new Expo SDK and the State of React Native survey results, among many other things.</p>
<p>Let's dive in!</p>
<!-- -->
<p>As always, thanks for supporting us on your favorite platform:</p>
<ul>
<li>🦋 <a href="https://slo.im/last/b" target="_blank" rel="noopener noreferrer">Bluesky</a></li>
<li>✖️ <a href="https://slo.im/last/x" target="_blank" rel="noopener noreferrer">X / Twitter</a></li>
<li>👔 <a href="https://slo.im/last/l" target="_blank" rel="noopener noreferrer">LinkedIn</a></li>
<li>👽 <a href="https://slo.im/last/r" target="_blank" rel="noopener noreferrer">Reddit</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/TkDodo/status/1661337628875137027" target="_blank" rel="noreferrer nofollow">I'm constantly finding interesting things to learn in there.</a></blockquote><figcaption><a href="https://twitter.com/TkDodo" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Dominik Dorfmeister" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/TkDodo?fallback=https://github.com/TkDodo.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Dominik Dorfmeister</cite></strong><small class="avatar__subtitle" itemprop="description">Web Developer - React-Query maintainer</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor1">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/271#sponsor1" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=1st" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/meticulous.jpg" alt="Still writing tests manually?" class="img_SS3x"></a></p>
<p><strong><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=1st" target="_blank" rel="noopener noreferrer">Still writing tests manually?</a></strong></p>
<p>Notion, Dropbox and LaunchDarkly&nbsp;have found a new testing paradigm - and they can't imagine working without it.&nbsp;Built by <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">ex-Palantir engineers</a>, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">near-exhaustive coverage</a> with <em>zero developer effort</em> - impossible to deliver by any other means.&nbsp;</p>
<p>It works like magic in the background:</p>
<ul>
<li>Near-exhaustive coverage on every test run</li>
<li>No test creation</li>
<li><strong>No maintenance (seriously)</strong></li>
<li>Zero flakes (built on a deterministic browser)</li>
</ul>
<p><strong>🤨</strong> Curious? <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">Book in a time to learn more</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react">⚛️ React<a href="https://thisweekinreact.com/newsletter/271#react" class="hash-link" aria-label="Direct link to ⚛️ React" title="Direct link to ⚛️ React">​</a></h2>
<p><strong>What is Vinext really worth?</strong></p>
<p>Last week, we <a href="https://thisweekinreact.com/newsletter/270#react" target="_blank" rel="noopener noreferrer">covered Vinext</a>, Cloudflare’s AI-driven reimplementation of Next.js on top of Vite. Now that the dust has settled, let’s see what the community and the Next.js team have to say.</p>
<ul>
<li>🔐 <a href="https://www.hacktron.ai/blog/hacking-cloudflare-vinext" target="_blank" rel="noopener noreferrer">Vibe-Hacking Cloudflare's Vibe-Coded Next.js Replacement</a> - Show that AI-generated code passing functional tests can still miss security hardening, and automated AI tooling can help find those vulnerabilities.</li>
<li>🐦 <a href="https://x.com/rauchg/status/2026864132423823499" target="_blank" rel="noopener noreferrer">Guillermo Rauch - “We've identified, responsibly disclosed, and confirmed 2 critical, 2 high, 2 medium, 1 low security vulnerabilities”</a></li>
<li>🐦 <a href="https://x.com/feedthejim/status/2027156055617364272" target="_blank" rel="noopener noreferrer">Jimmy Lai mentions that Vinext’s 94% API coverage is misleading</a> - In reality, Vinext only passes a limited number of the 13,000+ Next.js test suite (13% dev, 20% e2e, 10% production). Many edge cases are likely misbehaving.</li>
<li>🐦 <a href="https://x.com/dok2001/status/2027449223319351526" target="_blank" rel="noopener noreferrer">The <code>cio.gov</code> website using Vinext is "basically a static site"</a> - This deployment doesn’t really dogfood the whole API surface of Next.js.</li>
<li>📖 <a href="https://vercel.com/kb/guide/migrate-to-vercel-from-cloudflare" target="_blank" rel="noopener noreferrer">Vercel docs - Migrate to Vercel from Cloudflare</a> - It’s no secret that Vercel/Cloudflare CEOs do not like each other. The timing of this newly published docs page feels… noteworthy.</li>
<li>🎥 <a href="https://www.youtube.com/watch?v=abbeIUOCzmw" target="_blank" rel="noopener noreferrer">Fireship - Cloudflare just slop forked Next.js</a></li>
</ul>
<p>While the AI-generated port is undeniably impressive, it’s likely too early to adopt it in production. It also remains unclear whether Cloudflare intends to support the project over the long term and make it production-ready.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://blog.sentry.io/setting-up-next-js-source-maps-sentry/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=nextjs-fy27q1-nextjs&amp;utm_content=newsletter-react-link-blog-sourcemaps-learnmore" target="_blank" rel="noopener noreferrer">Next.js minifies your code into mush. Source maps fix that. Learn how to wire up Sentry so your stack traces are actually readable</a></li>
<li>📣 <a href="https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-react-foundation" target="_blank" rel="noopener noreferrer">Linux Foundation Announces the Formation of the React Foundation</a></li>
<li>👀 <a href="https://github.com/reactjs/react.dev/pull/8300" target="_blank" rel="noopener noreferrer">React.dev PR - Add RSC Sandboxes</a> - The React docs website has merged infrastructure to run full-stack interactive playgrounds. However, it hasn’t been used on any public page yet. The server-related features (RSC, async components, use, Suspense, Server Functions, Actions, streaming) run locally in a Web Worker.</li>
<li>👀 <a href="https://github.com/TheAlexLichter/oxlint-react-compiler-rules" target="_blank" rel="noopener noreferrer">Oxlint + React Compiler Rules integration demo</a> - Oxlint supports loading ESLint plugins via the <code>jsPlugins,</code> so technically it can run the React Compiler rules too.</li>
<li>📖 <a href="https://react.dev/reference/react/ViewTransition#animating-enter-exit-with-activity" target="_blank" rel="noopener noreferrer"><code>&lt;ViewTransition&gt;</code> docs - New example - Animating enter/exit with Activity</a></li>
<li>💬 <a href="https://github.com/vercel/next.js/issues/85470" target="_blank" rel="noopener noreferrer">Next.js issue - Server requests and latency increased after upgrading from Next.js 15 to 16</a> - Users noticed an increase in server requests after upgrading. Andrew explains this is due to a new fine-grained segment prefetching system that maximizes caching efficiency. A new <code>prefetchInlining</code> flag is coming to give you control over this behavior until they implement a sensible heuristic.</li>
<li>💬 <a href="https://github.com/adobe/react-spectrum/discussions/9696#discussioncomment-15942257" target="_blank" rel="noopener noreferrer">Devon from React Aria explains the limits of the native <code>&lt;dialog&gt;</code> vs JS/React abstractions</a></li>
<li>🗓 <a href="https://reactsummit.com/?utm_source=thisweekinreact" target="_blank" rel="noopener noreferrer">React Summit</a> - 🇳🇱 Amsterdam - 12 &amp; 16 Jun. Join thousands of React devs live in Amsterdam or online. Learn from top contributors and enjoy the festival-style vibes! Register now using promo code TWIR (-10%)</li>
<li>📜 <a href="https://twofoldframework.com/blog/error-rendering-with-rsc" target="_blank" rel="noopener noreferrer">Error rendering with RSC</a> - Great deep-dive into how errors flow through the 3 RSC rendering environments (RSC server, SSR, browser). Only the browser supports Error Boundaries, so RSC/SSR errors need a clear path to reach the client side and get displayed.</li>
<li>📜 <a href="https://inside-react.vercel.app/blog/understanding-why-react-fiber-exists" target="_blank" rel="noopener noreferrer">Understanding Why React Fiber Exists</a> - Greatly explains why React abandoned recursive reconciliation in favor of the Fiber architecture, making it possible to pause rendering and accept new user inputs.</li>
<li>📜 <a href="https://www.mux.com/blog/react-is-changing-the-game-for-streaming-apps-with-the-activity-component" target="_blank" rel="noopener noreferrer">React is changing the game for streaming apps with the Activity component</a> - Practical use case for <code>&lt;Activity&gt;</code> to preserve playback state when hiding video/audio players. Don’t forget to pause the player using an Effect cleanup function.</li>
<li>📜 <a href="https://stackinsight.dev/blog/memory-leak-empirical-study/" target="_blank" rel="noopener noreferrer">Frontend Memory Leaks: A 500-Repository Static Analysis</a> - A study scanned 500 repos across many frameworks and breaks down the results. Gives an overview of the most frequent React-related memory leaks, notably the lack of a <code>useEffect</code> cleanup function.</li>
<li>📜 <a href="https://sergiodxa.com/tutorials/create-a-per-request-database-instance-with-middleware" target="_blank" rel="noopener noreferrer">Create a Per-Request Database Instance with React Router Middleware</a> - Shows how to wrap each request in a database transaction.</li>
<li>💸 <a href="https://certificates.dev/laravel?friend=TWIR" target="_blank" rel="noopener noreferrer">Certificates.dev - Validate your cross-stack capability with a comprehensive Certification for Laravel. Limited-time launch offer: 40% off!</a></li>
<li>📦 <a href="https://github.com/TanStack/store/releases/tag/%40tanstack%2Fstore%400.9.0" target="_blank" rel="noopener noreferrer">TanStack Store 0.9 - API breaking changes, using faster alien-signals library</a></li>
<li>📦 <a href="https://github.com/vitejs/vite-plugin-react/releases/tag/plugin-react%406.0.0-beta.0" target="_blank" rel="noopener noreferrer">Vite Plugin React beta.0 - Drop Vite 7 support, remove Babel dependency</a></li>
<li>📦 <a href="https://aralroca.com/blog/next-translate-3-0" target="_blank" rel="noopener noreferrer">Next-translate 3.0 - Turbopack, Next.js 16, and a New Chapter</a></li>
<li>📦 <a href="https://marmelab.com/blog/2026/02/26/react-admin-february-2026-update.html" target="_blank" rel="noopener noreferrer">React-Admin 5.12, 5.13, 5.14 - February 2026 Update</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=EnzKA0fQkBM" target="_blank" rel="noopener noreferrer">Jack Herrington - TanStack Start SSR: 3 Reasons To Love It</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=KLRRstvrvVI" target="_blank" rel="noopener noreferrer">Josef Bender - New TanStack Package: Exclusive First Look</a></li>
<li>🎙️ <a href="https://share.transistor.fm/s/de32a7b9" target="_blank" rel="noopener noreferrer">This Month in React 2026-02 - CloudFlare remakes Next with AI; Vercel big mad. We talk too much about AI Agents</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a target="_blank" rel="noreferrer nofollow">It's exceptionally well curated, offers great insights and is well worth subscribing to!</a></blockquote><figcaption><a href="https://twitter.com/addyosmani" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Addy Osmani" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/addyosmani?fallback=https://github.com/addyosmani.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Addy Osmani</cite></strong><small class="avatar__subtitle" itemprop="description">Head of Chrome DX - Google</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor2">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/271#sponsor2" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://formengine.io/react-form-builder-library/?utm_source=thisweekinreact&amp;utm_medium=sponsor2-040326&amp;utm_campaign=mui-designer&amp;utm_content=dragdrop&amp;utm_term=deploy-across" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/optimajet.jpg" alt="Add a powerful Form Builder to your app in hours!" class="img_SS3x"></a></p>
<p><strong><a href="https://formengine.io/react-form-builder-library/?utm_source=thisweekinreact&amp;utm_medium=sponsor2-040326&amp;utm_campaign=mui-designer&amp;utm_content=dragdrop&amp;utm_term=deploy-across" target="_blank" rel="noopener noreferrer">Add a powerful Form Builder to your app in hours!</a></strong></p>
<p><strong>Why developers use it instead of building it?</strong></p>
<ul>
<li><strong>Plug &amp; play custom components:</strong> Wrap any React component and drop it into the builder — it just works. No internal APIs to learn, no hacky overrides</li>
<li><strong>Deep customization:</strong> Add custom validations, actions, and logic through a clean API</li>
<li><strong>JSON output you control:</strong> Every form saves as a portable JSON schema — store it, version it, own it</li>
<li><strong>Self-hosted &amp; white-label ready:</strong> Run it on your infrastructure, brand it as your own</li>
</ul>
<p><strong>Perfect for:</strong> internal tools, admin panels, no-code platforms, SaaS products with custom form needs, and enterprise workflow automation.</p>
<p><strong>Commercial license. Serious support. No vendor lock-in on your data.</strong></p>
<p>Quick Start → <strong>Working form builder embedded in your app in under an hour</strong></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react-native">📱 React-Native<a href="https://thisweekinreact.com/newsletter/271#react-native" class="hash-link" aria-label="Direct link to 📱 React-Native" title="Direct link to 📱 React-Native">​</a></h2>
<p><a href="https://expo.dev/changelog/sdk-55" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/271/expo.jpg" alt="Expo SDK 55" class="img_SS3x"></a></p>
<p><a href="https://expo.dev/changelog/sdk-55" target="_blank" rel="noopener noreferrer"><strong>Expo SDK 55</strong></a></p>
<p>Expo SDK 55 is out now as a stable release! It brings React Native 0.83, React 19.2, Expo Router 55, and a massive amount of improvements across the entire ecosystem.</p>
<p><strong>React Native 0.82 &amp; 0.83 Highlights:</strong></p>
<ul>
<li><strong>The New Architecture</strong> is now a requirement. You can try out new AI skills to help you with the update process.</li>
<li><strong>React 19.2 Integration:</strong> Brings the new <code>&lt;Activity&gt;</code> API (for preserving state in hidden component trees) and <code>useEffectEvent</code>.</li>
<li><strong>DOM Node APIs:</strong> Native components now provide DOM-like nodes via refs, allowing you to traverse the UI tree and measure layouts just like on the web.</li>
<li><strong>Revamped DevTools:</strong> A brand-new DevTools desktop app that no longer requires a browser, featuring dedicated Network and Performance panels. Web Performance APIs are also now stable.</li>
<li><strong>Optimized Android Debugging:</strong> A new <code>debugOptimized</code> build type speeds up your dev environment, allowing animations and re-renders to hit ~60FPS while still allowing JS debugging.</li>
<li><strong>Experimental Hermes V1:</strong> Available as an opt-in, bringing meaningful performance improvements for bundle loading and Time to Interactive (TTI).</li>
</ul>
<p><strong>Expo SDK 55 Highlights:</strong></p>
<ul>
<li><a href="https://expo.dev/blog/expo-router-v55-more-native-navigation-more-powerful-web" target="_blank" rel="noopener noreferrer"><strong>Expo Router v55</strong></a> <strong>with Native Features:</strong> Added support for the native Apple Zoom transition, a new iOS <code>Stack.Toolbar</code> API, experimental SplitView, and a new Colors API for dynamic Material 3 and adaptive iOS colors. Yes, the versioning scheme has changed: it’s v55, not v7.</li>
<li><strong>AI Tooling:</strong> You can try out new AI skills to help you with the update process. Expo also introduced Model Context Protocol (MCP) tools for CLI actions/EAS services, alongside the official <code>expo/skills</code> repository.</li>
<li><strong>Developer Experience:</strong> A small but welcome improvement is the ability to discover active dev servers on iOS with no QR code scanning needed!</li>
<li><a href="https://expo.dev/blog/ship-smaller-ota-updates-bundle-diffing-comes-to-ota-updates-in-sdk-55" target="_blank" rel="noopener noreferrer"><strong>Smaller OTA updates</strong></a>: ship up to 75% smaller OTA updates thanks to Hermes bytecode bundle diffing.</li>
</ul>
<p>This release also shapes <a href="https://blog.swmansion.com/the-future-of-video-in-react-native-moving-from-expo-av-to-expo-video-6f4f78e51196" target="_blank" rel="noopener noreferrer">the future of video in React Native</a>. The legacy <code>expo-av</code> module has been removed and replaced by <code>expo-video</code> &amp; <code>expo-audio</code>, which feature an improved API, synchronous calls, and better state management with atomic state updates.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<p><a href="https://results.2025.stateofreactnative.com/en-US/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/271/survey.jpg" alt="State of React Native 2025" class="img_SS3x"></a></p>
<p><strong><a href="https://results.2025.stateofreactnative.com/en-US/" target="_blank" rel="noopener noreferrer">State of React Native 2025</a></strong></p>
<p>The results for the State of React Native 2025 survey are officially out! This year marks the <strong>10th anniversary</strong> of React Native, alongside hitting a massive milestone of <strong>4 million weekly downloads</strong> (double last year's numbers!). The ecosystem is maturing rapidly, and the survey reflects a highly positive shift in the overall developer experience. Software Mansion devs break it down on their <a href="https://www.youtube.com/watch?v=YWEsoSosQXQ" target="_blank" rel="noopener noreferrer">YouTube channel</a>.</p>
<p>Here are some of the highlights that we’ve found interesting:</p>
<ul>
<li><strong>The New Architecture Era:</strong> The New Architecture is now the default and has already reached an impressive <strong>~80% adoption rate</strong>. Combined with recent React Native releases shipping with zero user-facing breaking changes, the dreaded "upgrade pain" is finally fading into the past.</li>
<li><strong>Navigation:</strong> <strong>React Navigation</strong> and <strong>Expo Router</strong> dominate the space. While deep linking and TypeScript inference remain the top developer pain points, upcoming updates (like React Navigation 8) are specifically targeting these exact issues. We are also seeing a massive push toward new native primitives like native tabs, split views, and zoom transitions.</li>
<li><strong>Styling:</strong> The community is heavily leaning into Tailwind-style utility classes (<strong>NativeWind</strong>) and <strong>react-native-unistyles</strong>. While the "lack of a standard CSS API" was a top complaint, React Native is rapidly closing the gap by shipping web-compatible features natively—like box shadows, gradients, and CSS filters—with more on the way.</li>
<li><strong>Graphics &amp; Animations:</strong> <strong>React Native Reanimated</strong> remains the undisputed king of animations, with developers highly praising the new Shared Element Transitions. Meanwhile, <strong>React Native Skia</strong> is maturing fast, empowering developers to build much more ambitious and performant custom graphics without native code.</li>
<li><strong>Community Stewardship:</strong> With the recent launch of the independent <strong>React Foundation</strong> (hosted by the Linux Foundation), the future stewardship of React Native looks incredibly stable.</li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://go.posthog.com/twir-mar4" target="_blank" rel="noopener noreferrer">PostHog - Monitor and debug errors in your React Native app with crash reporting and stack traces. 100k exceptions free every month</a></li>
<li>📊 <a href="https://www.revenuecat.com/state-of-subscription-apps-2025/#h-download-to-paid-by-framework" target="_blank" rel="noopener noreferrer">State of Subscription Apps 2025</a>: Revenue by mobile app framework shows that React Native apps perform the best in earnings.</li>
<li>👀 <a href="https://react-native-vision-camera.com/docs/guides/vision-camera-v5" target="_blank" rel="noopener noreferrer">Vision Camera 5 preview</a> - The upcoming release now has a dedicated documentation section detailing its new features.</li>
<li>💬 <a href="https://github.com/react-native-community/discussions-and-proposals/pull/981" target="_blank" rel="noopener noreferrer">AbortController RFC</a> - A proposal to better align React Native's implementation with the web standard and support the missing APIs.</li>
<li>🐦 <a href="https://x.com/swmansion/status/2028898707681251493" target="_blank" rel="noopener noreferrer">RNRepo now supports iOS</a> - Faster build times thanks to pre-built library artifacts.</li>
<li>🐦 <a href="https://x.com/aleqsio/status/2028946936951169234" target="_blank" rel="noopener noreferrer">React Native Worktree skill - enables multiple agents to use simulators without conflicts</a></li>
<li>📜 <a href="https://www.callstack.com/blog/sparkling-the-missing-app-layer-for-lynx-js" target="_blank" rel="noopener noreferrer">Sparkling: The Missing App Layer for Lynx.js?</a> - The Callstack team explores the previously mentioned Lynx framework.</li>
<li>📜 <a href="https://medium.com/doctolib/building-reliable-ai-chat-on-mobile-01015d74422e" target="_blank" rel="noopener noreferrer">Building reliable AI Chat on mobile</a> - An insight into the challenges of building a great user experience for mobile AI chat interfaces. Also announcing a FlatList-compatible library to address these challenges.</li>
<li>📜 <a href="https://codewithbeto.dev/blog/expo-ui-tips" target="_blank" rel="noopener noreferrer">Expo UI tips</a> - Non-obvious solutions and techniques to make your app make use of native features to look and feel better.</li>
<li>📜 <a href="https://www.callstack.com/blog/react-native-monorepo-with-pnpm-workspaces" target="_blank" rel="noopener noreferrer">React Native Monorepo with PNPM Workspaces</a></li>
<li>📦 <a href="https://github.com/native-html/render" target="_blank" rel="noopener noreferrer">@native-html/render - Render HTML as native views</a> - This old package has been refreshed and is now officially maintained by Software Mansion.</li>
<li>📦 <a href="https://github.com/callstackincubator/react-native-grab" target="_blank" rel="noopener noreferrer">Grab - Touch-to-grab context tool for React Native UI changes</a> - Similar to React-Grab on the web, this convenient tool permits giving accurate context to LLMs.</li>
<li>📦 <a href="https://github.com/mrousavy/nitro/releases/tag/v0.34.0" target="_blank" rel="noopener noreferrer">Nitro 0.34</a>, and <a href="https://github.com/mrousavy/nitro/releases/tag/v0.35.0" target="_blank" rel="noopener noreferrer">Nitro 0.35</a> with an API breaking change to fix a memory leak issue.</li>
<li>📦 <a href="https://github.com/software-mansion/react-native-enriched/releases/tag/v0.5.0" target="_blank" rel="noopener noreferrer">Enriched 0.5 - HTML normalizer, preserve rich formatting, and more</a></li>
<li>📦 <a href="https://x.com/ReactNativeRwd/status/2027333392254017948" target="_blank" rel="noopener noreferrer">Enriched Markdown 0.3 - RTL support, GFM support (tables, task lists, and autolinks)</a></li>
<li>📦 <a href="https://www.callstack.com/blog/announcing-react-native-brownfield-v3-with-expo-config-plugin" target="_blank" rel="noopener noreferrer">Brownfield 3.0 - New Expo Config plugin</a></li>
<li>📦 <a href="https://maestro.dev/blog/visual-testing" target="_blank" rel="noopener noreferrer">Maestro CLI 2.2 - Visual Testing capabilities</a></li>
<li>📦 <a href="https://github.com/facebook/metro/releases/tag/v0.84.1" target="_blank" rel="noopener noreferrer">Metro 0.84.1 - HTTPS support in Metro server</a></li>
<li>📦 <a href="https://github.com/uni-stack/uniwind/releases/tag/v1.4.0" target="_blank" rel="noopener noreferrer">Uniwind 1.4 - Scoped theme</a></li>
<li>📦 <a href="https://github.com/kuatsu/react-native-boost/releases/tag/v1.0.0" target="_blank" rel="noopener noreferrer">Boost 1.0 - A Babel plugin that automatically optimizes your apps</a></li>
<li>📦 <a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.7.0" target="_blank" rel="noopener noreferrer">Agent Device 0.7 - TV support, push notifications, clipboard commands, network dump, dogfood skill</a></li>
<li>🎙️ <a href="https://infinite.red/react-native-radio/rnr-354-react-native-screens-with-krzysztof-magiera" target="_blank" rel="noopener noreferrer">React Native Radio 354 - React Native Screens with Krzysztof Magiera</a> - Deep dive and sneak peek into the upcoming 5.0 rewrite built exclusively for the New Architecture.</li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="other">🔀 Other<a href="https://thisweekinreact.com/newsletter/271#other" class="hash-link" aria-label="Direct link to 🔀 Other" title="Direct link to 🔀 Other">​</a></h2>
<ul>
<li>👀 <a href="https://github.com/tc39/agendas/blob/main/2026/03.md" target="_blank" rel="noopener noreferrer">TC39 - Agenda for the 113th meeting - 10-12 March</a> - Next week, major proposals such as Temporal and Explicit Resource Management could move to stage 4.</li>
<li>📣 <a href="https://web.dev/blog/baseline-navigation-api" target="_blank" rel="noopener noreferrer">Navigation API - a better way to navigate, is now Baseline Newly Available</a> - The modern alternative to the History API is ready for prime time. Part of Interop 2026, the remaining browser incompatibilities should be fixed by the end of the year.</li>
<li>📣 <a href="https://npmx.dev/blog/alpha-release" target="_blank" rel="noopener noreferrer">Announcing npmx: a fast, modern browser for the npm registry</a></li>
<li>📦 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/148" target="_blank" rel="noopener noreferrer">Firefox 148</a> - Unlocks cross-browser support for CSS <code>shape()</code>, <code>position-try-order</code>, and Trusted Types to prevent XSS attacks. Speaking of XSS, Firefox is also the first browser to land the new <a href="https://hacks.mozilla.org/2026/02/goodbye-innerhtml-hello-sethtml-stronger-xss-protection-in-firefox-148/" target="_blank" rel="noopener noreferrer">Sanitizer API and <code>setHTML()</code></a>.</li>
<li>📦 <a href="https://bun.com/blog/bun-v1.3.10" target="_blank" rel="noopener noreferrer">Bun 1.3.10 - New REPL, ES decorators, faster event loop, barrel optimization, and more</a></li>
<li>📦 <a href="https://deno.com/blog/v2.7" target="_blank" rel="noopener noreferrer">Deno 2.7 - Temporal API, Windows ARM, and npm overrides</a></li>
<li>📦 <a href="https://github.com/solidjs/solid/releases/tag/v2.0.0-beta.0" target="_blank" rel="noopener noreferrer">Solid 2.0 beta - Async is first‑class, computations can return Promise, the graph knows how to suspend/resume</a></li>
<li>📦 <a href="https://better-auth.com/blog/1-5" target="_blank" rel="noopener noreferrer">Better Auth 1.5 - New CLI, OAuth 2.1 Provider, Electron integration, i18n support, and more</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fun">🤭 Fun<a href="https://thisweekinreact.com/newsletter/271#fun" class="hash-link" aria-label="Direct link to 🤭 Fun" title="Direct link to 🤭 Fun">​</a></h2>
<p><a href="https://x.com/thekitze/status/2026944200948768870" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/271/meme.jpg" alt="alt" class="img_SS3x"></a></p>
<p><a href="https://x.com/bunjavascript/status/2027651541730267477" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/271/meme2.jpg" alt="alt" class="img_SS3x"></a></p>
<p>See ya! 👋</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[This Week In React #270: Next.js, React Router, TanStack, Ink, Async, AI | Hermes, React Navigation, CSS Grid, Maestro, QuickPush, Screens, Expo Skills, Async Storage | Node, Oxfmt, TypeScript, Border Shape, Sprites]]></title>
            <link>https://thisweekinreact.com/newsletter/270</link>
            <guid>https://thisweekinreact.com/newsletter/270</guid>
            <pubDate>Wed, 25 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hello everyone, Krzysztof and Kacper from Software Mansion here 👋]]></description>
            <content:encoded><![CDATA[<p>Hello everyone, Krzysztof and Kacper from <a href="https://swmansion.com/" target="_blank" rel="noopener noreferrer">Software Mansion</a> here 👋</p>
<p>The React Foundation officially launched. Cloudflare rebuilt the whole Next.js in a week using AI. In the meantime, the real Next.js is adding version-matched docs so agents always have context on new and recently updated APIs.</p>
<p>On the React Native side, Hermes is moving beyond mobile: Hermes-node brings the engine to Node.js as a potential V8 swap. CSS Grid is also coming to React Native, and TanStack Router has an early PoC running natively.</p>
<p>Let's dive in!</p>
<!-- -->
<p>As always, thanks for supporting us on your favorite platform:</p>
<ul>
<li>🦋 <a href="https://slo.im/last/b" target="_blank" rel="noopener noreferrer">Bluesky</a></li>
<li>✖️ <a href="https://slo.im/last/x" target="_blank" rel="noopener noreferrer">X / Twitter</a></li>
<li>👔 <a href="https://slo.im/last/l" target="_blank" rel="noopener noreferrer">LinkedIn</a></li>
<li>👽 <a href="https://slo.im/last/r" target="_blank" rel="noopener noreferrer">Reddit</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/wcandillon/status/1263825118557593600" target="_blank" rel="noreferrer nofollow">If you are not signed-up, you are missing out</a></blockquote><figcaption><a href="https://twitter.com/wcandillon" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="William Candillon" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/wcandillon?fallback=https://github.com/wcandillon.png"><div class="avatar__intro"><strong class="avatar__name"><cite>William Candillon</cite></strong><small class="avatar__subtitle" itemprop="description">React-Native animations expert - Youtuber</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor1">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/270#sponsor1" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/meticulous.jpg" alt="Still writing tests manually?" class="img_SS3x"></a></p>
<p><strong><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">Still writing tests manually?</a></strong></p>
<p>Notion, Dropbox and LaunchDarkly&nbsp;have found a new testing paradigm - and they can't imagine working without it.&nbsp;Built by <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">ex-Palantir engineers</a>, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">near-exhaustive coverage</a> with <em>zero developer effort</em> - impossible to deliver by any other means.&nbsp;</p>
<p>It works like magic in the background:</p>
<ul>
<li>Near-exhaustive coverage on every test run</li>
<li>No test creation</li>
<li><strong>No maintenance (seriously)</strong></li>
<li>Zero flakes (built on a deterministic browser)</li>
</ul>
<p><strong>🤨</strong> Curious? <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">Book in a time to learn more</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react">⚛️ React<a href="https://thisweekinreact.com/newsletter/270#react" class="hash-link" aria-label="Direct link to ⚛️ React" title="Direct link to ⚛️ React">​</a></h2>
<p><a href="https://blog.cloudflare.com/vinext/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/vinext.jpg" alt="How we rebuilt Next.js with AI in one week" class="img_SS3x"></a></p>
<p><strong><a href="https://blog.cloudflare.com/vinext/" target="_blank" rel="noopener noreferrer">How we rebuilt Next.js with AI in one week</a></strong></p>
<p>A single Cloudflare engineer rebuilt the Next.js API surface (App Router, RSC, Server Actions, middleware) on Vite in one week using AI for $1,100. Using Oxc/Rolldown, it builds 4.4x and produces 57% smaller bundles. Using the Vite Environment API, it overcomes OpenNext limits, making it compatible with edge runtimes such as Cloudflare Workers.</p>
<p>What started as a bold experiment became <a href="https://github.com/cloudflare/vinext" target="_blank" rel="noopener noreferrer">vinext</a>. It passes 2000+ tests and has 94% test coverage of the Next.js 16 API surface. The <code>cio.gov</code> website already runs it in production. It also introduces new concepts such as “Traffic-aware Pre-Rendering”.</p>
<p>This AI-driven port was only possible because Next.js has a well-documented API surface and a comprehensive test suite. A reminder of something TDD practitioners have known for years, but seems more important than ever today: the real value lies in the specification, the test suite, and the API design. Even Guillermo Rauch now believes that <a href="https://x.com/rauchg/status/2026091504280944802" target="_blank" rel="noopener noreferrer">most software will start as markdown spec files</a> implemented by coding agents. In <a href="https://saewitz.com/tests-are-the-new-moat" target="_blank" rel="noopener noreferrer">Tests Are The New Moat</a>, the author argues that we may see more open-source projects with private test suites: that’s what SQLite is already doing.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">Make React apps fast where it actually matters. Learn how to diagnose real bottlenecks and fix slow, janky React apps using modern React 19 patterns</a></li>
<li>📣 <a href="https://react.dev/blog/2026/02/24/the-react-foundation" target="_blank" rel="noopener noreferrer">The React Foundation has officially launched, hosted by the Linux Foundation</a> - React, React Native, and supporting projects like JSX are no longer owned by Meta. Huawei joined the previously announced founding members.</li>
<li>📖 <a href="https://nextjs.org/docs/app/guides/ai-agents" target="_blank" rel="noopener noreferrer">Next.js - AI Agents Guide</a> - Upcoming Next.js releases will include version-matched docs to provide agents with up-to-date context, improving <a href="https://nextjs.org/evals" target="_blank" rel="noopener noreferrer">Next.js Evals</a> success rate by ~20%.</li>
<li>📜 <a href="https://aurorascharff.no/posts/building-design-components-with-action-props-using-async-react/" target="_blank" rel="noopener noreferrer">Aurora Scharff - Building Design Components with Action Props using Async React</a> - Pattern for encapsulating optimistic updates, pending indicators, and rollback inside reusable components</li>
<li>📜 <a href="https://tkdodo.eu/blog/creating-query-abstractions" target="_blank" rel="noopener noreferrer">TkDodo - Creating Query Abstractions</a> - Using <code>queryOptions</code> is an alternative to hooks for achieving a reusable data object. This approach allows you to use the object even outside of React components.</li>
<li>📜 <a href="https://kentcdodds.com/blog/how-i-used-cursor-to-migrate-frameworks" target="_blank" rel="noopener noreferrer">Kent C. Dodds - Migrating Remix v2 to React Router v7 with Cursor</a> - Showcases how he used Composer for large-scale dependency upgrades completed in a day.</li>
<li>📜 <a href="https://sergiodxa.com/articles/react-router-loaders-and-actions-as-integration-points" target="_blank" rel="noopener noreferrer">React Router Loaders and Actions as Integration Points</a> - Testing routing with business logic in isolation is tough due to complex mocking. The author suggests that mixing unit and e2e tests can solve that.</li>
<li>📜 <a href="https://sergiodxa.com/tutorials/create-a-multi-directory-route-organization-in-react-router" target="_blank" rel="noopener noreferrer">Create a Multi-Directory Route Organization in React Router</a> - By using <code>flatRoutes</code>, you can maintain a scalable structure with better logic separation in a growing React Router application.</li>
<li>📜 <a href="https://zenn.dev/smartvain/articles/coding-agent-kills-framework-nextjs-reverse-truth?locale=en" target="_blank" rel="noopener noreferrer">Removing Next.js Taught Me Why Frameworks Are Still Essential Even for AI</a> - The author tried building with HTML and vanilla JS, then concludes that frameworks are necessary precisely because we are in the era of agents, giving them useful constraints. Note that Elon Musk predicts something different: AI will bypass coding and directly create binaries (<a href="https://x.com/XFreeze/status/2021699619927781842" target="_blank" rel="noopener noreferrer">tweet</a>).</li>
<li>📜 <a href="https://www.nutrient.io/blog/react-usetransition-guide/" target="_blank" rel="noopener noreferrer">React’s useTransition: The hook you’re probably using wrong</a></li>
<li>📜 <a href="https://tympanus.net/codrops/2026/02/24/from-flat-to-spatial-creating-a-3d-product-grid-with-react-three-fiber/" target="_blank" rel="noopener noreferrer">Creating a 3D Product Grid with React Three Fiber</a></li>
<li>💸 <a href="https://go.posthog.com/twir-feb25" target="_blank" rel="noopener noreferrer">Product for Engineers - 10x job posts for 10x engineers</a></li>
<li>📦 <a href="https://github.com/vadimdemedes/ink/releases/tag/v6.8.0" target="_blank" rel="noopener noreferrer">Ink 6.8 - <code>renderToString()</code>, React DevTools v7, performance caching</a></li>
<li>📦 <a href="https://github.com/tomkp/react-split-pane/releases/tag/v3.2.0" target="_blank" rel="noopener noreferrer">Split Pane 3.2 - <code>pointerType</code> in ResizeEvent</a></li>
<li>📦 <a href="https://vercel.com/changelog/chat-sdk" target="_blank" rel="noopener noreferrer">Vercel Chat SDK - Lets you build chatbots, supports JSX syntax</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=Cw8scPKibe8" target="_blank" rel="noopener noreferrer">Josef Bender - Build a blog with type-safe Markdown and TanStack Start</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=1fUBWAETmkk" target="_blank" rel="noopener noreferrer">Fireship - TanStack Start in 100 Seconds</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=_L3uM8hD1wg" target="_blank" rel="noopener noreferrer">Hamed Bahram - Master nuqs in 1 hour - URL state in NextJs with François Best</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/TkDodo/status/1661337628875137027" target="_blank" rel="noreferrer nofollow">I'm constantly finding interesting things to learn in there.</a></blockquote><figcaption><a href="https://twitter.com/TkDodo" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Dominik Dorfmeister" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/TkDodo?fallback=https://github.com/TkDodo.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Dominik Dorfmeister</cite></strong><small class="avatar__subtitle" itemprop="description">Web Developer - React-Query maintainer</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor2">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/270#sponsor2" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://formengine.io/lightweight-react-json-schema-form-builder-library-for-mui?utm_source=thisweekinreact&amp;utm_medium=link&amp;utm_campaign=mui&amp;utm_content=lightweight&amp;utm_term=sponsor2-250226" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/optimajet.jpg" alt="Stop building MUI forms manually! Try FormEngine Core " class="img_SS3x"></a></p>
<p><strong><a href="https://formengine.io/lightweight-react-json-schema-form-builder-library-for-mui?utm_source=thisweekinreact&amp;utm_medium=link&amp;utm_campaign=mui&amp;utm_content=lightweight&amp;utm_term=sponsor2-250226" target="_blank" rel="noopener noreferrer">Stop building MUI forms manually! Try FormEngine Core </a></strong></p>
<p>Tired of rewriting the same MUI forms across projects? <strong>FormEngine Core</strong> lets you build once in JSON and deploy everywhere no deep React knowledge required.</p>
<p><strong>Why developers are switching</strong></p>
<ul>
<li><strong>Write once, use anywhere:</strong> One JSON schema works across all your apps</li>
<li><strong>Native MUI support:</strong> Ready-to-use component package</li>
<li><strong>Lightweight:</strong> 188.54 KB gzipped (FormEngine Core + MUI)</li>
<li><strong>Next.js &amp; Remix ready:</strong> Drop-in support for modern frameworks</li>
<li><strong>Localization:</strong> Powerful form localization with Fluent.js</li>
<li><strong>Custom actions:</strong> Interactive logic through custom JavaScript</li>
</ul>
<p><strong>Perfect for:</strong> backend-driven forms, conditional logic, complex forms, admin panels, and multi-step wizards.<br>
<strong>Open source &amp; free forever</strong> no vendor lock-in, no nonsense. Trusted by enterprises.<br>
<a href="https://formengine.io/lightweight-react-json-schema-form-builder-library-for-mui?utm_source=thisweekinreact&amp;utm_medium=link&amp;utm_campaign=mui&amp;utm_content=lightweight&amp;utm_term=sponsor2-250226" target="_blank" rel="noopener noreferrer">Quick Start = Working form in 60 seconds</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react-native">📱 React-Native<a href="https://thisweekinreact.com/newsletter/270#react-native" class="hash-link" aria-label="Direct link to 📱 React-Native" title="Direct link to 📱 React-Native">​</a></h2>
<p><a href="https://x.com/tmikov/status/2024609186936660170" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/hermes.jpg" alt="Hermes-node" class="img_SS3x"></a></p>
<p><strong><a href="https://x.com/tmikov/status/2024609186936660170" target="_blank" rel="noopener noreferrer">Hermes-node</a></strong></p>
<p>Tzvetan Mikov from the Hermes team announced Hermes-node, a CLI version of Hermes compatible with the Node.js API. Since Hermes-node acts as a compatibility layer, it can use original Node.js module implementations without needing to rewrite them - most work out of the box. You can think of this as simply swapping the V8 engine for Hermes. If combined with compiling Hermes to binary code, this feature could bring significant benefits to the entire Node.js ecosystem.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://fandf.co/3My3pHO" target="_blank" rel="noopener noreferrer">Amazon Developer – Build Fire TV apps with React Native on Vega OS. Port your apps, expand your reach, and monetize. </a></li>
<li>👀 <a href="https://github.com/facebook/react-native/pull/55665" target="_blank" rel="noopener noreferrer">React Native PR - CSS Grid is coming to React Native</a></li>
<li>👀 <a href="https://github.com/kirillzyusko/react-native-keyboard-controller/pull/1314" target="_blank" rel="noopener noreferrer">Keyboard Controller PR - New <code>&lt;KeyboardChatScrollView&gt;</code> component</a> - Eliminates re-layouts during keyboard animations to improve performance</li>
<li>🐦 <a href="https://x.com/tannerlinsley/status/2024945690737254601" target="_blank" rel="noopener noreferrer">Tanner Linsley announced</a> a PoC of TanStack Router running in React Native (<a href="https://github.com/TanStack/router/compare/feat/react-native" target="_blank" rel="noopener noreferrer">GitHub code</a>)</li>
<li>🐦 <a href="https://x.com/reactnavigation/status/2025525954618052746" target="_blank" rel="noopener noreferrer">React Navigation 8 is experimenting with <code>&lt;Activity&gt;</code> for freezing and unmounting inactive screens</a></li>
<li>🐦 <a href="https://x.com/jmeistrich/status/2024455646368977393" target="_blank" rel="noopener noreferrer">Jay Meistrich is testing Legend List v3 in production (Legend App), resulting in significant performance improvements</a></li>
<li>📜 <a href="https://adrov.me/brownfield-navigation/" target="_blank" rel="noopener noreferrer">Brownfield React Native app with multiple screens</a> - Fixes a ReactFragment lifecycle race condition on Android and a static RN View Factory pattern on iOS - both needed to avoid crashes when pushing multiple RN screens.</li>
<li>📜 <a href="https://addjam.com/blog/2026-02-18/our-experience-adding-e2e-testing-react-native-maestro/" target="_blank" rel="noopener noreferrer">The experience of adding E2E testing to React Native with Maestro</a> - A case study on the benefits of using Maestro over Detox: simpler, platform-agnostic configuration, fewer technical quirks, and a lower barrier to entry.</li>
<li>📜 <a href="https://reactnative.dev/blog/2026/02/24/react-native-comes-to-meta-quest" target="_blank" rel="noopener noreferrer">React Native Comes to Meta Quest</a> - Meta officially announced support for Horizon OS, allowing developers to build VR applications using their existing Android tools and knowledge.</li>
<li>📜 <a href="https://sentry.engineering/blog/do-you-really-need-an-mcp-to-build-your-app" target="_blank" rel="noopener noreferrer">Do you need an MCP to build your native app?</a> - A simple Markdown file with basic instructions can work better and is more affordable than a complex MCP from Xcode.</li>
<li>📦 <a href="https://codewithbeto.dev/tools/quickPush" target="_blank" rel="noopener noreferrer">QuickPush 2.0 - MacOS menu bar app for testing Expo Push Notification</a> - Paid tool, can be used for free by compiling it from sources.</li>
<li>📦 <a href="https://github.com/react-native-vibe-code/react-native-vibe-code-sdk" target="_blank" rel="noopener noreferrer">RN Vibe Code - an open-source IDE for vibe coding</a> - Runs in the browser.</li>
<li>📦 <a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.1.0" target="_blank" rel="noopener noreferrer">Sentry React Native 8.1 - <code>enableTombstone</code> for native crash reporting on Android 12+, iOS view filtering for session replay</a></li>
<li>📦 <a href="https://github.com/PostHog/posthog-js/releases/tag/posthog-react-native%404.36.0" target="_blank" rel="noopener noreferrer">Posthog React Native 4.36 - Manual session replay control</a> - New <code>startSessionRecording</code>, <code>stopSessionRecording</code>, and <code>isSessionReplayActive</code> methods.</li>
<li>📦 <a href="https://github.com/stripe/stripe-react-native/releases/tag/v0.59.0" target="_blank" rel="noopener noreferrer">Stripe React Native 0.59 - Connect Embedded Components (preview), Radar session support</a></li>
<li>📦 <a href="https://github.com/DataDog/dd-sdk-reactnative/releases/tag/3.1.0" target="_blank" rel="noopener noreferrer">Datadog 3.1.0 - Feature Flags</a> - Using an open standard for feature flag management.</li>
<li>📦 <a href="https://github.com/react-navigation/react-navigation/releases/tag/%40react-navigation/bottom-tabs%407.14.0" target="_blank" rel="noopener noreferrer">Bottom Tabs 7.14 - Support hiding the native tab bar</a></li>
<li>📦 <a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.24.0" target="_blank" rel="noopener noreferrer">Screens 4.24 - Last release with Legacy Architecture support, Split View enhancements, iOS 26 fixes</a> - Next version will drop support for RN &lt; 0.82 and only support the New Architecture.</li>
<li>📦 <a href="https://github.com/react-native-async-storage/async-storage/releases/tag/%40react-native-async-storage%2Fasync-storage%403.0.0" target="_blank" rel="noopener noreferrer">Async Storage 3.0 - Instance-based storage, promise-only API, renamed batch methods</a> - Breaking major, consult migration guide to v3.</li>
<li>📦 <a href="https://github.com/Rednegniw/number-flow-react-native" target="_blank" rel="noopener noreferrer">Number Flow 0.2 - New library that provides Text component with build in rolling counter animation</a></li>
<li>📦 <a href="https://github.com/mientjan/react-native-markdown-renderer/releases/tag/v4.0.0" target="_blank" rel="noopener noreferrer">Markdown Renderer 4.0</a></li>
<li>📦 <a href="https://github.com/margelo/react-native-quick-crypto/releases/tag/v1.0.12" target="_blank" rel="noopener noreferrer">Quick Crypto 1.0.12 - Full NodeJS Crypto API compatibility</a></li>
<li>🤖 <a href="https://expo.dev/expo-skills" target="_blank" rel="noopener noreferrer">Expo Skills - Official collection</a></li>
<li>🎥 <a href="https://www.youtube.com/playlist?list=PLZ3MwD-soTTHSEF1_8J3JTTe6SfHGTc8w" target="_blank" rel="noopener noreferrer">React Universe Meetup x Zalando - All the talks are online</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=do1NdvGQRlg" target="_blank" rel="noopener noreferrer">Callstack - Using Apple Intelligence Seamlessly With @react-native-ai/apple</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=ohFPD_hWUzU" target="_blank" rel="noopener noreferrer">Callstack - MLC LLM + React Native: On-Device AI Without the Pain</a></li>
<li>🎙️ <a href="https://share.transistor.fm/s/c2223e49" target="_blank" rel="noopener noreferrer">Rocket Ship 92 - React Native 0.84, Hermes V1 &amp; A TanStack React Native Framework?</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="other">🔀 Other<a href="https://thisweekinreact.com/newsletter/270#other" class="hash-link" aria-label="Direct link to 🔀 Other" title="Direct link to 🔀 Other">​</a></h2>
<ul>
<li>📜 <a href="https://www.joshwcomeau.com/animation/sprites/" target="_blank" rel="noopener noreferrer">Josh Comeau - Sprites on the Web</a></li>
<li>📜 <a href="https://una.im/border-shape/" target="_blank" rel="noopener noreferrer">border-shape: the future of the non-rectangular web</a></li>
<li>📜 <a href="https://nodesource.com/blog/is-nodejs-single-threaded-or-not" target="_blank" rel="noopener noreferrer">Is Node.js Single-Threaded… or Not?</a></li>
<li>📜 <a href="https://lukasniessen.medium.com/micro-frontends-when-they-make-sense-and-when-they-dont-a1a06b726065" target="_blank" rel="noopener noreferrer">Micro Frontends: When They Make Sense and When They Don’t</a></li>
<li>📜 <a href="https://httptoolkit.com/blog/dictionary-compression-performance-zstd-brotli/" target="_blank" rel="noopener noreferrer">Slashing Web Traffic by 90%: The Power of Dictionary Compression</a></li>
<li>📦 <a href="https://oxc.rs/blog/2026-02-24-oxfmt-beta" target="_blank" rel="noopener noreferrer">Oxfmt Beta - Prettier-compatible, 30x faster</a></li>
<li>🤖 <a href="https://vercel.com/blog/skills-night-69000-ways-agents-are-getting-smarter" target="_blank" rel="noopener noreferrer">Skills Night: 69,000+ ways agents are getting smarter</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=wvt5JNUXXLM" target="_blank" rel="noopener noreferrer">Theo - The Future of TypeScript</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fun">🤭 Fun<a href="https://thisweekinreact.com/newsletter/270#fun" class="hash-link" aria-label="Direct link to 🤭 Fun" title="Direct link to 🤭 Fun">​</a></h2>
<p><a href="https://x.com/AdrianDittmann/status/2026184733743587420" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/270/meme.jpg" alt="alt" class="img_SS3x"></a></p>
<p>See ya! 👋</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[This Week In React #269: State of React, TanStack, Next.js, Tailwind, Base UI, Doctor | Hermes, Sparkling, Yoga, Enriched, Voltra, AI | Interop, Electrobun, Module Federation, Biome, pnpm]]></title>
            <link>https://thisweekinreact.com/newsletter/269</link>
            <guid>https://thisweekinreact.com/newsletter/269</guid>
            <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hi everyone!]]></description>
            <content:encoded><![CDATA[<p>Hi everyone!</p>
<p>Huge thanks ❤️ — <strong>we just hit <a href="https://2025.stateofreact.com/en-US/resources/#blogs_news_magazines" target="_blank" rel="noopener noreferrer">#1 resource</a></strong> on the State of React 2025 survey. Wild.</p>
<p>This week leans heavily into TanStack and Next.js content, plus a few notable releases worth your time.</p>
<p>On mobile, Hermes is clearly ramping up, and ByteDance just lowered the barrier to building Lynx apps.</p>
<p>Let’s dive in.</p>
<!-- -->
<p>As always, thanks for supporting us on your favorite platform:</p>
<ul>
<li>🦋 <a href="https://slo.im/last/b" target="_blank" rel="noopener noreferrer">Bluesky</a></li>
<li>✖️ <a href="https://slo.im/last/x" target="_blank" rel="noopener noreferrer">X / Twitter</a></li>
<li>👔 <a href="https://slo.im/last/l" target="_blank" rel="noopener noreferrer">LinkedIn</a></li>
<li>👽 <a href="https://slo.im/last/r" target="_blank" rel="noopener noreferrer">Reddit</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/TkDodo/status/1661337628875137027" target="_blank" rel="noreferrer nofollow">I'm constantly finding interesting things to learn in there.</a></blockquote><figcaption><a href="https://twitter.com/TkDodo" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Dominik Dorfmeister" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/TkDodo?fallback=https://github.com/TkDodo.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Dominik Dorfmeister</cite></strong><small class="avatar__subtitle" itemprop="description">Web Developer - React-Query maintainer</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor1">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/269#sponsor1" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://coderabbit.link/twir" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/coderabbit.jpg" alt="Cut Code Review Time &amp; Bugs in Half" class="img_SS3x"></a></p>
<p><strong><a href="https://coderabbit.link/twir" target="_blank" rel="noopener noreferrer">Cut Code Review Time &amp; Bugs in Half</a></strong></p>
<p>Code reviews are critical but time-consuming. CodeRabbit acts as your AI co-pilot, providing instant Code review comments and potential impacts of every pull request.</p>
<p>Beyond just flagging issues, CodeRabbit provides one-click fix suggestions and lets you define custom code quality rules using AST Grep patterns, catching subtle issues that traditional static analysis tools might miss.</p>
<p>CodeRabbit reviews 1 million PRs every week across 3 million repositories and is used by 100 thousand Open-source projects.</p>
<p>CodeRabbit is free for all open-source repo's.</p>
<p><a href="https://coderabbit.link/twir" target="_blank" rel="noopener noreferrer">Get started today</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react">⚛️ React<a href="https://thisweekinreact.com/newsletter/269#react" class="hash-link" aria-label="Direct link to ⚛️ React" title="Direct link to ⚛️ React">​</a></h2>
<p><a href="https://2025.stateofreact.com/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/stateofreact.jpg" alt="State of React 2025 - Survey Results" class="img_SS3x"></a></p>
<p><strong><a href="https://2025.stateofreact.com/" target="_blank" rel="noopener noreferrer">State of React 2025 - Survey Results</a></strong></p>
<p>The State of React 2025 survey results are out. It’s impossible to summarize it all here, but here's what I've taken away:</p>
<ul>
<li><code>useEffect</code> remains the most disliked hook</li>
<li><code>&lt;Suspense&gt;</code> increased in both adoption and satisfaction</li>
<li>React Server Components and Server Functions divide</li>
<li>Although usage is still low, <code>&lt;Activity&gt;</code> reaches a 100% satisfaction score</li>
<li>TanStack Query and Zustand remain the favorite libraries</li>
<li>Your favorite resources are the official docs, this newsletter (❤️), Syntax.fm, Theo.</li>
</ul>
<p>Read also the <a href="https://certificates.dev/blog/breaking-down-state-of-react-2025-results" target="_blank" rel="noopener noreferrer">breakdown from Aurora Scharff</a>, who wrote the survey conclusion.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">Make React apps fast where it actually matters. Learn how to diagnose real bottlenecks and fix slow, janky React apps using modern React 19 patterns.</a></li>
<li>🔐 <a href="https://socket.dev/blog/high-severity-rce-vulnerability-disclosed-in-next-mdx-remote" target="_blank" rel="noopener noreferrer">High-Severity RCE Vulnerability Disclosed in next-mdx-remote</a> - Member that MDX is code and it’s unsafe to evaluate untrusted MDX strings.</li>
<li>🗓 <a href="https://react.paris/?utm_source=thisweekinreact" target="_blank" rel="noopener noreferrer">React Paris 2026</a> - 🇫🇷 Paris - 26 &amp; 27 March. Last chance to join! Ticket sales close on March 4th - don't miss this premier React event. Get a 10% discount with code "TWIR".</li>
<li>📜 <a href="https://vercel.com/blog/we-ralph-wiggumed-webstreams-to-make-them-10x-faster" target="_blank" rel="noopener noreferrer">Vercel - We Ralph Wiggumed WebStreams to make them 10x faster</a> - For Next.js and other React/SSR/RSC heavy workloads, the Node.js native implementation of WebStreams can be major a bottleneck. They implemented a much faster spec-compliant alternative, until upstream performance improvements land in Node.js. No doubt Next.js is going to benefit from all this soon.</li>
<li>📜 <a href="https://nextjs.org/blog/agentic-future" target="_blank" rel="noopener noreferrer">Building Next.js for an agentic future</a> - The Next.js team realized they need to treats agents as first-class users, thinking from their perspective.</li>
<li>📜 <a href="https://rednegra.net/blog/20260212-virtual-scroll/" target="_blank" rel="noopener noreferrer">Virtual Scrolling for Billions of Rows</a> - 5 vertical scrolling techniques from the <code>`hightable`</code> React virtualization library.</li>
<li>📜 <a href="https://shadcnspace.com/blog/radix-ui-vs-base-ui" target="_blank" rel="noopener noreferrer">Radix UI vs Base UI - Detailed Guide</a></li>
<li>📜 <a href="https://dev.to/elvissautet/nextjs-finally-has-competition-2lg7" target="_blank" rel="noopener noreferrer">Next.js Finally Has Competition (TanStack Start)</a></li>
<li>📜 <a href="https://engineering.gusto.com/the-journey-to-a-safer-frontend-why-we-removed-react-fc-095ff0b3e2e4" target="_blank" rel="noopener noreferrer">The Journey to a Safer Frontend: Why Gusto Removed</a> <a href="http://react.fc/" target="_blank" rel="noopener noreferrer"><code>React.FC</code></a></li>
<li>💸 <a href="https://r2trck.com/twir-7?utm_medium=email-media-newsletter&amp;utm_source=twir-cpa&amp;utm_campaign=the-secret-to-faster-rag-systems-cpa&amp;utm_content=paid&amp;utm_term=1-1-2026" target="_blank" rel="noopener noreferrer">The Secret to Faster RAG Systems by ElevenLabs</a></li>
<li>📦 <a href="https://github.com/tailwindlabs/tailwindcss/releases/tag/v4.2.0" target="_blank" rel="noopener noreferrer">Tailwind 4.2 - Webpack plugin, new utilities and color palettes</a> - The Webpack plugin has been contributed by Tim Neutkens and should lead to <a href="https://x.com/timneutkens/status/2024140710786523301" target="_blank" rel="noopener noreferrer">significant</a> performance improvements for frameworks like Next.js (even for Turbopack).</li>
<li>📦 <a href="https://base-ui.com/react/overview/releases/v1-2-0" target="_blank" rel="noopener noreferrer">Base UI 1.2 - Drawer component, support lazy/async components in <code>render</code>, new <code>useFilteredItems</code> hook</a> - The new Drawer component is in preview (<a href="https://base-ui.com/react/components/drawer" target="_blank" rel="noopener noreferrer">docs</a>) for now. Unlike Radix, it’s not based on Vaul (now unmaintained).</li>
<li>📦 <a href="https://tanstack.com/hotkeys/latest" target="_blank" rel="noopener noreferrer">TanStack Hotkeys alpha</a> - This brand-new TanStack library is framework-agnostic, but initially comes with a first-class React integration. It provides a type-safe API, normalizes modifiers across platforms, supports multi-step keyboard sequences, and more.</li>
<li>📦 <a href="https://tanstack.com/start/latest/docs/framework/react/guide/import-protection" target="_blank" rel="noopener noreferrer">TanStack Start 1.161 - Import protection</a> - Ensures your code runs in the right client/server environment.</li>
<li>📦 <a href="https://github.com/preactjs/preact/releases/tag/11.0.0-beta.1" target="_blank" rel="noopener noreferrer">Preact 11.0 beta.1</a> - By the way, TanStack query now <a href="https://github.com/TanStack/query/releases/tag/%40tanstack%2Fpreact-query%405.91.0" target="_blank" rel="noopener noreferrer">supports Preact</a>.</li>
<li>📦 <a href="https://github.com/millionco/react-doctor" target="_blank" rel="noopener noreferrer">React Doctor - Scan your codebase, let coding agents diagnose/fix your React code</a></li>
<li>📦 <a href="https://github.com/vercel-labs/json-render/releases/tag/%40json-render%2Fshadcn%400.7.0" target="_blank" rel="noopener noreferrer">json-render 0.7 - Generative UI framework - Add 30+ shadcn/ui components, and more</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=Ab01W6h4Giw" target="_blank" rel="noopener noreferrer">Austin Davis - TanStack Router - How to Become a Routing God in React</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=3jJ2Xz-oWt8" target="_blank" rel="noopener noreferrer">Josef Bender - TanStack Loaders vs Context: What I Got Wrong</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=vKsh_qrv7lM" target="_blank" rel="noopener noreferrer">Shruti Kapoor - Build a YouTube content dashboard with generative UI (Tambo)</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a target="_blank" rel="noreferrer nofollow">It's exceptionally well curated, offers great insights and is well worth subscribing to!</a></blockquote><figcaption><a href="https://twitter.com/addyosmani" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Addy Osmani" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/addyosmani?fallback=https://github.com/addyosmani.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Addy Osmani</cite></strong><small class="avatar__subtitle" itemprop="description">Head of Chrome DX - Google</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor2">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/269#sponsor2" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://sentry.io/resources/seer-workshop-series/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerworkshop&amp;utm_content=newsletter-workshop-register" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/sentry.jpg" alt="Free Workshop: Debug React Apps With AI From Dev to Prod" class="img_SS3x"></a></p>
<p><strong><a href="https://sentry.io/resources/seer-workshop-series/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerworkshop&amp;utm_content=newsletter-workshop-register" target="_blank" rel="noopener noreferrer">Free Workshop: Debug React Apps With AI From Dev to Prod</a></strong></p>
<p>🧠 <a href="https://sentry.io/product/seer/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerlaunch&amp;utm_content=newsletter-product-trysentry" target="_blank" rel="noopener noreferrer"><strong>Seer</strong> is Sentry's AI debugging agent</a>. It root causes errors, suggests fixes, and catches bugs in code review before they hit production.</p>
<p>This free 4-part workshop series covers the full workflow: production error triage, root cause analysis, AI code review, and debugging via MCP. Each session goes hands-on with a specific feature so you can actually set it up and use it in your own projects. No fluff, just walkthroughs you can follow along with.</p>
<p><a href="https://sentry.io/resources/seer-workshop-series/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerworkshop&amp;utm_content=newsletter-workshop-register" target="_blank" rel="noopener noreferrer"><strong>Register today</strong></a>.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react-native">📱 React-Native<a href="https://thisweekinreact.com/newsletter/269#react-native" class="hash-link" aria-label="Direct link to 📱 React-Native" title="Direct link to 📱 React-Native">​</a></h2>
<p><a href="https://x.com/tmikov/status/2023821160241393839" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/hermes.jpg" alt="WebAssembly Comes to Hermes" class="img_SS3x"></a></p>
<p><strong><a href="https://x.com/tmikov/status/2023821160241393839" target="_blank" rel="noopener noreferrer">WebAssembly Comes to Hermes</a></strong></p>
<p>An exciting early preview of WebAssembly support in Hermes, unlocking new ways to integrate C, C++, Rust, and more into your React Native app. It’s even possible to precompile WASM to Hermes bytecode <code>.hbc</code> files.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<p><a href="https://tiktok.github.io/sparkling/" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/lynx.jpg" alt="Sparkling - Unlocks Lynx at TikTok Scale" class="img_SS3x"></a></p>
<p><strong><a href="https://tiktok.github.io/sparkling/" target="_blank" rel="noopener noreferrer">Sparkling - Unlocks Lynx at TikTok Scale</a></strong></p>
<p>ByteDance unveiled Lynx last year as an interesting framework-agnostic alternative to React Native. So far, the DX has been limited, and there has been no easy way to create a new Lynx app from scratch. Sparkling changes that, and offers the tooling that Lynx apps deserve. By the way, <a href="https://lynxjs.org/blog/lynx-3-6" target="_blank" rel="noopener noreferrer">Lynx 3.6</a> is out, improving support for React, AI, and CSS.</p>
<p>See also:</p>
<ul>
<li>📦 <a href="https://lynxjs.org/blog/lynx-3-6" target="_blank" rel="noopener noreferrer">Lynx 3.6 - Lynx for AI, ReactLynx hooks, CSS for Design</a></li>
<li>🎥 <a href="https://www.callstack.com/events/sparkling-a-new-framework-for-lynx" target="_blank" rel="noopener noreferrer">Sparkling: A New Framework for Lynx</a> - A 2h event with Callstack and the Lynx team.</li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://go.posthog.com/twir-feb18" target="_blank" rel="noopener noreferrer">Product for Engineers - 10x job posts for 10x engineers</a></li>
<li>👀 <a href="https://github.com/facebook/yoga/pull/1874" target="_blank" rel="noopener noreferrer">Yoga PR - Add core Yoga support for CSS <code>calc()</code></a></li>
<li>📜 <a href="https://expo.dev/blog/the-production-playbook-for-ota-updates" target="_blank" rel="noopener noreferrer">Expo - The production playbook for OTA updates</a></li>
<li>📜 <a href="https://www.callstack.com/blog/agent-device-ai-native-mobile-automation-for-ios-android" target="_blank" rel="noopener noreferrer">Agent Device: iOS &amp; Android Automation for AI Agents</a></li>
<li>📜 <a href="https://www.callstack.com/blog/a-practical-guide-to-react-native-monorepo-with-yarn-workspaces" target="_blank" rel="noopener noreferrer">A Practical Guide to React Native Monorepo With Yarn Workspaces</a></li>
<li>📦 <a href="https://www.react-native-ai.dev/docs/json-ui/getting-started" target="_blank" rel="noopener noreferrer">@react-native-ai/json-ui alpha - Generative UI, tailor-made for small, local language models</a> - Similar to json-render, but on-device.</li>
<li>📦 <a href="https://github.com/getsentry/sentry-react-native/releases/tag/8.0.0" target="_blank" rel="noopener noreferrer">Sentry React Native 8.0 - Capture App Start errors and crashes</a></li>
<li>📦 <a href="https://github.com/callstackincubator/agent-device/releases/tag/v0.4.0" target="_blank" rel="noopener noreferrer">Agent Device 0.4 - CLI to control iOS/Android devices - Supports testing on physical devices</a></li>
<li>📦 <a href="https://github.com/software-mansion/react-native-enriched/releases/tag/v0.4.0" target="_blank" rel="noopener noreferrer">Enriched 0.4 - Rich text editor - Support animated gifs, pasting images, checkbox lists</a></li>
<li>📦 <a href="https://github.com/software-mansion-labs/react-native-enriched-markdown/releases/tag/0.2.0" target="_blank" rel="noopener noreferrer">Enriched Markdown 0.2 - Layout controls, a11y, font scaling, strikethrough/underline</a> - The next release will be even better, <a href="https://github.com/software-mansion-labs/react-native-enriched-markdown/issues/47#issuecomment-3914681397" target="_blank" rel="noopener noreferrer">bringing full GitHub Flavored Markdown support</a> (support for tables/autolinks already merged).</li>
<li>📦 <a href="https://github.com/arekkubaczkowski/react-native-bottom-sheet-stack/releases/tag/v1.8.0" target="_blank" rel="noopener noreferrer">Bottom Sheet Stack 1.8 - Stack manager for bottom sheets and modals - Now library-agnostic, including built-in adapters</a></li>
<li>📦 <a href="https://github.com/callstackincubator/voltra/releases/tag/v1.2.0" target="_blank" rel="noopener noreferrer">Voltra 1.2 - Widgets/Live Activities framework - New iOS layout engine, improved Expo support, new <code>getActiveWidgets()</code> API</a></li>
<li>🤖 <a href="https://skills.sh/callstack/react-native-testing-library/react-native-testing" target="_blank" rel="noopener noreferrer">React Native Testing Library Skill</a></li>
<li>🤖 <a href="https://skills.sh/react-native-community/skills/upgrade-react-native" target="_blank" rel="noopener noreferrer">React Native Community - Upgrade RN Skill</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=ycYM_zKEF_4" target="_blank" rel="noopener noreferrer">Beto - How to Add Rich Push Notifications in Expo (iOS Images)</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=nARu6acI5kM" target="_blank" rel="noopener noreferrer">Simon Grimm - How I’d Learn React Native Today (2026 Edition)</a></li>
<li>🎙️ <a href="https://www.callstack.com/podcasts/local-first-voice-ai-and-app-security" target="_blank" rel="noopener noreferrer">React Universe on Air - From Teddy Bears to Voice Agents: Kraen Hansen on Voice AI, Local-First &amp; App Security</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="other">🔀 Other<a href="https://thisweekinreact.com/newsletter/269#other" class="hash-link" aria-label="Direct link to �🔀 Other" title="Direct link to 🔀 Other">​</a></h2>
<ul>
<li>👀 <a href="https://webkit.org/blog/17818/announcing-interop-2026/" target="_blank" rel="noopener noreferrer">Interop 2026</a> - Web browsers unveiled their focus areas for the year. This includes new features (cross-document view transitions, scroll-driven animations, container style queries…), but also stabilizing carryovers from Interop 2025 (anchor positioning, navigation API…).</li>
<li>👀 <a href="https://www.w3.org/TR/2026/WD-selectors-5-20260217/" target="_blank" rel="noopener noreferrer">Selectors Level 5 - W3C First Public Working Draft</a> - Preview of new CSS selectors and pseudo-classes being worked.</li>
<li>📜 <a href="https://frontendmasters.com/blog/fun-with-typescript-generics/" target="_blank" rel="noopener noreferrer">Fun with TypeScript Generics</a></li>
<li>📜 <a href="https://cpojer.net/posts/fastest-frontend-tooling" target="_blank" rel="noopener noreferrer">Fastest Frontend Tooling for Humans &amp; AI</a></li>
<li>📦 <a href="https://module-federation.io/blog/v2-stable-version.html" target="_blank" rel="noopener noreferrer">Module Federation 2.0 - Micro-Frontend Architecture</a> - Adds support for SSR among many other things. They also plan to add support for React Server Components later.</li>
<li>📦 <a href="https://blackboard.sh/blog/electrobun-v1/" target="_blank" rel="noopener noreferrer">Electrobun 1.0 - Build ultra fast, tiny, and cross-platform desktop apps with TypeScript</a> - An alternative to Tauri based on Bun/Zig.</li>
<li>📦 <a href="https://developer.chrome.com/blog/new-in-devtools-145" target="_blank" rel="noopener noreferrer">Chrome 145 DevTools</a> - The performance panel now includes Soft Navigation markers, improving the DX when troubleshooting client-side navigation (SPA/CSR apps).</li>
<li>📦 <a href="https://biomejs.dev/blog/biome-v2-4/" target="_blank" rel="noopener noreferrer">Biome 2.4 - Embedded Snippets, HTML Accessibility, and Better Framework Support</a></li>
<li>📦 <a href="https://pnpm.io/blog/releases/10.30" target="_blank" rel="noopener noreferrer">pnpm 10.30 - Improves <code>pnpm why</code>, showing an easier-to-understand reverse dependency tree</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fun">🤭 Fun<a href="https://thisweekinreact.com/newsletter/269#fun" class="hash-link" aria-label="Direct link to 🤭 Fun" title="Direct link to 🤭 Fun">​</a></h2>
<p><a href="https://x.com/DavidKPiano/status/1981470720166154567" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/meme.jpg" alt="alt" class="img_SS3x"></a></p>
<p><a href="https://x.com/swyx/status/2022854115748122909" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/269/meme2.jpg" alt="alt" class="img_SS3x"></a></p>
<p>See ya! 👋</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[This Week In React #268: Bulletproof Comps, Render Types, Tambo, Logo Soup, React Compiler, Ink, Streamdown | RN 0.84, Gestures, Rozenite, Storybook, JSON Render, Targets, TrueSheet | TypeScript, ESLint, Webpack, Vitest, VSCode]]></title>
            <link>https://thisweekinreact.com/newsletter/268</link>
            <guid>https://thisweekinreact.com/newsletter/268</guid>
            <pubDate>Wed, 11 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hi everyone\!]]></description>
            <content:encoded><![CDATA[<p>Hi everyone!</p>
<p>This week, we have a good variety of React content, with great community articles and various releases. Many generative UI solutions are emerging, and I’m curious to better understand how they differ from one another.</p>
<p>React Native 0.84 just dropped, and Gesture Handler 3 is in beta. Expo SDK 55 should also be out soon.</p>
<!-- -->
<p>As always, thanks for supporting us on your favorite platform:</p>
<ul>
<li>🦋 <a href="https://slo.im/last/b" target="_blank" rel="noopener noreferrer">Bluesky</a></li>
<li>✖️ <a href="https://slo.im/last/x" target="_blank" rel="noopener noreferrer">X / Twitter</a></li>
<li>👔 <a href="https://slo.im/last/l" target="_blank" rel="noopener noreferrer">LinkedIn</a></li>
<li>👽 <a href="https://slo.im/last/r" target="_blank" rel="noopener noreferrer">Reddit</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/wcandillon/status/1263825118557593600" target="_blank" rel="noreferrer nofollow">If you are not signed-up, you are missing out</a></blockquote><figcaption><a href="https://twitter.com/wcandillon" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="William Candillon" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/wcandillon?fallback=https://github.com/wcandillon.png"><div class="avatar__intro"><strong class="avatar__name"><cite>William Candillon</cite></strong><small class="avatar__subtitle" itemprop="description">React-Native animations expert - Youtuber</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor1">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/268#sponsor1" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://sentry.io/product/seer/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerlaunch&amp;utm_content=newsletter-product-trysentry" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/sentry.jpg" alt="Seer: AI that debugs React errors and writes the fix" class="img_SS3x"></a></p>
<p><strong><a href="https://sentry.io/product/seer/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerlaunch&amp;utm_content=newsletter-product-trysentry" target="_blank" rel="noopener noreferrer">Seer: AI that debugs React errors and writes the fix</a></strong></p>
<p>Most AI coding tools only see your source code. <a href="https://blog.sentry.io/seer-debug-with-ai-at-every-stage-of-development/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerlaunch&amp;utm_content=newsletter-blog-launch-learnmore" target="_blank" rel="noopener noreferrer"><strong>Seer, Sentry's AI debugging agent</strong></a>, uses everything Sentry knows about how your React application behaves in production—component trees, state updates, user interactions, and runtime errors—to debug locally, in your PR, and in production.</p>
<p><strong>How it works:</strong></p>
<ul>
<li>Seer scans &amp; analyzes issues using all Sentry's available context.</li>
<li>In development, Seer debugs alongside you as you build</li>
<li>In review, Seer alerts you to bugs that are likely to break production</li>
<li>In production, Seer can find a bug's root cause, suggest a fix, open a PR automatically, or send the fix to your preferred IDE.</li>
</ul>
<p><a href="https://sentry.io/product/seer/?utm_source=thisweekinreact&amp;utm_medium=paid-community&amp;utm_campaign=seer-fy27q1-seerlaunch&amp;utm_content=newsletter-product-trysentry" target="_blank" rel="noopener noreferrer">Try Sentry for free</a> ➡️</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react">⚛️ React<a href="https://thisweekinreact.com/newsletter/268#react" class="hash-link" aria-label="Direct link to ⚛️ React" title="Direct link to ⚛️ React">​</a></h2>
<p><a href="https://shud.in/thoughts/build-bulletproof-react-components" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/bulletproof.jpg" alt="Building Bulletproof React Components" class="img_SS3x"></a></p>
<p><strong><a href="https://shud.in/thoughts/build-bulletproof-react-components" target="_blank" rel="noopener noreferrer">Building Bulletproof React Components</a></strong></p>
<p>A great read from an experienced Vercel engineer, sharing various lessons to harden your React components. The goal is to make them survive real-world usage (SSR, hydration, multiple instances, concurrency, portals, etc.) rather than just working on the happy path.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://formengine.io/lightweight-react-json-schema-form-builder-library-for-mui?utm_source=thisweekinreact&amp;utm_medium=link&amp;utm_campaign=mui&amp;utm_content=lightweight&amp;utm_term=nodeepreactknowledgerequired" target="_blank" rel="noopener noreferrer">FormEngine Core – Lightweight React JSON Schema form builder library for MUI with true cross-app reuse. No deep React knowledge required</a></li>
<li>📜 <a href="https://barvian.me/react-exit-animations" target="_blank" rel="noopener noreferrer">A React trick to improve exit animations</a> - Freezing the component’s content while it’s animating to avoid visual glitches.</li>
<li>📜 <a href="https://winfunc.com/blog/recent-0-days-in-nodejs-and-react-were-found-by-an-ai" target="_blank" rel="noopener noreferrer">The Recent CVEs in React and Node.js Were Found by an AI</a> - Interesting to see the process of security researchers to find the recent RSC DoS vulnerability, and how it can be automated.</li>
<li>📜 <a href="https://anita-app.com/blog/articles/react-compiler-and-why-class-objects-work-against-memoization.html" target="_blank" rel="noopener noreferrer">React Compiler and why class objects can work against memoization</a> - Prefer plain data and pure helpers that the React compiler can observe as inputs.</li>
<li>📜 <a href="https://www.sanity.io/blog/the-logo-soup-problem" target="_blank" rel="noopener noreferrer">The logo soup problem (and how to solve it)</a> - Brand logos come in various logo shapes, aspect ratios, padding, and weights. Creating a visually aesthetic logo grid is surprisingly complex, but we now have a React library to help normalize them.</li>
<li>📜 <a href="https://techhub.iodigital.com/articles/nextjs-at-enterprise-level" target="_blank" rel="noopener noreferrer">Next.js at Enterprise Level</a></li>
<li>📜 <a href="https://spin.atomicobject.com/authenticated-routes-tanstack-router/" target="_blank" rel="noopener noreferrer">Authenticated Routes with TanStack Router</a></li>
<li>💸 <a href="https://go.posthog.com/twir-feb11" target="_blank" rel="noopener noreferrer">Product for Engineers - How I actually get good advice</a></li>
<li>📦 <a href="https://tambo.co/blog/posts/introducing-tambo-generative-ui" target="_blank" rel="noopener noreferrer">Tambo 1.0 - Generative UI SDK for React</a> - An interesting full-stack solution for generative UI with React, tackling problems such as UI state persistence, streaming, and more. Comes with a backend that you can deploy on their cloud or self-host.</li>
<li>📦 <a href="https://github.com/HorusGoul/eslint-plugin-react-render-types" target="_blank" rel="noopener noreferrer">eslint-plugin-react-render-types - Brings Flow's Render Types to TypeScript via JSDoc</a> - Render Types is a really cool feature of Flow that lets you express constraints on React composition patterns, loved by many engineers at Meta. TypeScript doesn’t support this capability natively, but this ESLint plugin enables it.</li>
<li>📦 <a href="https://github.com/blazejkustra/react-compiler-marker" target="_blank" rel="noopener noreferrer">React Compiler Marker - Universal IDE extension, shows which components are optimized by the Compiler</a> - Recently switched to an LSP, unlocking support for additional IDEs: IntelliJ/WebStorm/Neovim.</li>
<li>📦 <a href="https://github.com/mmarinovic/React2AWS" target="_blank" rel="noopener noreferrer">React2AWS - Write AWS infrastructure like you write React components</a> - Generates production-ready Terraform from JSX components and Tailwind-inspired classNames 🤪, fun idea.</li>
<li>📦 <a href="https://github.com/vadimdemedes/ink/releases/tag/v6.7.0" target="_blank" rel="noopener noreferrer">Ink 6.7 CLI renderer - Add support for React concurrent rendering, synchronized updates</a></li>
<li>📦 <a href="https://ui.shadcn.com/docs/changelog/2026-02-blocks" target="_blank" rel="noopener noreferrer">shadcn/ui - All blocks now available for both Radix and Base UI</a></li>
<li>📦 <a href="https://github.com/brucetoo/visual-agentic-dev" target="_blank" rel="noopener noreferrer">Visual Agentic Dev - Immersive React dev environment that lives within the browser</a></li>
<li>📦 <a href="https://github.com/vercel/streamdown/releases/tag/streamdown%402.2.0" target="_blank" rel="noopener noreferrer">Streamdown 2.2 - Animated streaming, improves support for custom HTML elements, completes ReactMarkdown props</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=GlaFgKgtJM4" target="_blank" rel="noopener noreferrer">Wawa Sensei - 3 React Three Fiber Mistakes I'll Never Make Again</a></li>
<li>🎙️ <a href="https://www.reactiflux.com/transcripts/tmir-2026-01" target="_blank" rel="noopener noreferrer">This Week in React - Oops more CVEs. AI has React "skills", Astro exits and Tailwind struggles</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/TkDodo/status/1661337628875137027" target="_blank" rel="noreferrer nofollow">I'm constantly finding interesting things to learn in there.</a></blockquote><figcaption><a href="https://twitter.com/TkDodo" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Dominik Dorfmeister" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/TkDodo?fallback=https://github.com/TkDodo.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Dominik Dorfmeister</cite></strong><small class="avatar__subtitle" itemprop="description">Web Developer - React-Query maintainer</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor2">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/268#sponsor2" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/frontendmasters.jpg" alt="React Performance, v2" class="img_SS3x"></a></p>
<p><strong><a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">React Performance, v2</a></strong></p>
<p>Make React apps fast where it actually matters.</p>
<p>An advanced performance course from <strong>Steve Kinney</strong>, focused on diagnosing real bottlenecks and fixing slow, janky React apps using modern React 19 patterns.</p>
<ul>
<li>🚀 <strong>Modern React</strong>: Suspense, transitions, deferred values, hydration, server actions</li>
<li>🔍 <strong>Debug Faster</strong>: Find unnecessary re-renders with React DevTools &amp; the Profiler</li>
<li>🧠 <strong>Smart Optimization</strong>: Memoization, virtualization, code splitting, optimistic UI</li>
<li>⚡ <strong>Feel-Fast UX</strong>: Learn how React Fiber prioritizes work to keep apps responsive</li>
</ul>
<p>⏱ 4+ hours • ⭐ 4.8 rating<br>
<!-- -->🏫 From <strong>Frontend Masters</strong></p>
<p>👉 Watch the course: <a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">https://frontendmasters.com/courses/react-performance-v2/</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react-native">📱 React-Native<a href="https://thisweekinreact.com/newsletter/268#react-native" class="hash-link" aria-label="Direct link to 📱 React-Native" title="Direct link to 📱 React-Native">​</a></h2>
<p><a href="https://reactnative.dev/blog/2026/02/11/react-native-0.84" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/rn.jpg" alt="React Native 0.84" class="img_SS3x"></a></p>
<p><strong><a href="https://reactnative.dev/blog/2026/02/11/react-native-0.84" target="_blank" rel="noopener noreferrer">React Native 0.84</a></strong></p>
<p>A new version of React Native just dropped. The highlights:</p>
<ul>
<li>Hermes V1 is now enabled by default for automatic performance gains and reduced memory usage</li>
<li>Precompiled binaries on iOS by default for faster builds, with an opt-out to build from source</li>
<li>Legacy Architecture Components removed for both iOS and Android</li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<p><a href="https://blog.swmansion.com/introducing-gesture-handler-3-0-hook-based-api-deeper-reanimated-integration-more-9185b0c8e305" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/rngh.jpg" alt="Gesture Handler 3.0 beta - Hook-Based API, Deeper Reanimated Integration &amp; More" class="img_SS3x"></a></p>
<p><strong><a href="https://blog.swmansion.com/introducing-gesture-handler-3-0-hook-based-api-deeper-reanimated-integration-more-9185b0c8e305" target="_blank" rel="noopener noreferrer">Gesture Handler 3.0 beta - Hook-Based API, Deeper Reanimated Integration &amp; More</a></strong></p>
<p>This new major version has been overhauled internally. It drops support for the Legacy Architecture, unlocking new capabilities, such as attaching gestures to text fragments. No APIs were removed, but a new hooks-based API makes it compatible with the React Compiler. They also improved the integration with Reanimated and Animated.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://radon.swmansion.com/?utm_source=TWIR3" target="_blank" rel="noopener noreferrer">Radon by Software Mansion - Join 42k+ React Native developers using Radon for faster, more efficient React Native development.</a></li>
<li>👀 <a href="https://github.com/facebook/react-native/pull/55463" target="_blank" rel="noopener noreferrer">React Native PR - Support React Portal with Fabric</a> - React Native portals have been all the rage lately. Teleport just launched 1.0 last week, and we now have an experimental PR that kicks off the discussion of bringing first-class portal support to React Native, at the shadow-tree level (cross-platform).</li>
<li>🐦 <a href="https://x.com/wcandillon/status/2020814389142605857" target="_blank" rel="noopener noreferrer">William Candillon sharing WebGPU + Skia demos</a> - You can seamlessly interleave one into the other from both sides.</li>
<li>📅 <a href="https://appjs.co/#speak" target="_blank" rel="noopener noreferrer">App.js Conf is looking for speakers! Apply to share your insights and stories about building with React Native &amp; Expo!</a> - The CFP is open until 28th February, and you can also get a 10% discount on tickets with our code “TWIR”.</li>
<li>📜 <a href="https://www.chmal.it/blog/building-rozenite-the-injection/" target="_blank" rel="noopener noreferrer">Building Rozenite: The injection</a> - Explains how Rozenite is able to add specialized panels to the React Native DevTools, by hijacking a request.</li>
<li>📜 <a href="https://theguardian.engineering/blog/faster-cheaper-messier-lessons-from-switch-to-self-hosted-github-actions" target="_blank" rel="noopener noreferrer">Faster, cheaper, messier: lessons from our switch to self-hosted GitHub Actions</a> - Feedback from The Guardian after migrating their iOS app build from GitHub cloud runners to a self-hosted Mac Mini.</li>
<li>📜 <a href="https://expo.dev/blog/how-to-modernize-mobile-retail-apps-with-expo" target="_blank" rel="noopener noreferrer">How to modernize mobile retail apps with Expo</a></li>
<li>📦 <a href="https://github.com/dannyhw/react-native-storybook-tools" target="_blank" rel="noopener noreferrer">React Native Storybook Tools</a> - RN Storybook maintainer created a new VSCode extension that lets you seamlessly navigate from/to your stories, and a Rozenite devtool plugin.</li>
<li>📦 <a href="https://github.com/vercel-labs/json-render/releases/tag/%40json-render%2Fcore%400.5.0" target="_blank" rel="noopener noreferrer">JSON Render 0.5 - Support for React Native</a> - The generative UI library from Vercel now comes with a React Native integration. See also this <a href="https://x.com/ctatedev/status/2020767354108453020" target="_blank" rel="noopener noreferrer">X video demo</a>.</li>
<li>📦 <a href="https://github.com/TheWidlarzGroup/react-native-video-feed" target="_blank" rel="noopener noreferrer">React Native Video Feed</a> - Starter for building TikTok-style video feeds, based on react-native-video v7 (still in beta).</li>
<li>📦 <a href="https://github.com/EvanBacon/expo-apple-targets" target="_blank" rel="noopener noreferrer">Expo Apple Target 4.0 - Add support for 20+ new targets</a></li>
<li>📦 <a href="https://github.com/callstack/react-native-material-palette" target="_blank" rel="noopener noreferrer">React Native Material Palette - Android Palette API, extracts prominent colors from images</a></li>
<li>📦 <a href="https://github.com/software-mansion/react-native-executorch/releases/tag/v0.7.0" target="_blank" rel="noopener noreferrer">React Native ExecuTorch 0.7 - Local speech synthesis</a> - If you are excited about offline-first AI, check also their <a href="https://github.com/software-mansion/react-native-executorch/discussions/736" target="_blank" rel="noopener noreferrer">roadmap toward v1</a>.</li>
<li>📦 <a href="https://github.com/arunabhverma/expo-paste-input" target="_blank" rel="noopener noreferrer">Expo Paste Input - Paste images and GIFs directly from the system clipboard, flexible native wrapper around <code>TextField</code></a></li>
<li>📦 <a href="https://sheet.lodev09.com/blog/side-sheets" target="_blank" rel="noopener noreferrer">True Sheet 3.9 - Side Sheets for iPad and Tablets</a></li>
<li>📦 <a href="https://github.com/brunobar79/expo-openclaw-chat" target="_blank" rel="noopener noreferrer">Expo OpenClaw Chat - Minimal SDK for Expo apps to connect to OpenClaw gateway</a></li>
<li>📦 <a href="https://hyochan.github.io/react-native-iap/blog/14.7.9/" target="_blank" rel="noopener noreferrer">React Native IAP 14.7.9 - 14.7.9 - tvOS, macOS &amp; watchOS Support</a></li>
<li>🤖 <a href="https://github.com/callstackincubator/agent-skills/tree/main/skills/upgrading-react-native" target="_blank" rel="noopener noreferrer">Callstack Agent Skills updated - New skills to upgrade React Native / Expo</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=_XGlN4jvIaA" target="_blank" rel="noopener noreferrer">Beto - Expo Router iOS 26 Tutorial: Native Tabs, Toolbars, Zoom Transitions (SDK 55)</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=CIlrfQSSkyc" target="_blank" rel="noopener noreferrer">Software Mansion - Radon, An IDE for React Native &amp; Expo</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=7EaQlJaFV4I" target="_blank" rel="noopener noreferrer">Callstack - What Is the React Native AI SDK? A Complete Intro &amp; Quickstart</a></li>
<li>🎙️ <a href="https://infinite.red/react-native-radio/rnr-353-node-api-support-for-react-native-with-krn-hansen" target="_blank" rel="noopener noreferrer">RNR 353 - Node-API Support for React Native with Kræn Hansen</a></li>
<li>🎙️ <a href="https://share.transistor.fm/s/41aa2d87" target="_blank" rel="noopener noreferrer">Rocket Ship 91 - Gesture Handler v3, AI Agents Everywhere, Animated Components &amp; Tiny Harvest Momentum</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="other">🔀 Other<a href="https://thisweekinreact.com/newsletter/268#other" class="hash-link" aria-label="Direct link to 🔀 Other" title="Direct link to 🔀 Other">​</a></h2>
<ul>
<li>👀 <a href="https://github.com/microsoft/TypeScript/issues/63085" target="_blank" rel="noopener noreferrer">TypeScript 6.0 Iteration Plan</a> - The last JS-based version (no 6.1 planned) is about to drop in beta (last minute edit: <a href="https://devblogs.microsoft.com/typescript/announcing-typescript-6-0-beta/" target="_blank" rel="noopener noreferrer">6.0 beta is out</a>). A bridge release that prepares us for the faster 7.0 Go rewrite. One notable change is to turn strict mode on by default.</li>
<li>👀 <a href="https://webpack.js.org/blog/2026-04-02-roadmap-2026/" target="_blank" rel="noopener noreferrer">Webpack - Roadmap 2026</a> - The historical bundler plans to ship several new features, such as native CSS module, TS loader, multi-threading support, a universal runtime target, a unified minimizer API, and more. They also published v5.105 recently, with support for <code>tsconfig.json</code> alias resolution.</li>
<li>📖 <a href="https://main.vitest.dev/guide/test-tags.html" target="_blank" rel="noopener noreferrer">Vitest 4.1 beta - Test tags</a> - This upcoming feature lets you categorize tests under tags that you can configure independently. For example, you could tag a test as flaky to assign it a specific retry/timeout policy.</li>
<li>📜 <a href="https://domenic.me/jsdom-claude-code/" target="_blank" rel="noopener noreferrer">The Wrong Work, Done Beautifully</a> - The author of <code>jsdom</code> reflects on the usefulness of his popular library compared to headless browsers. However, Claude Code restored his enthusiasm for maintaining the project. By the way, v28.0 is out.</li>
<li>📜 <a href="https://www.atriiy.dev/blog/rolldown-high-performance-code-splitting" target="_blank" rel="noopener noreferrer">How Rolldown Works: High-Performance Code Splitting with Bitset Logic</a></li>
<li>📦 <a href="https://almostnode.dev/" target="_blank" rel="noopener noreferrer">Almostnode - Node.js in your browser</a> - This lightweight and open alternative to WebContainers can run Next.js and Vite apps.</li>
<li>📦 <a href="https://developer.chrome.com/release-notes/145" target="_blank" rel="noopener noreferrer">Chrome 145 - <code>Map.prototype.getOrInsert()</code>, CSS <code>text-justify</code>, <code>letter-spacing</code></a> - They also announced an <a href="https://developer.chrome.com/blog/webmcp-epp" target="_blank" rel="noopener noreferrer">early preview of WebMCP</a> in Chrome 146, letting you expose tools for AI agents to interact with your websites/apps.</li>
<li>📦 <a href="https://eslint.org/blog/2026/02/eslint-v10.0.0-released/" target="_blank" rel="noopener noreferrer">ESLint 10.0 - Improves JSX references tracking, removes eslintrc configuration, smaller</a></li>
<li>📦 <a href="https://bun.com/blog/bun-v1.3.9" target="_blank" rel="noopener noreferrer">Bun 1.3.9 - <code>bun run –parallel / –sequential</code></a></li>
<li>📦 <a href="https://code.visualstudio.com/updates/v1_109" target="_blank" rel="noopener noreferrer">VSCode 1.109 - Improved Agent UX and extensibility</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fun">🤭 Fun<a href="https://thisweekinreact.com/newsletter/268#fun" class="hash-link" aria-label="Direct link to 🤭 Fun" title="Direct link to 🤭 Fun">​</a></h2>
<p><a href="https://x.com/RhysSullivan/status/1994068153253679563" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/meme.jpg" alt="alt" class="img_SS3x"></a></p>
<p><a href="https://x.com/Swizec/status/2020980360973349277" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/268/meme2.jpg" alt="alt" class="img_SS3x"></a></p>
<p>See ya! 👋</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[This Week In React #267: Bun, Next-Intl, Grab, Aria, ViewTransition, Skills, Gatsby, R3f | Worklets, Teleport, Voltra, AI SDK, Screens, Tamagui, Xcode, Agent-Device | State of JS, Temporal, Babel, Astro, npmx]]></title>
            <link>https://thisweekinreact.com/newsletter/267</link>
            <guid>https://thisweekinreact.com/newsletter/267</guid>
            <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Hi everyone\!]]></description>
            <content:encoded><![CDATA[<p>Hi everyone!</p>
<p>You’ll have to get used to it: yet another week filled with AI content. From MCPs to Agent Skills to AI-specific CLIs, we don’t know where to turn anymore.</p>
<p>We’re delighted to be ranked once again among the <a href="https://2025.stateofjs.com/en-US/resources/#newsletters" target="_blank" rel="noopener noreferrer">top 5 newsletters in the State of JavaScript 2025 survey</a>. Thanks for your trust!</p>
<p>By the way, we’d love your feedback — what do you like about the newsletter, and how could we make it better in 2026?</p>
<p>Just hit reply and let us know! ❤️</p>
<!-- -->
<p>As always, thanks for supporting us on your favorite platform:</p>
<ul>
<li>🦋 <a href="https://slo.im/last/b" target="_blank" rel="noopener noreferrer">Bluesky</a></li>
<li>✖️ <a href="https://slo.im/last/x" target="_blank" rel="noopener noreferrer">X / Twitter</a></li>
<li>👔 <a href="https://slo.im/last/l" target="_blank" rel="noopener noreferrer">LinkedIn</a></li>
<li>👽 <a href="https://slo.im/last/r" target="_blank" rel="noopener noreferrer">Reddit</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://x.com/grabbou/status/1829126194022715617" target="_blank" rel="noreferrer nofollow">If every newsletter was as informative, the world would be a better place!</a></blockquote><figcaption><a href="https://twitter.com/grabbou" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="Mike Grabowski" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/grabbou?fallback=https://github.com/grabbou.png"><div class="avatar__intro"><strong class="avatar__name"><cite>Mike Grabowski</cite></strong><small class="avatar__subtitle" itemprop="description">CTO and founder - Callstack</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor1">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/267#sponsor1" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/frontendmasters.jpg" alt="React Performance, v2" class="img_SS3x"></a></p>
<p><strong><a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">React Performance, v2</a></strong></p>
<p>Make React apps fast where it actually matters.</p>
<p>An advanced performance course from <strong>Steve Kinney</strong>, focused on diagnosing real bottlenecks and fixing slow, janky React apps using modern React 19 patterns.</p>
<ul>
<li>🚀 <strong>Modern React</strong>: Suspense, transitions, deferred values, hydration, server actions</li>
<li>🔍 <strong>Debug Faster</strong>: Find unnecessary re-renders with React DevTools &amp; the Profiler</li>
<li>🧠 <strong>Smart Optimization</strong>: Memoization, virtualization, code splitting, optimistic UI</li>
<li>⚡ <strong>Feel-Fast UX</strong>: Learn how React Fiber prioritizes work to keep apps responsive</li>
</ul>
<p>⏱ 4+ hours • ⭐ 4.8 rating</p>
<p>🏫 From <strong>Frontend Masters</strong><br>
<!-- -->👉 Watch the course: <a href="https://frontendmasters.com/courses/react-performance-v2/?utm_source=reactweekly&amp;utm_medium=email&amp;utm_campaign=reactperf" target="_blank" rel="noopener noreferrer">https://frontendmasters.com/courses/react-performance-v2/</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react">⚛️ React<a href="https://thisweekinreact.com/newsletter/267#react" class="hash-link" aria-label="Direct link to ⚛️ React" title="Direct link to ⚛️ React">​</a></h2>
<ul>
<li>💸 <a href="https://go.posthog.com/twir-feb4" target="_blank" rel="noopener noreferrer">PostHog - 8 learnings from 1 year of agents</a></li>
<li>👀 <a href="https://github.com/facebook/react/pull/35590" target="_blank" rel="noopener noreferrer">React DOM PR - Support for <code>SubmitEvent.submitter</code></a></li>
<li>👀 React.dev PRs - Revamp docs of <a href="https://github.com/reactjs/react.dev/pull/8264" target="_blank" rel="noopener noreferrer">useOptimistic</a>, <a href="https://github.com/reactjs/react.dev/pull/8284" target="_blank" rel="noopener noreferrer">useActionState</a>, and <a href="https://github.com/reactjs/react.dev/pull/8279" target="_blank" rel="noopener noreferrer">useEffectEvent</a>.</li>
<li>📜 <a href="https://frontendmasters.com/blog/reacts-viewtransition-element/" target="_blank" rel="noopener noreferrer">React’s ViewTransition Element</a> - Chris Coyier compares the pros and cons of using <code>&lt;ViewTransition&gt;</code> VS the native platform API <code>document.startViewTransition()</code> in a React app.</li>
<li>📜 <a href="https://www.inngest.com/blog/migrating-off-nextjs-tanstack-start" target="_blank" rel="noopener noreferrer">Why Inngest migrated off Next.js to TanStack Start - Reducing local dev time by 83%</a> - Ingress was an early adopter of RSCs but got bitten by them, experienced slow local DX despite using Turbopack. They share their migration strategy and lessons learned.</li>
<li>📜 <a href="https://albertsikkema.com/ai/development/tools/reverse-engineering/2026/01/23/reverse-engineering-figma-make-files.html" target="_blank" rel="noopener noreferrer">Reverse-Engineering Figma Make: Extracting React Apps from Binary Files</a> - Figma Make uses React, Radix UI, and Tailwind under the hood, and you can recreate the underlying React app from <code>.fig</code> files.</li>
<li>📜 <a href="https://github.blog/engineering/from-pixels-to-characters-the-engineering-behind-github-copilot-clis-animated-ascii-banner/" target="_blank" rel="noopener noreferrer">The engineering behind GitHub Copilot CLI’s animated ASCII banner</a> - Rendering reliable animated components to the terminal UI looks complex, even if you leverage the React Ink renderer.</li>
<li>📜 <a href="https://www.developerway.com/posts/debugging-with-ai" target="_blank" rel="noopener noreferrer">Can AI actually debug complex React/Next.js issues?</a> - Throwing 3 real-world bugs at Claude Opus, it could only fix one properly.</li>
<li>📜 <a href="https://alexocallaghan.com/react-design-system-library-mcp" target="_blank" rel="noopener noreferrer">React design system library MCP</a> - How to leverage the experimental Storybook MCP server</li>
<li>💸 <a href="https://r2trck.com/twir-4" target="_blank" rel="noopener noreferrer">Building AI Voice Agents at Scale — The executive playbook by ElevenLabs</a></li>
<li>📦 <a href="https://next-intl.dev/blog/precompilation" target="_blank" rel="noopener noreferrer">Next Intl 4.8 - Ahead-of-time compilation</a> - This can significantly reduce your bundle size. Instead of bundling a full ICU parser to the client, it’s now possible to precompile ICU messages to a minified AST interpreted by a lightweight runtime.</li>
<li>📦 <a href="https://bun.com/blog/bun-v1.3.8" target="_blank" rel="noopener noreferrer">Bun 1.3.8 - <code>Bun.markdown</code> API</a> - Comes with a first-class <code>Bun.markdown.react()</code> API and claims to be much faster than React alternatives.</li>
<li>📦 <a href="https://www.react-grab.com/blog/1-0" target="_blank" rel="noopener noreferrer">React Grab 1.0 - Select context for coding agents directly from the website</a> - A convenient tool can make your coding agent 3x faster thanks to more precise prompts.</li>
<li>📦 <a href="https://ui.shadcn.com/docs/changelog" target="_blank" rel="noopener noreferrer">shadcn/ui updates - RTL support, unified Radix UI Package</a></li>
<li>📦 <a href="https://react-aria.adobe.com/releases/v1-15-0.html" target="_blank" rel="noopener noreferrer">React Aria 1.15 - New <code>render</code> prop, Agent Skills, constrain dates on blur</a></li>
<li>📦 <a href="https://github.com/gatsbyjs/gatsby/releases/tag/gatsby%405.16.0" target="_blank" rel="noopener noreferrer">Gatsby 5.16 - Add support for React 19 and Node 24</a></li>
<li>📦 <a href="https://rspress.rs/blog/rspress-v2" target="_blank" rel="noopener noreferrer">Rspress 2.0 - Documentation framework - Theme styling, AI-native, Shiki highlighting, performance, new plugins</a></li>
<li>📦 <a href="https://github.com/pmndrs/react-three-fiber/releases/tag/v10.0.0-alpha.1" target="_blank" rel="noopener noreferrer">React Three Fiber 10.0 alpha - Backward compatible, WebGPU support, TSL hooks, new scheduler</a></li>
<li>📦 <a href="https://github.com/mutativejs/travels/releases/tag/v1.0.0" target="_blank" rel="noopener noreferrer">Travels 1.0 - Fast, framework-agnostic undo/redo library with React integrations</a></li>
<li>📦 <a href="https://www.xoid.dev/blog/introducing-prefill" target="_blank" rel="noopener noreferrer">Prefill - Partial application for React components</a></li>
<li>📦 <a href="https://blog.meteor.com/meteor-3-4-is-out-rspack-integration-4x-faster-builds-8x-smaller-bundles-and-extended-bundler-36600fb45976" target="_blank" rel="noopener noreferrer">Meteor 3.4 - Rspack integration, 4x faster builds, 8x smaller bundles, and extended bundler features</a></li>
<li>📦 <a href="https://github.com/Rel1cx/eslint-react/releases/tag/v2.9.0" target="_blank" rel="noopener noreferrer">ESLint React 2.9 - Extract React RSC sub-plugin, new RSC preset</a></li>
<li>📦 <a href="https://github.com/rstackjs/rsbuild-plugin-react-router/blob/main/CHANGELOG.md#010" target="_blank" rel="noopener noreferrer">Rsbuild Plugin React Router 0.1 - Behavior closer to React Router's official Vite plugin</a></li>
<li>🤖 <a href="https://github.com/remix-run/agent-skills" target="_blank" rel="noopener noreferrer">React Router Agent Skills</a></li>
<li>🤖 <a href="https://skills.sh/vercel-labs/agent-skills/vercel-composition-patterns" target="_blank" rel="noopener noreferrer">React Composition Patterns Agent Skills</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=98PvcFL6DmE" target="_blank" rel="noopener noreferrer">Toby Mey - Where to put Auth in Next.js 16?</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=5NRAOnKc3c8" target="_blank" rel="noopener noreferrer">Remotion - Create motion graphics with AI – Simple tutorial for beginners</a></li>
</ul>
<div class="card subscribeFormEmbed_aAcT"><p><strong>Don't miss the next email!</strong></p><div class="">
<script src="https://f.convertkit.com/ckjs/ck.5.js"></script>
      <form action="https://app.convertkit.com/forms/3472133/subscriptions" class="seva-form formkit-form" method="post" data-sv-form="3472133" data-uid="8d653b97b6" data-format="inline" data-version="5" data-options="{&quot;settings&quot;:{&quot;after_subscribe&quot;:{&quot;action&quot;:&quot;redirect&quot;,&quot;success_message&quot;:&quot;Success! Now check your email to confirm your subscription.&quot;,&quot;redirect_url&quot;:&quot;https://thisweekinreact.com/workflow/confirm-your-email&quot;},&quot;analytics&quot;:{&quot;google&quot;:null,&quot;fathom&quot;:null,&quot;facebook&quot;:null,&quot;segment&quot;:null,&quot;pinterest&quot;:null,&quot;sparkloop&quot;:null,&quot;googletagmanager&quot;:null},&quot;modal&quot;:{&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;powered_by&quot;:{&quot;show&quot;:false,&quot;url&quot;:&quot;https://convertkit.com/features/forms?lmref=d0748g&amp;utm_campaign=poweredby&amp;utm_content=form&amp;utm_medium=referral&amp;utm_source=dynamic&quot;},&quot;recaptcha&quot;:{&quot;enabled&quot;:false},&quot;return_visitor&quot;:{&quot;action&quot;:&quot;show&quot;,&quot;custom_content&quot;:&quot;&quot;},&quot;slide_in&quot;:{&quot;display_in&quot;:&quot;bottom_right&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15},&quot;sticky_bar&quot;:{&quot;display_in&quot;:&quot;top&quot;,&quot;trigger&quot;:&quot;timer&quot;,&quot;scroll_percentage&quot;:null,&quot;timer&quot;:5,&quot;devices&quot;:&quot;all&quot;,&quot;show_once_every&quot;:15}},&quot;version&quot;:&quot;5&quot;}" min-width="400 500 600 700 800"><div data-style="clean"><ul class="formkit-alert formkit-alert-error" data-element="errors" data-group="alert"></ul><div data-element="fields" data-stacked="false" class="seva-fields formkit-fields"><div class="formkit-field"><input class="formkit-input" name="email_address" aria-label="Email Address" placeholder="Email Address" required="" type="email" style="color: rgb(0, 0, 0); border-color: rgb(227, 227, 227); border-radius: 4px; font-weight: 700;"></div><button data-element="submit" class="formkit-submit formkit-submit" style="color: rgb(255, 255, 255); background-color: rgb(0, 54, 92); border-radius: 4px; font-weight: 700;"><div class="formkit-spinner"><div></div><div></div><div></div></div><span class="">Subscribe now!</span></button></div></div><style>.formkit-form[data-uid="8d653b97b6"] *{box-sizing:border-box}.formkit-form[data-uid="8d653b97b6"]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.formkit-form[data-uid="8d653b97b6"] legend{font-size:inherit;border:none;margin-bottom:10px;padding:0;display:table;position:relative}.formkit-form[data-uid="8d653b97b6"] fieldset{border:0;min-width:0;margin:0;padding:.01em 0 0}.formkit-form[data-uid="8d653b97b6"] body:not(:-moz-handler-blocked) fieldset{display:table-cell}.formkit-form[data-uid="8d653b97b6"] h1,.formkit-form[data-uid="8d653b97b6"] h2,.formkit-form[data-uid="8d653b97b6"] h3,.formkit-form[data-uid="8d653b97b6"] h4,.formkit-form[data-uid="8d653b97b6"] h5,.formkit-form[data-uid="8d653b97b6"] h6{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] h2{margin:1em 0;font-size:1.5em}.formkit-form[data-uid="8d653b97b6"] h3{margin:1em 0;font-size:1.17em}.formkit-form[data-uid="8d653b97b6"] p{color:inherit;font-size:inherit;font-weight:inherit}.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]){text-align:left}.formkit-form[data-uid="8d653b97b6"] p:not([template-default]),.formkit-form[data-uid="8d653b97b6"] hr:not([template-default]),.formkit-form[data-uid="8d653b97b6"] blockquote:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ol:not([template-default]),.formkit-form[data-uid="8d653b97b6"] ul:not([template-default]){color:inherit;font-style:initial}.formkit-form[data-uid="8d653b97b6"] .ordered-list,.formkit-form[data-uid="8d653b97b6"] .unordered-list{padding-left:1em;list-style-position:outside!important}.formkit-form[data-uid="8d653b97b6"] .list-item{padding-left:0}.formkit-form[data-uid="8d653b97b6"][data-format=modal],.formkit-form[data-uid="8d653b97b6"][data-format=slide\ in],.formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:none}.formkit-sticky-bar .formkit-form[data-uid="8d653b97b6"][data-format=sticky\ bar]{display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input,.formkit-form[data-uid="8d653b97b6"] .formkit-select,.formkit-form[data-uid="8d653b97b6"] .formkit-checkboxes{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-button,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{color:#fff;cursor:pointer;text-align:center;cursor:pointer;vertical-align:middle;border:0;border-radius:5px;margin-bottom:15px;padding:0;font-size:15px;font-weight:500;display:inline-block;position:relative;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] .formkit-button:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:hover>span,.formkit-form[data-uid="8d653b97b6"] .formkit-button:focus>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit:focus>span{background-color:#0000001a}.formkit-form[data-uid="8d653b97b6"] .formkit-button>span,.formkit-form[data-uid="8d653b97b6"] .formkit-submit>span{padding:12px 24px;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:block}.formkit-form[data-uid="8d653b97b6"] .formkit-input{background:#fff;border:1px solid #e3e3e3;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;margin:0;padding:12px;font-size:15px;line-height:1.4;-webkit-transition:border-color .3s ease-out;transition:border-color .3s ease-out}.formkit-form[data-uid="8d653b97b6"] .formkit-input:focus{border-color:#1677be;outline:none;-webkit-transition:border-color .3s;transition:border-color .3s}.formkit-form[data-uid="8d653b97b6"] .formkit-input::-webkit-input-placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input:-ms-placeholder-shown{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] .formkit-input::placeholder{color:inherit;opacity:.8}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]{width:100%;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown]:before{content:"";pointer-events:none;z-index:999;border:6px solid #0000;border-top-color:#4f4f4f;border-bottom-width:0;width:0;height:0;position:absolute;top:calc(50% - 2.5px);right:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select{cursor:pointer;color:#333;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff;border:1px solid #e3e3e3;width:100%;height:auto;margin-bottom:0;padding:12px 25px 12px 12px;font-size:15px;line-height:1.4}.formkit-form[data-uid="8d653b97b6"] [data-group=dropdown] select:focus{outline:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes]{text-align:left;margin:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]{margin-bottom:10px}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] *{cursor:pointer}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox]:last-of-type{margin-bottom:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]{display:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]+label:after{content:none}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:after{content:"";border-color:#fff}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] input[type=checkbox]:checked+label:before{background:#10bf7a;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label{padding-left:28px;display:inline-block;position:relative}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before,.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{content:"";display:inline-block;position:absolute}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:before{background:#fff;border:1px solid #e3e3e3;width:16px;height:16px;top:3px;left:0}.formkit-form[data-uid="8d653b97b6"] [data-group=checkboxes] [data-group=checkbox] label:after{border-bottom:2px solid #4d4d4d;border-left:2px solid #4d4d4d;width:8px;height:4px;top:8px;left:4px;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.formkit-form[data-uid="8d653b97b6"] .formkit-alert{text-align:center;background:#f9fafb;border:1px solid #e3e3e3;border-radius:5px;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:100%;margin:25px auto;padding:12px;list-style:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert:empty{display:none}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-success{color:#0c905c;background:#d3fbeb;border-color:#10bf7a}.formkit-form[data-uid="8d653b97b6"] .formkit-alert-error{color:#ea4110;background:#fde8e2;border-color:#f2643b}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner{text-align:center;width:0;height:0;margin:0 auto;-webkit-transition:all .3s ease-in-out;transition:all .3s ease-in-out;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:absolute;top:0;left:0;right:0;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div{opacity:.3;background-color:#fff;border-radius:100%;width:12px;height:12px;margin:auto;-webkit-animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;animation:1.4s ease-in-out infinite both formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-;display:inline-block}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:first-child{-webkit-animation-delay:-.32s;animation-delay:-.32s}.formkit-form[data-uid="8d653b97b6"] .formkit-spinner>div:nth-child(2){-webkit-animation-delay:-.16s;animation-delay:-.16s}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner{opacity:1;width:50px;height:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-submit[data-active] .formkit-spinner~span{opacity:0}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{z-index:5;width:100%;margin:10px 0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container[data-active=false]{opacity:.35}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit{color:#373f45;cursor:pointer;opacity:.95;text-indent:100%;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='%23373F45'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='%23373F45'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='%23373F45'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='%23373F45'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='%23373F45'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='%23373F45'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='%23373F45'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='%23373F45'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='%23373F45'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='%23373F45'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='%23373F45'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='%23373F45'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='%23373F45'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='%23373F45'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='%23373F45'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border:1px solid #dde2e7;border-radius:4px;align-items:center;width:190px;height:36px;margin:0 auto;padding:0;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:block;overflow:hidden}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:hover,.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit:focus{opacity:1;background-color:#fff;-webkit-transform:scale(1.025)perspective(1px);-ms-transform:scale(1.025)perspective(1px);transform:scale(1.025)perspective(1px)}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=dark],.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{background-color:#0000;border-color:#0000;width:166px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit[data-variant=light]{color:#fff;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg width='162' height='20' viewBox='0 0 162 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M83.0561 15.2457C86.675 15.2457 89.4722 12.5154 89.4722 9.14749C89.4722 5.99211 86.8443 4.06563 85.1038 4.06563C82.6801 4.06563 80.7373 5.76407 80.4605 8.28551C80.4092 8.75244 80.0387 9.14403 79.5686 9.14069C78.7871 9.13509 77.6507 9.12841 76.9314 9.13092C76.6217 9.13199 76.3658 8.88106 76.381 8.57196C76.4895 6.38513 77.2218 4.3404 78.618 2.76974C80.1695 1.02445 82.4289 0 85.1038 0C89.5979 0 93.8406 4.07791 93.8406 9.14749C93.8406 14.7608 89.1832 19.3113 83.1517 19.3113C78.8502 19.3113 74.5179 16.5041 73.0053 12.5795C72.9999 12.565 72.9986 12.5492 73.0015 12.534C73.0218 12.4179 73.0617 12.3118 73.1011 12.2074C73.1583 12.0555 73.2143 11.907 73.2062 11.7359L73.18 11.1892C73.174 11.0569 73.2075 10.9258 73.2764 10.8127C73.3452 10.6995 73.4463 10.6094 73.5666 10.554L73.7852 10.4523C73.9077 10.3957 74.0148 10.3105 74.0976 10.204C74.1803 10.0974 74.2363 9.97252 74.2608 9.83983C74.3341 9.43894 74.6865 9.14749 75.0979 9.14749C75.7404 9.14749 76.299 9.57412 76.5088 10.1806C77.5188 13.1 79.1245 15.2457 83.0561 15.2457Z' fill='white'/%3E%3Cpath d='M155.758 6.91365C155.028 6.91365 154.804 6.47916 154.804 5.98857C154.804 5.46997 154.986 5.06348 155.758 5.06348C156.53 5.06348 156.712 5.46997 156.712 5.98857C156.712 6.47905 156.516 6.91365 155.758 6.91365ZM142.441 12.9304V9.32833L141.415 9.32323V8.90392C141.415 8.44719 141.786 8.07758 142.244 8.07986L142.441 8.08095V6.55306L144.082 6.09057V8.08073H145.569V8.50416C145.569 8.61242 145.548 8.71961 145.506 8.81961C145.465 8.91961 145.404 9.01047 145.328 9.08699C145.251 9.16351 145.16 9.2242 145.06 9.26559C144.96 9.30698 144.853 9.32826 144.745 9.32822H144.082V12.7201C144.082 13.2423 144.378 13.4256 144.76 13.4887C145.209 13.5629 145.583 13.888 145.583 14.343V14.9626C144.029 14.9626 142.441 14.8942 142.441 12.9304Z' fill='white'/%3E%3Cpath d='M110.058 7.92554C108.417 7.88344 106.396 8.92062 106.396 11.5137C106.396 14.0646 108.417 15.0738 110.058 15.0318C111.742 15.0738 113.748 14.0646 113.748 11.5137C113.748 8.92062 111.742 7.88344 110.058 7.92554ZM110.07 13.7586C108.878 13.7586 108.032 12.8905 108.032 11.461C108.032 10.1013 108.878 9.20569 110.071 9.20569C111.263 9.20569 112.101 10.0995 112.101 11.459C112.101 12.8887 111.263 13.7586 110.07 13.7586Z' fill='white'/%3E%3Cpath d='M118.06 7.94098C119.491 7.94098 120.978 8.33337 120.978 11.1366V14.893H120.063C119.608 14.893 119.238 14.524 119.238 14.0689V10.9965C119.238 9.66506 118.747 9.16047 117.891 9.16047C117.414 9.16047 116.797 9.52486 116.502 9.81915V14.069C116.502 14.1773 116.481 14.2845 116.44 14.3845C116.398 14.4845 116.337 14.5753 116.261 14.6519C116.184 14.7284 116.093 14.7891 115.993 14.8305C115.893 14.8719 115.786 14.8931 115.678 14.8931H114.847V8.10918H115.773C115.932 8.10914 116.087 8.16315 116.212 8.26242C116.337 8.36168 116.424 8.50033 116.46 8.65577C116.881 8.19328 117.428 7.94098 118.06 7.94098ZM122.854 8.09713C123.024 8.09708 123.19 8.1496 123.329 8.2475C123.468 8.34541 123.574 8.48391 123.631 8.64405L125.133 12.8486L126.635 8.64415C126.692 8.48402 126.798 8.34551 126.937 8.2476C127.076 8.1497 127.242 8.09718 127.412 8.09724H128.598L126.152 14.3567C126.091 14.5112 125.986 14.6439 125.849 14.7374C125.711 14.831 125.549 14.881 125.383 14.8809H124.333L121.668 8.09713H122.854Z' fill='white'/%3E%3Cpath d='M135.085 14.5514C134.566 14.7616 133.513 15.0416 132.418 15.0416C130.496 15.0416 129.024 13.9345 129.024 11.4396C129.024 9.19701 130.451 7.99792 132.191 7.99792C134.338 7.99792 135.254 9.4378 135.158 11.3979C135.139 11.8029 134.786 12.0983 134.38 12.0983H130.679C130.763 13.1916 131.562 13.7662 132.615 13.7662C133.028 13.7662 133.462 13.7452 133.983 13.6481C134.535 13.545 135.085 13.9375 135.085 14.4985V14.5514ZM133.673 10.949C133.785 9.87621 133.061 9.28752 132.191 9.28752C131.321 9.28752 130.734 9.93979 130.679 10.9489L133.673 10.949Z' fill='white'/%3E%3Cpath d='M137.345 8.11122C137.497 8.11118 137.645 8.16229 137.765 8.25635C137.884 8.35041 137.969 8.48197 138.005 8.62993C138.566 8.20932 139.268 7.94303 139.759 7.94303C139.801 7.94303 140.068 7.94303 140.489 7.99913V8.7265C140.489 9.11748 140.15 9.4147 139.759 9.4147C139.31 9.4147 138.651 9.5829 138.131 9.8773V14.8951H136.462V8.11112L137.345 8.11122ZM156.6 14.0508V8.09104H155.769C155.314 8.09104 154.944 8.45999 154.944 8.9151V14.8748H155.775C156.23 14.8748 156.6 14.5058 156.6 14.0508ZM158.857 12.9447V9.34254H157.749V8.91912C157.749 8.46401 158.118 8.09506 158.574 8.09506H158.857V6.56739L160.499 6.10479V8.09506H161.986V8.51848C161.986 8.97359 161.617 9.34254 161.161 9.34254H160.499V12.7345C160.499 13.2566 160.795 13.44 161.177 13.503C161.626 13.5774 162 13.9024 162 14.3574V14.977C160.446 14.977 158.857 14.9086 158.857 12.9447ZM98.1929 10.1124C98.2033 6.94046 100.598 5.16809 102.895 5.16809C104.171 5.16809 105.342 5.44285 106.304 6.12953L105.914 6.6631C105.654 7.02011 105.16 7.16194 104.749 6.99949C104.169 6.7702 103.622 6.7218 103.215 6.7218C101.335 6.7218 99.9169 7.92849 99.9068 10.1123C99.9169 12.2959 101.335 13.5201 103.215 13.5201C103.622 13.5201 104.169 13.4717 104.749 13.2424C105.16 13.0799 105.654 13.2046 105.914 13.5615L106.304 14.0952C105.342 14.7819 104.171 15.0566 102.895 15.0566C100.598 15.0566 98.2033 13.2842 98.1929 10.1124ZM147.619 5.21768C148.074 5.21768 148.444 5.58663 148.444 6.04174V9.81968L151.82 5.58131C151.897 5.47733 151.997 5.39282 152.112 5.3346C152.227 5.27638 152.355 5.24607 152.484 5.24611H153.984L150.166 10.0615L153.984 14.8749H152.484C152.355 14.8749 152.227 14.8446 152.112 14.7864C151.997 14.7281 151.897 14.6436 151.82 14.5397L148.444 10.3025V14.0508C148.444 14.5059 148.074 14.8749 147.619 14.8749H146.746V5.21768H147.619Z' fill='white'/%3E%3Cpath d='M0.773438 6.5752H2.68066C3.56543 6.5752 4.2041 6.7041 4.59668 6.96191C4.99219 7.21973 5.18994 7.62695 5.18994 8.18359C5.18994 8.55859 5.09326 8.87061 4.8999 9.11963C4.70654 9.36865 4.42822 9.52539 4.06494 9.58984V9.63379C4.51611 9.71875 4.84717 9.88721 5.05811 10.1392C5.27197 10.3882 5.37891 10.7266 5.37891 11.1543C5.37891 11.7314 5.17676 12.1841 4.77246 12.5122C4.37109 12.8374 3.81152 13 3.09375 13H0.773438V6.5752ZM1.82373 9.22949H2.83447C3.27393 9.22949 3.59473 9.16064 3.79688 9.02295C3.99902 8.88232 4.1001 8.64502 4.1001 8.31104C4.1001 8.00928 3.99023 7.79102 3.77051 7.65625C3.55371 7.52148 3.20801 7.4541 2.7334 7.4541H1.82373V9.22949ZM1.82373 10.082V12.1167H2.93994C3.37939 12.1167 3.71045 12.0332 3.93311 11.8662C4.15869 11.6963 4.27148 11.4297 4.27148 11.0664C4.27148 10.7324 4.15723 10.4849 3.92871 10.3237C3.7002 10.1626 3.35303 10.082 2.88721 10.082H1.82373Z' fill='white'/%3E%3Cpath d='M13.011 6.5752V10.7324C13.011 11.207 12.9084 11.623 12.7034 11.9805C12.5012 12.335 12.2068 12.6089 11.8201 12.8022C11.4363 12.9927 10.9763 13.0879 10.4402 13.0879C9.6433 13.0879 9.02368 12.877 8.5813 12.4551C8.13892 12.0332 7.91772 11.4531 7.91772 10.7148V6.5752H8.9724V10.6401C8.9724 11.1704 9.09546 11.5615 9.34155 11.8135C9.58765 12.0654 9.96557 12.1914 10.4753 12.1914C11.4656 12.1914 11.9607 11.6714 11.9607 10.6313V6.5752H13.011Z' fill='white'/%3E%3Cpath d='M15.9146 13V6.5752H16.9649V13H15.9146Z' fill='white'/%3E%3Cpath d='M19.9255 13V6.5752H20.9758V12.0991H23.696V13H19.9255Z' fill='white'/%3E%3Cpath d='M28.2828 13H27.2325V7.47607H25.3428V6.5752H30.1724V7.47607H28.2828V13Z' fill='white'/%3E%3Cpath d='M41.9472 13H40.8046L39.7148 9.16796C39.6679 9.00097 39.6093 8.76074 39.539 8.44727C39.4687 8.13086 39.4262 7.91113 39.4116 7.78809C39.3823 7.97559 39.3339 8.21875 39.2665 8.51758C39.2021 8.81641 39.1479 9.03905 39.1039 9.18554L38.0405 13H36.8979L36.0673 9.7832L35.2236 6.5752H36.2958L37.2143 10.3193C37.3578 10.9199 37.4604 11.4502 37.5219 11.9102C37.5541 11.6611 37.6025 11.3828 37.6669 11.0752C37.7314 10.7676 37.79 10.5186 37.8427 10.3281L38.8886 6.5752H39.9301L41.0024 10.3457C41.1049 10.6943 41.2133 11.2158 41.3276 11.9102C41.3715 11.4912 41.477 10.958 41.644 10.3105L42.558 6.5752H43.6215L41.9472 13Z' fill='white'/%3E%3Cpath d='M45.7957 13V6.5752H46.846V13H45.7957Z' fill='white'/%3E%3Cpath d='M52.0258 13H50.9755V7.47607H49.0859V6.5752H53.9155V7.47607H52.0258V13Z' fill='white'/%3E%3Cpath d='M61.2312 13H60.1765V10.104H57.2146V13H56.1643V6.5752H57.2146V9.20312H60.1765V6.5752H61.2312V13Z' fill='white'/%3E%3C/svg%3E")}@-webkit-keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}@keyframes formkit-bouncedelay-formkit-form-data-uid-8d653b97b6-{0%,80%,to{-webkit-transform:scale(0);-ms-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.formkit-form[data-uid="8d653b97b6"] blockquote{border-left:5px solid #e1e1e1;margin:0 0 20px;padding:10px 20px}.formkit-form[data-uid="8d653b97b6"] .seva-custom-content{color:#fff;mix-blend-mode:difference;padding:15px;font-size:16px}.formkit-form[data-uid="8d653b97b6"]{max-width:700px}.formkit-form[data-uid="8d653b97b6"] [data-style=clean]{width:100%}.formkit-form[data-uid="8d653b97b6"] .formkit-fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:0 auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.formkit-form[data-uid="8d653b97b6"] .formkit-field,.formkit-form[data-uid="8d653b97b6"] .formkit-submit{-webkit-flex:1 0 100%;-ms-flex:1 0 100%;flex:1 0 100%;margin:0 0 15px}.formkit-form[data-uid="8d653b97b6"] .formkit-powered-by-convertkit-container{margin:0}.formkit-form[data-uid="8d653b97b6"] .formkit-submit{position:static}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] [data-style=clean],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] [data-style=clean]{padding:10px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false],.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false]{margin-left:-5px;margin-right:-5px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{margin:0 5px 15px}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-field,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-field{-webkit-flex:100 auto;-ms-flex:100 auto;flex:100 auto}.formkit-form[data-uid="8d653b97b6"][min-width~="700"] .formkit-fields[data-stacked=false] .formkit-submit,.formkit-form[data-uid="8d653b97b6"][min-width~="800"] .formkit-fields[data-stacked=false] .formkit-submit{-webkit-flex:auto;-ms-flex:auto;flex:auto}</style></form>
</div><div><div class="quoteContainer_Karu"><figure class="tweetQuote_h8Rz"><blockquote><a href="https://twitter.com/wcandillon/status/1263825118557593600" target="_blank" rel="noreferrer nofollow">If you are not signed-up, you are missing out</a></blockquote><figcaption><a href="https://twitter.com/wcandillon" target="_blank" rel="noreferrer nofollow"><div class="avatar"><img alt="William Candillon" class="avatar__photo shadow--md avatarImg_b51M" src="https://unavatar.io/twitter/wcandillon?fallback=https://github.com/wcandillon.png"><div class="avatar__intro"><strong class="avatar__name"><cite>William Candillon</cite></strong><small class="avatar__subtitle" itemprop="description">React-Native animations expert - Youtuber</small></div></div></a></figcaption></figure></div></div></div>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="sponsor2">💸 Sponsor<a href="https://thisweekinreact.com/newsletter/267#sponsor2" class="hash-link" aria-label="Direct link to 💸 Sponsor" title="Direct link to 💸 Sponsor">​</a></h2>
<p><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/meticulous.jpg" alt="Still writing tests manually?" class="img_SS3x"></a></p>
<p><strong><a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">Still writing tests manually?</a></strong></p>
<p>Notion, Dropbox and LaunchDarkly&nbsp;have found a new testing paradigm - and they can't imagine working without it.&nbsp;Built by <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">ex-Palantir engineers</a>, Meticulous autonomously creates a continuously evolving suite of E2E UI tests that delivers <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">near-exhaustive coverage</a> with <em>zero developer effort</em> - impossible to deliver by any other means.&nbsp;</p>
<p>It works like magic in the background:</p>
<ul>
<li>Near-exhaustive coverage on every test run</li>
<li>No test creation</li>
<li><strong>No maintenance (seriously)</strong></li>
<li>Zero flakes (built on a deterministic browser)</li>
</ul>
<p><strong>🤨</strong> Curious? <a href="https://www.meticulous.ai/?utm_source=thisweekinreact&amp;utm_medium=newsletter&amp;utm_campaign=26q1&amp;utm_content=2nd" target="_blank" rel="noopener noreferrer">Book in a time to learn more</a></p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="react-native">📱 React-Native<a href="https://thisweekinreact.com/newsletter/267#react-native" class="hash-link" aria-label="Direct link to 📱 React-Native" title="Direct link to 📱 React-Native">​</a></h2>
<p><a href="https://blog.swmansion.com/behind-the-scenes-of-react-native-multithreading-vision-camera-v5-x-react-native-worklets-a102c37b32ae" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/worklets.jpg" alt="Behind the Scenes of React Native Multithreading: Vision Camera V5 x React Native Worklets" class="img_SS3x"></a></p>
<p><strong><a href="https://blog.swmansion.com/behind-the-scenes-of-react-native-multithreading-vision-camera-v5-x-react-native-worklets-a102c37b32ae" target="_blank" rel="noopener noreferrer">Behind the Scenes of React Native Multithreading: Vision Camera V5 x React Native Worklets</a></strong></p>
<p>Worklets have been extracted from Reanimated to become a first-class multithreading primitive. It has been integrated into the upcoming VisionCamera V5, enabling its real-time frame processor system to run directly on the Camera Thread.</p>
<p>Also, take a look at 📦 <a href="https://github.com/software-mansion/react-native-reanimated/releases/tag/worklets-0.8.0-bundle-mode-preview-1" target="_blank" rel="noopener noreferrer">Worklets 0.8 - Bundle Mode preview</a>. It makes it possible to use third-party libraries and do network requests within worklets. This mode is opt-in but might become the default in the future.</p>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<ul>
<li>💸 <a href="https://radon.swmansion.com/?utm_source=TWIR2&amp;utm_medium=link2" target="_blank" rel="noopener noreferrer">Stop searching for components manually - try the Element Inspector in Radon to build React Native apps faster.</a></li>
<li>📜 <a href="https://www.chmal.it/blog/building-voltra-renderer" target="_blank" rel="noopener noreferrer">Building Voltra: Renderer</a> - The creator of the Widgets and Live Activities library explains how it works under the hood. It’s a custom renderer, but using <code>react-reconciler</code> wasn’t a great fit, so they took inspiration from React DOM SSR code instead.</li>
<li>📜 <a href="https://expo.dev/blog/how-to-increase-mobile-app-downloads-and-retention" target="_blank" rel="noopener noreferrer">5 tips to increase mobile app downloads and retention in 2026</a></li>
<li>📦 <a href="https://kirillzyusko.github.io/react-native-teleport/blog/welcome" target="_blank" rel="noopener noreferrer">Teleport 1.0 - Brings true native portals to React Native</a> - The equivalent of <code>ReactDOM.createPortal</code> for mobile, with additional view re-parenting, re-use, and pre-rendering capabilities. It’s cross-platform and also supports web.</li>
<li>📦 <a href="https://github.com/software-mansion/react-native-screens/releases/tag/4.21.0" target="_blank" rel="noopener noreferrer">Screens 4.21 - Android stack screen preloading, iOS xcassets icon catalogs support for key navigation UI elements</a> - Note that iOS xcassets icon catalogs are <a href="https://github.com/react-navigation/react-navigation/commit/5904082ab3f09787ea8a3581837057d7fd0033d0" target="_blank" rel="noopener noreferrer">already integrated into React Navigation for native tabs</a>.</li>
<li>📦 <a href="https://www.apple.com/newsroom/2026/02/xcode-26-point-3-unlocks-the-power-of-agentic-coding" target="_blank" rel="noopener noreferrer">Xcode 26.3 RC - Unlocks the power of agentic coding</a> - If you don’t want to use Xcode as an IDE, you can still leverage the new Xcode MCP and its <code>RenderPreview</code> tool to feed your AI with visual feedback (SwiftUI previews, it probably doesn’t work with RN views).</li>
<li>📦 <a href="https://github.com/callstackincubator/agent-device" target="_blank" rel="noopener noreferrer">Agent-Device - CLI to control iOS and Android devices for AI agents</a> - The equivalent of Vercel’s <code>agent-browser</code> for mobile. Support for TV/desktop apps planned.</li>
<li>📦 <a href="https://www.callstack.com/blog/announcing-ai-sdk-profiler-for-react-native" target="_blank" rel="noopener noreferrer">AI SDK Profiler - New Rozenite DevTools plugin</a> - Lets you inspect OpenTelemetry spans coming from the RN AI SDK</li>
<li>📦 <a href="https://github.com/callstackincubator/ai/releases/tag/v0.12.0" target="_blank" rel="noopener noreferrer">AI SDK 0.12 - Profiler plugin, ai v6, tool calling and re-ranking for Llama models</a></li>
<li>📦 <a href="https://tamagui.dev/blog/version-two" target="_blank" rel="noopener noreferrer">Tamagui 2.0 RC - Universal style library for React - More stable, easy, documented, fast, and feature-complete</a></li>
<li>📦 <a href="https://github.com/uni-stack/uniwind/releases/tag/v1.3.0" target="_blank" rel="noopener noreferrer">Uniwind 1.3 - Support data attributes</a></li>
<li>📦 <a href="https://github.com/riteshshukla04/react-native-superconfig" target="_blank" rel="noopener noreferrer">Superconfig - 18x faster than react-native-config, using Nitro</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=2Pes2Y11yWM" target="_blank" rel="noopener noreferrer">Callstack - Implementing an Android TurboModule from Scratch</a></li>
<li>🎥 <a href="https://www.youtube.com/@reactnativelive" target="_blank" rel="noopener noreferrer">React Native Live - New monthly live show channel from Infinite Red</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=XkxmtLozKoA" target="_blank" rel="noopener noreferrer">Beto - Are You Leaking Your Environment Variables? React Native + Expo</a></li>
<li>🎥 <a href="https://www.youtube.com/watch?v=mzRgSxf5oRk" target="_blank" rel="noopener noreferrer">Simon Grimm - 10 Tips You Need For Expo Router in 2026!</a></li>
<li>🎙️ <a href="https://infinite.red/react-native-radio/rnr-352-expo-launch-with-cedric-van-putten" target="_blank" rel="noopener noreferrer">RNR 352 - Expo Launch with Cedric van Putten</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="other">🔀 Other<a href="https://thisweekinreact.com/newsletter/267#other" class="hash-link" aria-label="Direct link to 🔀 Other" title="Direct link to 🔀 Other">​</a></h2>
<ul>
<li>📊 <a href="https://2025.stateofjs.com/en-US/" target="_blank" rel="noopener noreferrer">State of JavaScript 2025 - Survey Results</a> - React and Next.js keep growing in usage, but satisfaction is decreasing. Meanwhile, alternatives such as Astro and Solid have pretty high satisfaction scores.</li>
<li>📜 <a href="https://blogs.igalia.com/compilers/2026/01/31/implementing-the-temporal-proposal-in-javascriptcore/" target="_blank" rel="noopener noreferrer">Implementing the Temporal proposal in JavaScriptCore</a> - The JS Temporal API should be in all browsers relatively soon, with Safari being the last remaining browser. The implementation for JSC (Safari, Bun) is complete but not merged yet.</li>
<li>📜 <a href="https://nodejsdesignpatterns.com/blog/nodejs-path-traversal-security/" target="_blank" rel="noopener noreferrer">Node.js Path Traversal: Prevention &amp; Security Guide</a> - Explains how to secure your Node app from unsafe path inputs, such as <code>http://localhost:port/images/../../etc/passwd</code>.</li>
<li>📜 <a href="https://nolanlawson.com/2026/01/31/building-a-browser-api-in-one-shot/" target="_blank" rel="noopener noreferrer">Building a browser API in one shot</a> - With a good prompt created by an expert, Claude Opus can one-shot a decent TypeScript implementation of <code>IndexedDB</code>.</li>
<li>📦 <a href="https://astro.build/blog/astro-5170/" target="_blank" rel="noopener noreferrer">Astro 5.17 - Dev toolbar placement, partitioned cookie, async file loader parser</a></li>
<li>📦 <a href="https://turborepo.dev/blog/2-8" target="_blank" rel="noopener noreferrer">Turborepo 2.8 - Git worktree support, Agent skills, AI-enabled</a></li>
<li>📦 <a href="https://babeljs.io/blog/2026/01/31/7.29.0" target="_blank" rel="noopener noreferrer">Babel 7.29 - The last Babel 7 minor release</a> - They are also announcing Babel 8 in RC, aiming to be easy to adopt, and ESM-only.</li>
<li>🔗 <a href="https://github.com/npmx-dev/npmx.dev" target="_blank" rel="noopener noreferrer">npmx - A fast, modern browser for the npm registry</a></li>
</ul>
<div role="separator" style="text-align:center;margin:10px 0"><img class="separator" src="https://thisweekinreact.com/emails/separators/christmas.png" width="600" height="64" style="width:100%;max-width:600px;margin:0 auto;object-fit:contain"></div>
<h2 class="anchor anchorWithStickyNavbar_JmGV" id="fun">🤭 Fun<a href="https://thisweekinreact.com/newsletter/267#fun" class="hash-link" aria-label="Direct link to 🤭 Fun" title="Direct link to 🤭 Fun">​</a></h2>
<p><a href="https://x.com/sebastienlorber/status/2000908572562219440" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/meme.jpg" alt="alt" class="img_SS3x"></a></p>
<p><a href="https://x.com/sebastienlorber/status/2013971000250003693" target="_blank" rel="noopener noreferrer"><img decoding="async" loading="lazy" src="https://thisweekinreact.com/emails/issues/267/meme2.jpg" alt="alt" class="img_SS3x"></a></p>
<p>See ya! 👋</p>]]></content:encoded>
        </item>
    </channel>
</rss>