bs-modal is a structural-directive-based dialog primitive. The host (<bs-modal>) owns open/close state via the [(isOpen)] two-way binding; the *bsModal directive marks the projected content. Header / body / footer are tagged with bsModalHeader / bsModalBody / bsModalFooter, and any element with bsModalClose dismisses the dialog.