Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Fix/memory leak popup #2274

Merged
merged 3 commits into from
Dec 2, 2024
Merged

Conversation

Masty88
Copy link
Contributor

@Masty88 Masty88 commented Nov 19, 2024

Fixes #2264

Description

This pull request fixes an issue where sl-popup would create multiple instances of autoUpdate, leading to event listeners accumulating over time when components using sl-popup are repeatedly added to and removed from the DOM. This accumulation could cause performance issues and potential memory leaks.

Problem

The issue occurs due to the sequence of lifecycle methods and property updates in sl-popup. When the component is added to the DOM, the following sequence happens:

  1. The component is added with active: false.
  2. connectedCallback() is called, which calls start() regardless of the active state.
  3. The active property changes to true.
  4. The updated() method detects the change in active and calls start() again.

This results in start() being called twice without properly cleaning up the previous autoUpdate, causing multiple autoUpdate instances to run concurrently.

Changes

To fix this issue, the following changes were made:

  • Modified connectedCallback() to only call start() if active is true.

    async connectedCallback() {
      super.connectedCallback();
      await this.updateComplete;
    
      // Start the positioner only if active is true
      if (this.active) {
        this.start();
      }
    }

This solution prevents start() from being called unnecessarily in connectedCallback() when the component is not active, and ensures that start() and stop() are only called in response to changes in the active property.

Testing

Writing an automated test to verify this behavior was challenging due to the nature of the event listener accumulation and limitations in accessing internal properties or intercepting event listeners in a testing environment.

Despite these challenges, I performed manual testing in the browser:

  1. Repeatedly added and removed components using sl-popup (e.g., sl-select) from the DOM.
  2. Monitored the number of event listeners registered for resize and scroll events.
  3. Confirmed that the number of event listeners remained constant after the fix, indicating that event listeners are properly cleaned up.

Additionally, I wrote the following test to ensure that the component handles positioning correctly when the active property changes:

it('should properly handle positioning when active changes', async () => {
const element = await fixture('<sl-popup></sl-popup>');

element.active = true;
await element.updateComplete;

// Simulate a scroll event
const event = new Event('scroll');
window.dispatchEvent(event);

element.active = false;
await element.updateComplete;

// The component should not throw an error when the window is scrolled
expect(() => {
  element.active = true;
  window.dispatchEvent(event);
}).not.to.throw();
});

This test verifies that:

The component can be activated and deactivated without errors.
Event listeners do not cause issues when active changes.
The component remains stable during property changes and event dispatches.

I welcome any suggestions on how to create an effective automated test for this scenario, but given the constraints, manual testing was used to confirm the fix.

Before fix

beforefix

After fix

afterfix

Copy link

vercel bot commented Nov 19, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
shoelace ✅ Ready (Inspect) Visit Preview Nov 29, 2024 2:18pm

@maxleiko
Copy link

maxleiko commented Nov 29, 2024

Many thanks @Masty88 for taking the time to look at this. I've had a glance at your fix, sounds good, wouldn't it be better to leave the connectedCallback as is and move the check in start directly next to !this.anchorEl ?

Eg.

  private start() {
    // We can't start the positioner without an anchor
    if (!this.anchorEl || !this.active) { // MOVE THE CHECK HERE
      return;
    }

    this.cleanup = autoUpdate(this.anchorEl, this.popup, () => {
      this.reposition();
    });
  }

By doing this you get the proper behavior for any call-site of start not just connectedCallback.

@Masty88
Copy link
Contributor Author

Masty88 commented Nov 29, 2024

@maxleiko Thank you for the review! Yes, moving the check to start() is definitely better - it centralizes the validation logic and ensures proper behavior regardless of where start() is called from.
I'have updated the PR with this change.

Copy link
Member

@claviska claviska left a comment

Choose a reason for hiding this comment

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

Really good catch. Thanks for tracking this down and submitting a test! 🙌

