A directive for AngularJS providing a advanced visual search box