feat(alert): improve alert directive (fixes #35)