bs-offcanvas is a slide-in panel anchored to one of the four viewport edges via [position] (start, end, top, bottom). The host owns open/close state via [(isVisible)] and projects content through the *bsOffcanvasContent directive. Header / body are tagged with <bs-offcanvas-header> / <bs-offcanvas-body>, and any element with bsOffcanvasClose dismisses the panel.
The code is available here.