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


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sebb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sebb/120/21818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sebb
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Oh I didn’t even notice that the classes are namespaced. That’s a start.<br>
But true. I think that all of this leads to flaky stuff.<br>
With lots of testing and insight you can get some version of shoelace working.<br>
But they may break everything with the next bugfix-release.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316251" 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/lets-make-shoelace-work-with-liveview/61303/12">Post #11</a>
	                </div>
	            </div>
              <div id="likers-container-316251" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316251"
                     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 #11"></div>
  </section>
</div>
    <div class="postbit" id="316275" data-post-id="316275">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I’ve not used web components yet so I am just curious.  You want to do stuff like this?</p>
<pre data-code-wrap="elixir"><code class="lang-elixir">&lt;sl-something ...&gt;
  &lt;%= @name %&gt;
  &lt;.some_function_component ...&gt;
&lt;/sl-something&gt;
</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="316275" 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/lets-make-shoelace-work-with-liveview/61303/13">Post #12</a>
	                </div>
	            </div>
              <div id="likers-container-316275" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316275"
                     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 #12"></div>
  </section>
</div>
    <div class="postbit" id="316284" data-post-id="316284">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sebb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sebb/120/21818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sebb
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Yes thats, why you can’t just update-ignore (everything).</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316284" 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/lets-make-shoelace-work-with-liveview/61303/14">Post #13</a>
	                </div>
	            </div>
              <div id="likers-container-316284" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316284"
                     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 #13"></div>
  </section>
</div>
    <div class="postbit" id="316416" data-post-id="316416">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sebb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sebb/120/21818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sebb
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>I played with and thought about this a little more.</p>
<p>I think it is not possible to use web-components with LV <em>the way I imagined</em>.</p>
<p>What about this:</p>
<ul>
<li>wrap all components in function components and do not allow setting any custom attributes directly on the WC-elements</li>
<li>prevent all changes LV does with a <code>onBeforeElUpdated</code>-callback (see above) - note: can’t just use <code>phx-update=ignore</code> because of nested elements.</li>
<li>if you really need to set attributes (like <code>class</code>) move this to sth like <code>phx-class</code> and merge this gracefully in <code>onBeforeElUpdated</code> to the real attribute (but the WC-lib may come with better ways to style them and you could also get away to only style plain child-elements of the WC-elements)</li>
<li><strong>still a problem</strong> how to handle elements generated in the light-DOM. It seems like at least for shoelace this does not happen too often. Maybe just don’t use those and rebuild as a plain function component. But this could still be a problem if the WC-lib introduces sth like this in a release.</li>
</ul>
<p>I also just re-read this post <a href="https://forum.elixirforum.com/t/adobe-spectrum-2-web-components-with-liveview/60395/36" class="inline-onebox" rel="nofollow">Adobe Spectrum 2 web components with LiveView - #36 by TunkShif</a> by <a class="mention" href="/u/tunkshif" rel="nofollow">@TunkShif</a> which gives a very good overview of all the challenges.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316416" data-batch-url="/posts/batch_likers">
                        2
                      </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/lets-make-shoelace-work-with-liveview/61303/15">Post #14</a>
	                </div>
	            </div>
              <div id="likers-container-316416" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316416"
                     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 #14"></div>
  </section>
</div>
    <div class="postbit" id="316605" data-post-id="316605">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Sebb" data-post="15" data-topic="61303">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sebb/48/21818_2.png" class="avatar"> Sebb:</div>
<blockquote>
<ul>
<li>wrap all components in function components and do not allow setting any custom attributes directly on the WC-elements</li>
<li>prevent all changes LV does with a <code>onBeforeElUpdated</code>-callback (see above) - note: can’t just use <code>phx-update=ignore</code> because of nested elements.</li>
<li>if you really need to set attributes (like <code>class</code>) move this to sth like <code>phx-class</code> and merge this gracefully in <code>onBeforeElUpdated</code> to the real attribute (but the WC-lib may come with better ways to style them and you could also get away to only style plain child-elements of the WC-elements)</li>
<li><strong>still a problem</strong> how to handle elements generated in the light-DOM. It seems like at least for shoelace this does not happen too often. Maybe just don’t use those and rebuild as a plain function component. But this could still be a problem if the WC-lib introduces sth like this in a release.</li>
</ul>
</blockquote>
</aside>
<p>These are pretty much the constraints that we arrived at in our exploration, but we didn’t pursue it further because of missing form support. (See function component example from our other thread for example of wrapping shoelace.) I think if you took the approach you’re describing you could get something decent in place. I think there are edge cases around morphdom patching children so watch out there.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316605" 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/lets-make-shoelace-work-with-liveview/61303/16">Post #15</a>
	                </div>
	            </div>
              <div id="likers-container-316605" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316605"
                     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 #15"></div>
  </section>
