v5.2.0 - Popover with `trigger: "manual"` shows and immediately hides when calling `toggle()`
Created by: neoGeneva
Prerequisites
-
I have searched for duplicate or closed issues -
I have validated any HTML to avoid common problems -
I have read the contributing guidelines
Describe the issue
When creating a Poper with trigger set to manual, calling toggle() automatically shows, then hides the content.
I think this bug was created in this commit: https://github.com/twbs/bootstrap/commit/9b9372e8ddd60413f3d9a582bd5481586d119d8d
This if (prevHoverState === HOVER_STATE_OUT) {
became if (prevHoverState) {
but presumably it should be if (!prevHoverState) {
Reduced test cases
https://codepen.io/neoGeneva/pen/OJZJbNN
<div class="container py-5">
<button class="btn btn-primary">Toggle Click</button>
</div>
const btn = document.querySelector(".btn");
const pop = new bootstrap.Popover(btn, {
content: "hello",
trigger: "manual"
});
btn.addEventListener("click", (e) => {
pop.toggle();
});
What operating system(s) are you seeing the problem on?
Windows
What browser(s) are you seeing the problem on?
Chrome
What version of Bootstrap are you using?
v5.2.0