feat(offcanvas): broadcast events