</div>
    <div class="postbit" id="316632" data-post-id="316632">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Sebb" data-post="15" data-topic="61303">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sebb/48/21818_2.png" class="avatar"> Sebb:</div>
<blockquote>
<p><strong>still a problem</strong> how to handle elements generated in the light-DOM. It seems like at least for shoelace this does not happen too often. Maybe just don’t use those and rebuild as a plain function component. But this could still be a problem if the WC-lib introduces sth like this in a release.</p>
</blockquote>
</aside>
<p><a class="mention" href="/u/sebb" rel="nofollow">@Sebb</a> I think this probably has the same solution as the reflected attributes getting clobbered, which boils down to: do what Shoelace would do in your wrapping function so there is nothing to patch.</p>
<p>So in this case you’re setting a Shoelace slot on <code>sl-breadcrumb</code> which in turn is setting the slot on each <code>sl-breadcrumb-item</code>. Here’s how i’d solve this one:</p>
<pre data-code-wrap="elixir"><code class="lang-elixir"># NOT TESTED

##
## Function component Shoelace wrappers
##

# ATTRS SKIPPED
slot :inner_block, required: true
slot :separator

def sl_breadcrumb(assigns) do
  ~H"""
  &lt;sl-breadcrumb ... &gt;
    &lt;%= render_slot(@inner_block, %{separator: sl_breadcrumb_separator(assigns)} %&gt;
  &lt;/sl-breadcrumb&gt;
  """
end

defp sl_breadcrumb_separator(%{separator: []} = assigns) do
  ~H"""
  &lt;sl-icon name="arrow-right" slot="separator" aria-hidden="true" library="default"&gt;&lt;/sl-icon&gt;
  """
end

defp sl_breadcrumb_separator(assigns) do
  ~H"""
  &lt;%= render_slot(@separator) %&gt;
  """
end

# ATTRS SKIPPED
slot :inner_block, required: true
slot :separator

def sl_breadcrumb_item(assigns) do
  ~H"""
  &lt;sl-breadcrumb-item ... &gt;
    &lt;%= render_slot(@inner_block) %&gt;
    &lt;%= render_slot(sl_breadcrumb_separator(assigns)) %&gt;
  &lt;/sl-breadcrumb-item&gt;
  """
end

##
## USAGE
##

## Regular usage

&lt;.sl_breadcrumb&gt;
  &lt;.sl_breadcrumb_item&gt;First&lt;/.sl_breadcrumb&gt;
  &lt;.sl_breadcrumb_item&gt;Second&lt;/.sl_breadcrumb&gt;
  &lt;.sl_breadcrumb_item&gt;Third&lt;/.sl_breadcrumb&gt;
&lt;/.sl_breadcrumb&gt;

## Usage w/ custom breadcrumb separator and override for last item

&lt;.sl_breadcrumb let={breadcrumb}&gt;
  &lt;:separator&gt;
    &lt;.sl_icon slot="separator"... /&gt;
  &lt;/:separator&gt;

  &lt;.sl_breadcrumb_item separator={breadcrumb.separator}&gt;First&lt;/.sl_breadcrumb_item&gt;
  &lt;.sl_breadcrumb_item separator={breadcrumb.separator}&gt;Second&lt;/.sl_breadcrumb_item&gt;
  &lt;.sl_breadcrumb_item&gt;
    Third
    &lt;:separator&gt;
      &lt;span slot="separator"&gt;special something&lt;/span&gt;
    &lt;/:separator&gt;
  &lt;/.sl_breadcrumb_item&gt;
&lt;/.sl_breadcrumb&gt;
</code></pre>
<p>See if that works for you. (I won’t have time to test anything for a while now since I’ve mostly concluded our spike on this.)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316632" 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/lets-make-shoelace-work-with-liveview/61303/17">Post #16</a>
	                </div>
	            </div>
              <div id="likers-container-316632" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316632"
                     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 #16"></div>
  </section>
