feat(select): add directive