(function() {
'use strict';

angular.module('ionic.ui.checkbox', [])


.directive('ionCheckbox', function() {
  return {
    restrict: 'E',
    replace: true,
    require: '?ngModel',
    scope: {
      ngModel: '=?',
      ngValue: '=?',
      ngChecked: '=?',
      ngChange: '&'
    },
    transclude: true,

    template: '<div class="item item-checkbox disable-pointer-events">' +
                '<label class="checkbox enable-pointer-events">' +
                  '<input type="checkbox" ng-model="ngModel" ng-value="ngValue" ng-change="ngChange()">' +
                '</label>' +
                '<div class="item-content" ng-transclude></div>' +
              '</div>',

    compile: function(element, attr) {
      var input = element.find('input');
      if(attr.name) input.attr('name', attr.name);
      if(attr.ngChecked) input.attr('ng-checked', 'ngChecked');
      if(attr.ngTrueValue) input.attr('ng-true-value', attr.ngTrueValue);
      if(attr.ngFalseValue) input.attr('ng-false-value', attr.ngFalseValue);
    }

  };
});

})();

@@ -63,16 +63,390 @@
 ', %5B%5D)%0A%0A
+/**%0A * @ngdoc directive%0A * @name ionCheckbox%0A * @module ionic%0A * @restrict E%0A * @description%0A * No different than the HTML checkbox input, except it's styled differently.%0A *%0A * Behaves like any %5BAngularJS checkbox%5D(http://docs.angularjs.org/api/ng/input/input%5Bcheckbox%5D).%0A *%0A * @usage%0A * %60%60%60html%0A * %3Cion-checkbox ng-model=%22isChecked%22%3ECheckbox Label%3C/ion-checkbox%3E%0A * %60%60%60%0A */
 %0A.direct

write docs