@claviska claviska merged commit a764672 into shoelace-style:next Dec 2, 2024
2 checks passed
newkdr added a commit to newkdr/vscode-gitlens that referenced this pull request Jan 20, 2025
![snyk-top-banner](https://redirect.github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123)


<h3>Snyk has created this PR to upgrade @shoelace-style/shoelace from
2.18.0 to 2.19.1.</h3>

:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.

<hr/>


- The recommended version is **2 versions** ahead of your current
version.

- The recommended version was released **a month ago**.



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>@shoelace-style/shoelace</b></summary>
    <ul>
      <li>
<b>2.19.1</b> - <a
href="https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.19.1">2024-12-11</a></br><h2>Commits</h2>
<ul>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/077bff783223a10f35a8a7b6d9a860a55fd8e941/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/077bff783223a10f35a8a7b6d9a860a55fd8e941"><tt>077bff7</tt></a>:
Fix Race Condition if goToSlide is called too early (Patrick McDougle)
<a href="https://redirect.github.com/shoelace-style/shoelace/pull/2295"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2295/hovercard">#2295</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/5267aa9b469dfec16814e09c1cde336131210f56/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/5267aa9b469dfec16814e09c1cde336131210f56"><tt>5267aa9</tt></a>:
Update active tab if the "active" property on a sl-tab changes (<a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2718121416" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2299"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2299/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2299">#2299</a>)
(Susanne Kirchner) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2299"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2299/hovercard">#2299</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/6294be6ca5aa4ffef6131c7a98d0ca26ba72c84f/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/6294be6ca5aa4ffef6131c7a98d0ca26ba72c84f"><tt>6294be6</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/ac6414121a771254f124ecadf3ff28c5656b12f1/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/ac6414121a771254f124ecadf3ff28c5656b12f1"><tt>ac64141</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/97fcab8f2a10e89080df73e0b27e899af9149282/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/97fcab8f2a10e89080df73e0b27e899af9149282"><tt>97fcab8</tt></a>:
Fix rendering performance bottleneck in carousel (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2684774119" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2281"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2281/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2281">#2281</a>)
(Patrick McDougle) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2281"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2281/hovercard">#2281</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/5d0c877a05151ee326eb1d4b5cde48b27a69dc15/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/5d0c877a05151ee326eb1d4b5cde48b27a69dc15"><tt>5d0c877</tt></a>:
fix conflict (Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2295"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2295/hovercard">#2295</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/62b315e2df781c72c2196e41c220f0a6723e4eda/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/62b315e2df781c72c2196e41c220f0a6723e4eda"><tt>62b315e</tt></a>:
Merge branch 'rothy-s-carousel-null-scrollContainer' into next (Cory
LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/e5d602ec48449969d1ee824074e04c3b8736c337/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/e5d602ec48449969d1ee824074e04c3b8736c337"><tt>e5d602e</tt></a>:
prettier (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/08ab42d38e8d54fec3af9e93fe95fa158c539d17/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/08ab42d38e8d54fec3af9e93fe95fa158c539d17"><tt>08ab42d</tt></a>:
update deps (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/f7b7ab95f856a01b94389dbd65cc1bc6335788cd/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/f7b7ab95f856a01b94389dbd65cc1bc6335788cd"><tt>f7b7ab9</tt></a>:
sigh (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/76b495a2acffb05e9b96469590db70c20e4501b0/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/76b495a2acffb05e9b96469590db70c20e4501b0"><tt>76b495a</tt></a>:
Fix LICENSE file check in <code>make-icons.js</code>script (<a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2723106322" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2306"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2306/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2306">#2306</a>)
(Martin Thiele) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2306"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2306/hovercard">#2306</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/2289ef5035a3bba79e4f2a1c99d34216d1eb924b/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/2289ef5035a3bba79e4f2a1c99d34216d1eb924b"><tt>2289ef5</tt></a>:
update version (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/85bc45ef79234c2a0bfa5843abee38546ea4d756/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/85bc45ef79234c2a0bfa5843abee38546ea4d756"><tt>85bc45e</tt></a>:
2.19.1 (Cory LaViska)</li>
</ul>
      </li>
      <li>
<b>2.19.0</b> - <a
href="https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.19.0">2024-12-02</a></br><h2>Bug
Fixes</h2>
<ul>
<li><strong>carousel</strong>: out of order slides when inside
sl-resize-observer (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2636053508"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2260"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2260/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2260">#2260</a>)
<a href="https://redirect.github.com/shoelace-style/shoelace/pull/2260"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2260/hovercard">#2260</a>
(<a
href="https://redirect.github.com/shoelace-style/shoelace/commit/51473c608efdcd639613e553dd7dd8f842bb2181">Alessandro</a>)</li>
</ul>
<h2>Commits</h2>
<ul>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/09024cfee5a346e1fbc2ce125ed66d4b15cd2fd6/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/09024cfee5a346e1fbc2ce125ed66d4b15cd2fd6"><tt>09024cf</tt></a>:
fix typo (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/86a3e8976128a6a39722ac605a26d58cda1a8b65/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/86a3e8976128a6a39722ac605a26d58cda1a8b65"><tt>86a3e89</tt></a>:
align enter key with aria apg window splitter (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2618638165" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2234"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2234/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2234">#2234</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2234"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2234/hovercard">#2234</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/18861f20e2f7c854ca3d4b622694618fb67beddc/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/18861f20e2f7c854ca3d4b622694618fb67beddc"><tt>18861f2</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8737d6cb3391fca261e664e7c78c581a41f938d0/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8737d6cb3391fca261e664e7c78c581a41f938d0"><tt>8737d6c</tt></a>:
fix directionality check (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2618793247"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2235"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2235/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2235">#2235</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2235"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2235/hovercard">#2235</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/2e73b3d6c5e13882a610cf1a274e943e6a224b3a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/2e73b3d6c5e13882a610cf1a274e943e6a224b3a"><tt>2e73b3d</tt></a>:
fix property naming (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2617466816"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2233"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2233/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2233">#2233</a>)
(Joshua Brink) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2233"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2233/hovercard">#2233</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/aca0f3d64a084d40be3eb00fbb9f2d3fbf2b9e6f/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/aca0f3d64a084d40be3eb00fbb9f2d3fbf2b9e6f"><tt>aca0f3d</tt></a>:
update option label on change; fixes <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2236776127"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/1971"
data-hovercard-type="issue"
data-hovercard-url="/shoelace-style/shoelace/issues/1971/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/issues/1971">#1971</a>
(<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2619000002" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2236"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2236/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2236">#2236</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2236"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2236/hovercard">#2236</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/80c3d8784be8f68bde4a6f6c2b5be5cff2a96c4a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/80c3d8784be8f68bde4a6f6c2b5be5cff2a96c4a"><tt>80c3d87</tt></a>:
improve range/tooltip perf; fixes <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2349669564"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2064"
data-hovercard-type="issue"
data-hovercard-url="/shoelace-style/shoelace/issues/2064/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/issues/2064">#2064</a>
(<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2619086599" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2237"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2237/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2237">#2237</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2237"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2237/hovercard">#2237</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/fa716029a7f906b5c4eaa9210ffb8ac51209dab3/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/fa716029a7f906b5c4eaa9210ffb8ac51209dab3"><tt>fa71602</tt></a>:
fix test (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/73c469ff45a56f359aaac11630fe185be4c5f178/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/73c469ff45a56f359aaac11630fe185be4c5f178"><tt>73c469f</tt></a>:
Styles fixes (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2619147508"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2238"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2238/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2238">#2238</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2238"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2238/hovercard">#2238</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/f7e9688fe0577bb2099b992ced5cc4cf1d6744b3/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/f7e9688fe0577bb2099b992ced5cc4cf1d6744b3"><tt>f7e9688</tt></a>:
update twitter username (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/9919e435bb8ddfb6ea1b3906a2207420b0c5d8cc/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/9919e435bb8ddfb6ea1b3906a2207420b0c5d8cc"><tt>9919e43</tt></a>:
wait longer for CI (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/a675671353ab9297a5ca0ee3971d38742ad45588/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/a675671353ab9297a5ca0ee3971d38742ad45588"><tt>a675671</tt></a>:
Fix typos in tag.md (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2630732943"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2248"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2248/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2248">#2248</a>)
(Andreas) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2248"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2248/hovercard">#2248</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b70fa163e1d8435fdb6ccde5736757a36769e7af/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b70fa163e1d8435fdb6ccde5736757a36769e7af"><tt>b70fa16</tt></a>:
Fix customizing custom property link (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2631436326" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2252"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2252/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2252">#2252</a>)
(Joseph) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2252"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2252/hovercard">#2252</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/569acdb7c9633ee6f410b6d59eb2e076f59b9075/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/569acdb7c9633ee6f410b6d59eb2e076f59b9075"><tt>569acdb</tt></a>:
fix possibly leaking eventlisteners (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2633672624"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2257"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2257/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2257">#2257</a>)
(Enrico Gruner) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2257"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2257/hovercard">#2257</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8db6580987194291e947f14cf96a0d59dbd1b68e/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8db6580987194291e947f14cf96a0d59dbd1b68e"><tt>8db6580</tt></a>:
prevent clicks while dragging; fixes <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2559745577"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2196"
data-hovercard-type="issue"
data-hovercard-url="/shoelace-style/shoelace/issues/2196/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/issues/2196">#2196</a>
(<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2635965011" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2259"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2259/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2259">#2259</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2259"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2259/hovercard">#2259</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/4580c5bc7c307188c358f2a561adbf2ee6ec0a5f/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/4580c5bc7c307188c358f2a561adbf2ee6ec0a5f"><tt>4580c5b</tt></a>:
Adds Norwegian translations (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2651710760"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2268"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2268/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2268">#2268</a>)
(Anders Engan) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2268"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2268/hovercard">#2268</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/fc1ab67a34503f7c7e960834a360f99e22beac4c/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/fc1ab67a34503f7c7e960834a360f99e22beac4c"><tt>fc1ab67</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/3178dc6278b23b3e56318b5f6bea0a92438816cd/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/3178dc6278b23b3e56318b5f6bea0a92438816cd"><tt>3178dc6</tt></a>:
prettier (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8a3006d1c9fbe1b86acdda42f9f73e8323e68763/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8a3006d1c9fbe1b86acdda42f9f73e8323e68763"><tt>8a3006d</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/620edc2efdd0f29810a36e75a1339ca6b1042d9a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/620edc2efdd0f29810a36e75a1339ca6b1042d9a"><tt>620edc2</tt></a>:
Merge branch 'next' of <a
href="https://redirect.github.com/shoelace-style/shoelace">https://github.com/shoelace-style/shoelace</a>
into next (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/c232214445093858ceee194dddfd2f45d747caf0/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/c232214445093858ceee194dddfd2f45d747caf0"><tt>c232214</tt></a>:
fix tabindex when readonly; fixes <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2660385612"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2271"
data-hovercard-type="issue"
data-hovercard-url="/shoelace-style/shoelace/issues/2271/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/issues/2271">#2271</a>
(<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2662617265" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2272"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2272/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2272">#2272</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2272"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2272/hovercard">#2272</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/604526f4654889666846f2246774ec834e46419a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/604526f4654889666846f2246774ec834e46419a"><tt>604526f</tt></a>:
Ukrainian translation for shoelace (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2657717881"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2270"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2270/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2270">#2270</a>)
(Volodymyr Lisivka) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2270"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2270/hovercard">#2270</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8cbd07b401b733ff40d27f2fbd325e033766f5b1/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8cbd07b401b733ff40d27f2fbd325e033766f5b1"><tt>8cbd07b</tt></a>:
prettier / changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/5fa62bc5bf10b73f5c7822ebebfe433449eaa088/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/5fa62bc5bf10b73f5c7822ebebfe433449eaa088"><tt>5fa62bc</tt></a>:
Fix improper tag references in sl-select (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2695015784" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2287"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2287/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2287">#2287</a>)
(Konnor Rogers) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2287"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2287/hovercard">#2287</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/94a1043fb8a766ff4318f047c7c026c29fd8ebdb/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/94a1043fb8a766ff4318f047c7c026c29fd8ebdb"><tt>94a1043</tt></a>:
refactor turbo.js query selector (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2711653579"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2293"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2293/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2293">#2293</a>)
(Chris Krawietz) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2293"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2293/hovercard">#2293</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/a8900fd56c63bd77964bd513bc97f982761ec4ac/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/a8900fd56c63bd77964bd513bc97f982761ec4ac"><tt>a8900fd</tt></a>:
fix select regressions (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2633496741"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2255"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2255/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2255">#2255</a>)
(Konnor Rogers) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2255"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2255/hovercard">#2255</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/9f401f8e8b8353e14e7bdf862a46db437afa9b2e/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/9f401f8e8b8353e14e7bdf862a46db437afa9b2e"><tt>9f401f8</tt></a>:
Documentation for Svelte (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2641623651"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2262"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2262/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2262">#2262</a>)
(Emanuel Saramago) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2262"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2262/hovercard">#2262</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/164b768cdd022d1bfbf05c0d1eb1166ae640131e/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/164b768cdd022d1bfbf05c0d1eb1166ae640131e"><tt>164b768</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/a764672d034a02df3472d7ea1b1fa5acabdbf680/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/a764672d034a02df3472d7ea1b1fa5acabdbf680"><tt>a764672</tt></a>:
Fix/memory leak popup (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2672273996"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2274"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2274/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2274">#2274</a>)
(Emanuele Mastaglia) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2274"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2274/hovercard">#2274</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/addac51b5fbdeef78f8139b9e90cf8de0f029261/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/addac51b5fbdeef78f8139b9e90cf8de0f029261"><tt>addac51</tt></a>:
Fix sl-select padding issue with multiple and placeholder options
combined (<a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2707769873" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2292"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2292/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2292">#2292</a>)
(Evan Harrison) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2292"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2292/hovercard">#2292</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/56918057e280f3c4c7a18b9cdab12faf246928e8/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/56918057e280f3c4c7a18b9cdab12faf246928e8"><tt>5691805</tt></a>:
Merge branch 'next' of <a
href="https://redirect.github.com/shoelace-style/shoelace">https://github.com/shoelace-style/shoelace</a>
into next (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/75aeaf10785070a2eaa4bac0671b62a1b0d89547/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/75aeaf10785070a2eaa4bac0671b62a1b0d89547"><tt>75aeaf1</tt></a>:
Merge branch 'next' of <a
href="https://redirect.github.com/shoelace-style/shoelace">https://github.com/shoelace-style/shoelace</a>
into next (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/32234386d5ca72183d83cbc99d78d671f6d37016/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/32234386d5ca72183d83cbc99d78d671f6d37016"><tt>3223438</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/db544ed2bcf5288ba2dfdeda6d8ac8c30f285295/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/db544ed2bcf5288ba2dfdeda6d8ac8c30f285295"><tt>db544ed</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/670a5982f3d13b628fb8f10f4984029c1407f077/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/670a5982f3d13b628fb8f10f4984029c1407f077"><tt>670a598</tt></a>:
update script (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/0c8348dc704e5889bb2c6128987b17939cc43c19/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/0c8348dc704e5889bb2c6128987b17939cc43c19"><tt>0c8348d</tt></a>:
update dependencies (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8b8415a01ad4a7ea7fe45a4e831fa42b64ce7072/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8b8415a01ad4a7ea7fe45a4e831fa42b64ce7072"><tt>8b8415a</tt></a>:
more dep updates (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b570e18aa3d9539a1018f69773385d0d9070bcf8/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b570e18aa3d9539a1018f69773385d0d9070bcf8"><tt>b570e18</tt></a>:
update browser-sync (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/54bd85b6d8c6eff093f45211b87fd23ca75f287a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/54bd85b6d8c6eff093f45211b87fd23ca75f287a"><tt>54bd85b</tt></a>:
update command-line-args (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b437e6e478e4bc0bcefca5bbecdc9f0162e3f2c4/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b437e6e478e4bc0bcefca5bbecdc9f0162e3f2c4"><tt>b437e6e</tt></a>:
update markdown deps, ora (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/7d05407030b23cc4e6f2266c6de76f7b4c790a86/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/7d05407030b23cc4e6f2266c6de76f7b4c790a86"><tt>7d05407</tt></a>:
update dep script (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/ca700cf723fb3e1df5ed68ccd3d9a93cfdc12554/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/ca700cf723fb3e1df5ed68ccd3d9a93cfdc12554"><tt>ca700cf</tt></a>:
update jsdom, sinon, pascal-case (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/2e9fa83ae1832a421b685bdfc467595c2611fa5e/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/2e9fa83ae1832a421b685bdfc467595c2611fa5e"><tt>2e9fa83</tt></a>:
update del (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/17bf931adcfb0a1573bef08fc6c69ace228dfc70/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/17bf931adcfb0a1573bef08fc6c69ace228dfc70"><tt>17bf931</tt></a>:
update version (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/520787928b6c6d06b3dfb8186bc6ae052033016e/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/520787928b6c6d06b3dfb8186bc6ae052033016e"><tt>5207879</tt></a>:
update rule (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/2333e6d69713c0c26c53a35e12be3af6a5f4b3b5/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/2333e6d69713c0c26c53a35e12be3af6a5f4b3b5"><tt>2333e6d</tt></a>:
2.19.0 (Cory LaViska)</li>
</ul>
      </li>
      <li>
<b>2.18.0</b> - <a
href="https://redirect.github.com/shoelace-style/shoelace/releases/tag/v2.18.0">2024-10-24</a></br><h2>Commits</h2>
<ul>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/761e06220a9506504e563c7cae84730f76828204/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/761e06220a9506504e563c7cae84730f76828204"><tt>761e062</tt></a>:
remove title (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/1fb72ad4eb7923a41494e139fc46ff6b8efd63aa/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/1fb72ad4eb7923a41494e139fc46ff6b8efd63aa"><tt>1fb72ad</tt></a>:
Fix typo in usage.md (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2560246799"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2198"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2198/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2198">#2198</a>)
(J Wong) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2198"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2198/hovercard">#2198</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/61f2fdbca19c56d73c0ea4f4890c7b62be394a48/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/61f2fdbca19c56d73c0ea4f4890c7b62be394a48"><tt>61f2fdb</tt></a>:
Fix textarea resizing bug (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2543758241"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2182"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2182/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2182">#2182</a>)
(Konnor Rogers) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2182"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2182/hovercard">#2182</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/4e09bacae942e76a687b1339b4624b12cadc6f68/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/4e09bacae942e76a687b1339b4624b12cadc6f68"><tt>4e09bac</tt></a>:
fix select padding; fixes <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2557752459"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2194"
data-hovercard-type="issue"
data-hovercard-url="/shoelace-style/shoelace/issues/2194/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/issues/2194">#2194</a>
(<a class="issue-link js-issue-link" data-error-text="Failed to load
title" data-id="2559900416" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2197"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2197/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2197">#2197</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2197"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2197/hovercard">#2197</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8806672459f7755d2c84fe8ff02dc2a5fb9d8d0a/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8806672459f7755d2c84fe8ff02dc2a5fb9d8d0a"><tt>8806672</tt></a>:
Added Finnish translations. (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2570964424"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2211"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2211/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2211">#2211</a>)
(Jouni Männistö) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2211"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2211/hovercard">#2211</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/53aae15d6e1f02d93fbb0819b490e91dce8c9fce/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/53aae15d6e1f02d93fbb0819b490e91dce8c9fce"><tt>53aae15</tt></a>:
Added ./dist/translations directory to exports to allow dynamic
importing of directory contents (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2568522908"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2210"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2210/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2210">#2210</a>)
(Zac Lovoy) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2210"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2210/hovercard">#2210</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/4f78930e9965f337c9d566aacc4bacee24e47c7f/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/4f78930e9965f337c9d566aacc4bacee24e47c7f"><tt>4f78930</tt></a>:
add more resilient lazy loading to sl-select (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2562705981" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2204"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2204/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2204">#2204</a>)
(Konnor Rogers) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2204"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2204/hovercard">#2204</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/5a3d46ae00d9f1bd7c0910f741173536088b988c/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/5a3d46ae00d9f1bd7c0910f741173536088b988c"><tt>5a3d46a</tt></a>:
Add ability to focus sl-radio-group dynamically (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2556310827" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2192"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2192/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2192">#2192</a>)
(Christian Schilling) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2192"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2192/hovercard">#2192</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/2c66c859d6a7c077f2e84766627ea20d5063a7c0/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/2c66c859d6a7c077f2e84766627ea20d5063a7c0"><tt>2c66c85</tt></a>:
More resilient directionality checks (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2551291001" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2189"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2189/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2189">#2189</a>)
(Cory LaViska) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2189"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2189/hovercard">#2189</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b14498822bc3d1ff7d15113b4ec04c92b807a3af/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b14498822bc3d1ff7d15113b4ec04c92b807a3af"><tt>b144988</tt></a>:
sl-tab-group throws error if unmounted too fast (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2591911625" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2218"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2218/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2218">#2218</a>)
(Susanne Kirchner) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2218"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2218/hovercard">#2218</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b4a3b32bb0bdc9468a50f68f86f621416a00b080/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b4a3b32bb0bdc9468a50f68f86f621416a00b080"><tt>b4a3b32</tt></a>:
add changelog entry (<a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="2592147322"
data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2219"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2219/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2219">#2219</a>)
(Konnor Rogers) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2219"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2219/hovercard">#2219</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/8ca1fc774929956a050cd14fa829c197ab0078ed/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/8ca1fc774929956a050cd14fa829c197ab0078ed"><tt>8ca1fc7</tt></a>:
SlTooltip call <code>super.disconnectedCallback()</code> (<a
class="issue-link js-issue-link" data-error-text="Failed to load title"
data-id="2608687540" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2226"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2226/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2226">#2226</a>)
(Daniel Liebner) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2226"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2226/hovercard">#2226</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/f238fca436042bc261a39ea947ea0768016fe948/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/f238fca436042bc261a39ea947ea0768016fe948"><tt>f238fca</tt></a>:
update changelog (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/e89cbc7c033e3f88096ddb02f504a878d740f752/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/e89cbc7c033e3f88096ddb02f504a878d740f752"><tt>e89cbc7</tt></a>:
Merge branch 'next' of <a
href="https://redirect.github.com/shoelace-style/shoelace">https://github.com/shoelace-style/shoelace</a>
into next (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/bb7e840fac2de2f6f1f08309bf6397ae9df58b00/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/bb7e840fac2de2f6f1f08309bf6397ae9df58b00"><tt>bb7e840</tt></a>:
Issue 2117: Fix sl-select throws exception if a sl-input in the same
form receives a new value with autofill in MS Edge (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2595882354" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2221"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2221/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2221">#2221</a>)
(dhellgartner) <a
href="https://redirect.github.com/shoelace-style/shoelace/pull/2221"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2221/hovercard">#2221</a></li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/ee79a46751a2ffe1c0b234ac7eda6bd3ca9a15a0/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/ee79a46751a2ffe1c0b234ac7eda6bd3ca9a15a0"><tt>ee79a46</tt></a>:
update changelog (Cory LaViska)</li>
<li>more responsive carousel pagination dots (<a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="2594834700" data-permission-text="Title is private"
data-url="https://github.com/shoelace-style/shoelace/issues/2220"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2220/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/pull/2220">#2220</a>)
<a href="https://redirect.github.com/shoelace-style/shoelace/pull/2220"
data-hovercard-type="pull_request"
data-hovercard-url="/shoelace-style/shoelace/pull/2220/hovercard">#2220</a>
(<a
href="https://redirect.github.com/shoelace-style/shoelace/commit/ae30d40e626fb35fc83769f4caf1c95d48e58396">Alessandro</a>)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/b21f51d6dd31c5b031757b25bbce126314aeebb4/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/b21f51d6dd31c5b031757b25bbce126314aeebb4"><tt>b21f51d</tt></a>:
update version (Cory LaViska)</li>
<li><a class="commit-link" data-hovercard-type="commit"
data-hovercard-url="https://github.com/shoelace-style/shoelace/commit/c7b04406b8f9a149f5dbde2b0ca51c2ff63fdd46/hovercard"
href="https://redirect.github.com/shoelace-style/shoelace/commit/c7b04406b8f9a149f5dbde2b0ca51c2ff63fdd46"><tt>c7b0440</tt></a>:
2.18.0 (Cory LaViska)</li>
</ul>
      </li>
    </ul>
from <a
href="https://redirect.github.com/shoelace-style/shoelace/releases">@shoelace-style/shoelace
GitHub release notes</a>
  </details>
</details>

---

> [!IMPORTANT]
>
> - Check the changes in this PR to ensure they won't cause issues with
your project.
> - This PR was automatically created by Snyk using the credentials of a
real user.

---

**Note:** _You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs._

**For more information:** <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiIzNmFmOWIzYi01YjEyLTQ3ZWYtYmJjMS02NTYyYjdlMzkxZWUiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjM2YWY5YjNiLTViMTItNDdlZi1iYmMxLTY1NjJiN2UzOTFlZSJ9fQ=="
width="0" height="0"/>

> - 🧐 [View latest project
report](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 📜 [Customise PR
templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template)
> - 🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)
> - 🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17/settings/integration?pkg&#x3D;@shoelace-style/shoelace&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

[//]: #
'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"@shoelace-style/shoelace","from":"2.18.0","to":"2.19.1"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"36af9b3b-5b12-47ef-bbc1-6562b7e391ee","prPublicId":"36af9b3b-5b12-47ef-bbc1-6562b7e391ee","packageManager":"npm","priorityScoreList":[],"projectPublicId":"12a8a5f5-3e19-438c-8280-eb8f4ee06d17","projectUrl":"https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2024-12-11T13:32:15.008Z"},"vulns":[]}'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

sl-select usage of sl-popup leads to leaks with connectedCallback/disconnectedCallback
3 participants