Вот для него директива (взял из темы inspinia+)
'use strict';
/**
* Module to use Switchery as a directive for angular.
* @TODO implement Switchery as a service, https://github.com/abpetkov/switchery/pull/11
*/
angular.module('ui.switchery', [])
.directive('uiSwitch', ['$window', '$timeout','$log', '$parse', function($window, $timeout, $log, $parse) {
/**
* Initializes the HTML element as a Switchery switch.
*
* @TODO add a way to provide options for Switchery
* $timeout is in place as a workaround to work within angular-ui tabs.
*
* @param scope
* @param elem
* @param attrs
*/
function linkSwitchery(scope, elem, attrs, ngModel) {
if(!ngModel) return false;
var options = {};
try {
options = $parse(attrs.uiSwitch)(scope);
}
catch (e) {}
$timeout(function() {
var switcher = new $window.Switchery(elem[0], options);
var element = switcher.element;
element.checked = scope.initValue;
switcher.setPosition(false);
element.addEventListener('change',function(evt) {
scope.$apply(function() {
ngModel.$setViewValue(element.checked);
})
})
}, 0);
}
return {
require: 'ngModel',
restrict: 'AE',
scope : {initValue : '=ngModel'},
link: linkSwitchery
}
}]);
О, нашел более свежую имплементацию https://github.com/servergrove/NgSwitchery/blob/master/src/ng-switchery.js