</div>
    <div class="postbit" id="316637" data-post-id="316637">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sebb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sebb/120/21818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sebb
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Thanks for your input!<br>
I’ll look at that as soon as I can.</p>
<p>Just another thought:<br>
Did you ever consider going around the LV-form stuff altogether by catching <code>formdata</code> (on submit) or <code>change</code> on changes of form elements? (and send it to the LV-server, obviously)</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316637" 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/lets-make-shoelace-work-with-liveview/61303/18">Post #17</a>
	                </div>
	            </div>
              <div id="likers-container-316637" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316637"
                     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 #17"></div>
  </section>
</div>
    <div class="postbit" id="316639" data-post-id="316639">
  <section>
    <div class="post-wrap">


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

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="Sebb" data-post="18" data-topic="61303">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/sebb/48/21818_2.png" class="avatar"> Sebb:</div>
<blockquote>
<p>Just another thought:<br>
Did you ever consider going around the LV-form stuff altogether by catching <code>formdata</code> (on submit) or <code>change</code> on changes of form elements? (and send it to the LV-server, obviously)</p>
</blockquote>
</aside>
<p>Only briefly because, iirc, there were other challenges around losing focus on inputs and such. So the problems were a bit higher-level… or lower-level. not sure how best to describe that. <img src="https://forum.elixirforum.com/images/emoji/apple/smiley.png?v=15" title=":smiley:" class="emoji" alt=":smiley:" loading="lazy" width="20" height="20"></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316639" 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/lets-make-shoelace-work-with-liveview/61303/19">Post #18</a>
	                </div>
	            </div>
              <div id="likers-container-316639" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316639"
                     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 #18"></div>
  </section>
</div>
    <div class="postbit" id="316685" data-post-id="316685">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="Sebb" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/Sebb/120/21818_2.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  Sebb
                    <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>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<aside class="quote no-group" data-username="benkimpel" data-post="17" data-topic="61303">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benkimpel/48/33366_2.png" class="avatar"> benkimpel:</div>
<blockquote>
<p>do what Shoelace would do in your wrapping function so there is nothing to patch.</p>
</blockquote>
</aside>
<p>This is most likely the best solution, <strong>but</strong> it demands a deep understanding of the WC-lib and lots of attention on each WC-release.</p>
<aside class="quote no-group" data-username="benkimpel" data-post="19" data-topic="61303">
<div class="title">
<div class="quote-controls"></div>
<img alt="" width="24" height="24" src="https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/benkimpel/48/33366_2.png" class="avatar"> benkimpel:</div>
<blockquote>
<p>challenges around losing focus on inputs and such</p>
</blockquote>
</aside>
<p>I reread your post. Did you try to patch <code>phoenix_html</code> as a POC? Looking at the code it does not seem to be too hard…? And it should solve the problems with focus and selection.</p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316685" 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/lets-make-shoelace-work-with-liveview/61303/20">Post #19</a>
	                </div>
	            </div>
              <div id="likers-container-316685" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316685"
                     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 #19"></div>
  </section>
</div>
    <div class="postbit" id="316788" data-post-id="316788">
  <section>
    <div class="post-wrap">


					<div class="post-header">
		        <div class="user-avatar">
		          <img alt="joddm" src="/assets/icons/user-9f439610.png" width="120" height="120" />
		        </div>
					
						<div class="user-details">
		          <div class="user-name">
		            <h3>
                  joddm
                  </h3>
		          </div>
						
						</div>
					
					</div>

	        <div class="thread-main">
	            <div class="post-body" data-turbo="false">
								<p>Have you tried to add <code>sl-</code> as a global attribute prefix?</p>
<p><a href="https://hexdocs.pm/phoenix_live_view/Phoenix.Component.html#module-custom-global-attribute-prefixes" rel="noopener nofollow ugc">Phoenix.Component — Phoenix LiveView v0.20.4 (hexdocs.pm)</a></p> 
	            </div>

	            <div class="base-line">
	                <div class="thread-counters">
	                    <span class="thread-count count-likes js-likers-trigger" title="Likes" data-post-id="316788" 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/lets-make-shoelace-work-with-liveview/61303/21">Post #20</a>
	                </div>
	            </div>
              <div id="likers-container-316788" 
                   class="likers-container"
                   data-first-post="false"
                   data-batch-url="/posts/batch_likers">
                   <div class="likers-placeholder" 
                     data-likers-post-id="316788"
                     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 #20"></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/61303/load_more?page=3">Load more posts (5 remaining)</a>
</div></template></turbo-stream>