bsDropdown is a container directive that pairs a trigger (bsDropdownToggle) with a projected menu template (*bsDropdownMenu). The menu's open state is managed internally and it dismisses on outside-click when [closeOnClickOutside]="true". A <bs-has-overlay> placed elsewhere provides the shared overlay container that renders the menu.