<turbo-stream action="append" target="posts_list"><template>    <div class="postbit" id="217996" data-post-id="217996">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="msaraiva" data-post="133" data-topic="27671">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/msaraiva/48/1214_2.png" class="avatar"> msaraiva:</div>
<blockquote>
<p>whether <code>{:else}</code> is a sub-block for <code>{#if}</code> or an ordinary expression containing an atom <code>:else</code>.</p>
</blockquote>
</aside>
<p>That can be worked around by requiring a leading atom to have a space after the curly. eg: <code>{:else}</code> vs <code>{ :else}</code>. I understand the dilemma though.</p>
<p>One more question, with the new {<span class="hashtag-raw">#XXX</span>} syntax, are we going to deprecate <em>all</em> colon attributes, such as <code>:for</code>, <code>:props</code> and <code>:if</code>? There is not many left, and for things like <code>:on-click</code> we can go back to <code>phx-click</code>.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="217996" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/134">Post #133</a>
	                </div>
	            </div>
              <div id="likers-container-217996" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="217996"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #133"></div>
  </section>
</div>
    <div class="postbit" id="218002" data-post-id="218002">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="msaraiva" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/msaraiva/120/1214_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  msaraiva
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Broadway Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="derek-zhou" data-post="134" data-topic="27671">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/48/19943_2.png" class="avatar"> derek-zhou:</div>
<blockquote>
<p>are we going to deprecate <em>all</em> colon attributes, such as <code>:for</code>, <code>:props</code> and <code>:if</code>? There is not many left, and for things like <code>:on-click</code> we can go back to <code>phx-click</code></p>
</blockquote>
</aside>
<p><code>:for</code>, <code>:attrs</code> and <code>:props</code> will be deprecated. The others will be kept.</p>
<p>Keep in mind directives manipulates the code at compile-time, usually introducing additional behaviour to improve DX. They are similar to Elixir macros in that sense.</p>
<p>So just as we don’t create Elixir macros to map an existing function without adding some extra behaviour, we don’t map existing attributes to do the same thing. We prefer to create a new abstraction leaving the semantics of existing attributes untouched.</p>
<p>For instance, the <code>:on-click</code> directive, by default, automatically generates both, <code>phx-click</code> and <code>phx-target</code> based on the type of the host component (stateful or stateless). That’s why we don’t use the <code>:phx-</code> prefix. We want to make it explicit that they are not the same thing and if you want to use the original <code>phx-</code> attributes, you can still do it and they should work with the same behaviour as they were originally designed.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218002" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/135">Post #134</a>
	                </div>
	            </div>
              <div id="likers-container-218002" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218002"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #134"></div>
  </section>
</div>
    <div class="postbit" id="218004" data-post-id="218004">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>What’s the difference between <code>:if</code> and <code>{#if}</code>, if <code>:if</code> is not going to be deprecated?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218004" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/136">Post #135</a>
	                </div>
	            </div>
              <div id="likers-container-218004" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218004"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #135"></div>
  </section>
</div>
    <div class="postbit" id="218009" data-post-id="218009">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="paulstatezny" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/paulstatezny/120/18204_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  paulstatezny
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>One is basically an attribute on a single element. The other can encapsulate many elements.</p>
<pre data-code-wrap="txt"><code class="lang-txt">&lt;button :if={@show_button}&gt;
  Button and everything inside hidden if falsy.
&lt;/button&gt;

&lt;div&gt;
  Never hidden
&lt;/div&gt;
</code></pre>
<p>Versus</p>
<pre data-code-wrap="txt"><code class="lang-txt">{#if @show_button}
  &lt;button&gt;
    Hidden if falsy
  &lt;/button&gt;

  &lt;div&gt;
    Also hidden if falsy
  &lt;/div&gt;
{/if}
</code></pre> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218009" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/137">Post #136</a>
	                </div>
	            </div>
              <div id="likers-container-218009" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218009"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #136"></div>
  </section>
</div>
    <div class="postbit" id="218010" data-post-id="218010">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="paulstatezny" data-post="137" data-topic="27671">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/paulstatezny/48/18204_2.png" class="avatar"> paulstatezny:</div>
<blockquote>
<p>One is basically an attribute on a single element. The other can encapsulate many elements.</p>
<pre data-code-wrap="elixir"><code class="lang-elixir"></code></pre>
</blockquote>
</aside>
<p>I know this part. What I wanted to ask was is there anything <code>:if</code> can do but <code>{#if}</code> cannot?</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218010" data-batch-url="/posts/batch_likers">
                        1
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/138">Post #137</a>
	                </div>
	            </div>
              <div id="likers-container-218010" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218010"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #137"></div>
  </section>
</div>
    <div class="postbit" id="218072" data-post-id="218072">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="derek-zhou" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/derek-zhou/120/19943_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  derek-zhou
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>To answer my own question in part, it seems like <code>:if={...}</code> is more efficient. I converted a bunch of <code>:if={...}</code> to <code>{#if...}</code> and observed that the DOM diff down the socket is bigger. I cannot pin point the problem but it feel like the change tracking is not ideal in the cases of <code>if...elseif</code> or cascading <code>if</code></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218072" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/139">Post #138</a>
	                </div>
	            </div>
              <div id="likers-container-218072" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218072"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #138"></div>
  </section>
</div>
    <div class="postbit" id="218151" data-post-id="218151">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="dmitriid" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dmitriid/120/13182_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  dmitriid
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>My unsolicited 5¢. IMO YMMV <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>I find that “control attributes” (such as <code>:if</code>, <code>:for</code> and similar) are a net negative on DX (not a large negative, but a negative nonetheless):</p>
<ol start="0">
<li>
<p>My own terminology explainer. Control attributes vs shorthand attributes</p>
<p>Control attributes, well, control the behaviour of an element. So, <code>:if</code> controls whether an element is inserted depending on some condition.</p>
<p>Shorthand attributes are, well, shorthands for often-used things. Like <code>:on-click</code> that generates <code>phx-click</code> and <code>phx-target</code> in one go.</p>
</li>
<li>
<p>Props are passed down to the element, control attributes “work outside of the element”</p>
<p>With possibly with the exception of <code>class</code> and <code>style</code>, attributes/props are what is passed down to the element, and that let the element control what to do with them. This is especially true if we don’t draw a distinction between regular HTML elements and our custom elements (React-style).</p>
<p>Control attributes kinda break the abstraction. “Look, we pass all this onto the element except this one, this one will be handled by something else”.</p>
</li>
<li>
<p>They require extra work to compose/refactor</p>
<p>The moment you need an <code>else</code> on an <code>:if</code>, or you need to control more than one element, you have to remove the attribute and use something else. This is less of an issue for an established codebase, but will definitely be a minor pain when prototyping or redesigning.</p>
<p>This also reminds me of how awkward if/else is, for example, in Angular: <a href="https://angular.io/api/common/NgIf" class="inline-onebox" rel="noopener nofollow ugc">Angular</a></p>
</li>
<li>
<p>Optimised for a special case</p>
<p>Bullet point 2 stems from the fact that control attributes are optimised for a very special case: a single element that we can control.</p>
<p>In my opinion, this is not a good way to optimise. There are way more special cases that we can come up with syntax for, and each special case will be sufficiently different from others that you will need a cheatsheet to remember them all <img src="https://forum.elixirforum.com/images/emoji/apple/slight_smile.png?v=15" title=":slight_smile:" class="emoji" alt=":slight_smile:" loading="lazy" width="20" height="20"></p>
<p>Even now, what is the <em>actual</em> difference between these three? (the question is a bit toungue-in-cheek <img src="https://forum.elixirforum.com/images/emoji/apple/stuck_out_tongue.png?v=15" title=":stuck_out_tongue:" class="emoji" alt=":stuck_out_tongue:" loading="lazy" width="20" height="20"> ):</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">  &lt;div :if={ @show_div }&gt;
  &lt;div :show={ @show_div }&gt;
  &lt;div class="{{ "show": @show }}"&gt;
</code></pre>
</li>
<li>
<p>An extension of 1 and 3: they break assumptions because they look like shorthand props</p>
<p>By way of example: <code>:on-click</code> is a shorthand for <code>phx-click phx-target</code>. But <code>:if</code> is not a shorthand. But <code>:show</code> is kinda a shorthand, but it’s a shorthand for something that’s library-defined (is it <code>display: none</code>?)?</p>
</li>
</ol>
<p>In the end, all these may be quite minor gripes, and not matter to most people. But those were my 5¢.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218151" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/140">Post #139</a>
	                </div>
	            </div>
              <div id="likers-container-218151" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218151"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #139"></div>
  </section>
</div>
    <div class="postbit" id="218170" data-post-id="218170">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="msaraiva" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/msaraiva/120/1214_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  msaraiva
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Broadway Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/dmitriid" rel="nofollow">@dmitriid</a>! Thanks for the valuable 5¢.</p>
<aside class="quote no-group" data-username="dmitriid" data-post="140" data-topic="27671">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/dmitriid/48/13182_2.png" class="avatar"> dmitriid:</div>
<blockquote>
<p>I find that “control attributes” (such as <code>:if</code>, <code>:for</code> and similar) are a net negative on DX (not a large negative, but a negative nonetheless)</p>
</blockquote>
</aside>
<p>I agree. That’s why we’re deprecating <code>:for</code> and discussing if we should do the same with <code>:show</code>.</p>
<p>As for <code>:if</code>, I’m not convinced yet. It seems it’s an exception that brings value as I haven’t found yet a Surface user that doesn’t like it (if you’re user, you’re the first one <img src="https://forum.elixirforum.com/images/emoji/apple/winking_face_with_tongue.png?v=15" title=":winking_face_with_tongue:" class="emoji" alt=":winking_face_with_tongue:" loading="lazy" width="20" height="20"> that came out). The reason is probably because it’s very handy and looks quite familiar as most of other solutions also provide it. So it’s a tough call and I’ll consider users’ feedback a lot for this one before considering removing it.</p>
<p>For now, there’s no plan to deprecate it based on that feedback. You can consider <code>:if</code> as just a shorthand for <code>{#if}...{/if}</code> when applied to a single node instead of a real flow-control construct. If you need latter, just go with <code>{#if}/{#elseif}/{#else}</code></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218170" data-batch-url="/posts/batch_likers">
                        3
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/141">Post #140</a>
	                </div>
	            </div>
              <div id="likers-container-218170" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218170"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #140"></div>
  </section>
</div>
    <div class="postbit" id="218175" data-post-id="218175">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="zimt28" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/zimt28/120/9933_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  zimt28
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/msaraiva" rel="nofollow">@msaraiva</a>, is it possible to use Surface without LiveView? I will move parts of my app to LiveView later, but the component system looks great and I’d love to use it with regular views if possible. I think I saw some discussion about this somewhere, but cannot find it now.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218175" data-batch-url="/posts/batch_likers">
                        0
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/142">Post #141</a>
	                </div>
	            </div>
              <div id="likers-container-218175" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218175"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #141"></div>
  </section>
</div>
    <div class="postbit" id="218262" data-post-id="218262">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="msaraiva" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/msaraiva/120/1214_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  msaraiva
                    <span class="op-star" title="Thread Starter">
                      <img alt="OP" class="op-star-icon" src="/assets/thread-icons/thread-icon-thread-starter-df91e872.png" />
                    </span>
                  </h3>
		          </div>
						
			          <div class="user-title">
									<span>Broadway Core Team</span>
			          </div>
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Hi <a class="mention" href="/u/zimt28" rel="nofollow">@zimt28</a>!</p>
<p>It will be possible to use stateless components in dead views as soon we have a the next LV version released. You can follow <a href="https://github.com/surface-ui/surface/issues/400" class="inline-onebox" rel="noopener nofollow ugc">Use new `component/3` macro for stateless components · Issue #400 · surface-ui/surface · GitHub</a> for updates.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="218262" data-batch-url="/posts/batch_likers">
                        4
                      </span>
                      <!-- <span class="thread-count js-solved-indicator" title="Marked as solution"></span> -->
	                </div>
	                <div class="go-to-post">
	                  <a title="Go to post" alt="Go to post" href="https://forum.elixirforum.com/t/surface-a-component-based-library-for-phoenix-liveview/27671/143">Post #142</a>
	                </div>
	            </div>
              <div id="likers-container-218262" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="218262"
                     data-batch-url="/posts/batch_likers">
                  <div class="post-likers"></div>
                </div>
              </div>
	        </div>
			

    </div>

    <div class="triangle-top-right type-standard-post cat-standard-post" title="Post #142"></div>
  </section>
</div>
</template></turbo-stream><turbo-stream action="replace" target="load-more-container"><template><div id="load-more-container" class="load-more-container">
    <a class="load-more-button" data-turbo-stream="true" href="/topics/27671/load_more?page=15">Load more posts (74 remaining)</a>
</div></template></turbo-stream>