enhance(sidenav): support promise notifications for open, close, toggle

Closes #947.