<!-- vertical -->
<div class="relative inline-flex align-middle flex-col items-start justify-center">
<button type="button" class="btn btn-dark rounded-b-none w-full">Button</button>
<div class="relative">
<div x-data="dropdown" @click.outside="open = false" class="dropdown">
<button type="button" class="btn dropdown-toggle btn-dark rounded-none" @click="toggle">
Dropdown
<svg> ... </svg>
</button>
<ul x-cloak x-show="open" x-transition x-transition.duration.300ms class="ltr:right-0 rtl:left-0 whitespace-nowrap">
<li><a href="javascript:;" @click="toggle">Dropdown link</a></li>
<li><a href="javascript:;" @click="toggle">Dropdown link</a></li>
</ul>
</div>
</div>
<button type=" button" class="btn btn-dark rounded-none w-full">Button</button>
<button type="button" class="btn btn-dark rounded-none w-full">Button</button>
<div class="relative">
<div x-data="dropdown" @click.outside="open = false" class="dropdown">
<button type="button" class="btn dropdown-toggle btn-dark rounded-t-none" @click="toggle">
Dropdown
<svg> ... </svg>
</button>
<ul x-cloak x-show="open" x-transition x-transition.duration.300ms class="ltr:right-0 rtl:left-0 bottom-full whitespace-nowrap">
<li><a href="javascript:;" @click="toggle">Dropdown link</a></li>
<li><a href="javascript:;" @click="toggle">Dropdown link</a></li>
</ul>
</div>
</div>
</div>
<!-- script -->
<script>
document.addEventListener("alpine:init", () => {
Alpine.data("dropdown", (initialOpenState = false) => ({
open: initialOpenState,
toggle() {
this.open = !this.open;
},
}));
});
</script>