/*! * AngularJS Material Design * https://github.com/angular/material * @license MIT * v1.1.8-master-aba7b2b */ function MdCheckboxDirective(e,t,n,i,o,c){function a(a,r){function d(a,r,d,l){function s(e,t,n){d[e]&&a.$watch(d[e],function(e){n[e]&&r.attr(t,n[e])})}function u(e){var t=e.which||e.keyCode;t!==n.KEY_CODE.SPACE&&t!==n.KEY_CODE.ENTER||(e.preventDefault(),r.addClass("md-focused"),m(e))}function m(e){r[0].hasAttribute("disabled")||a.skipToggle||a.$apply(function(){var t=d.ngChecked&&d.ngClick?d.checked:!k.$viewValue;k.$setViewValue(t,e&&e.type),k.$render()})}function p(){r.toggleClass("md-checked",!!k.$viewValue&&!f)}function h(e){f=e!==!1,f&&r.attr("aria-checked","mixed"),r.toggleClass("md-indeterminate",f)}var f,g=l[0],k=l[1]||o.fakeNgModel(),b=l[2];if(g){var $=g.isErrorGetter||function(){return k.$invalid&&(k.$touched||b&&b.$submitted)};g.input=r,a.$watch($,g.setInvalid)}i(r),r.children().on("focus",function(){r.focus()}),o.parseAttributeBoolean(d.mdIndeterminate)&&(h(),a.$watch(d.mdIndeterminate,h)),d.ngChecked&&a.$watch(a.$eval.bind(a,d.ngChecked),function(e){k.$setViewValue(e),k.$render()}),s("ngDisabled","tabindex",{"true":"-1","false":d.tabindex}),t.expectWithText(r,"aria-label"),e.link.pre(a,{on:angular.noop,0:{}},d,[k]),r.on("click",m).on("keypress",u).on("focus",function(){"keyboard"===c.getLastInteractionType()&&r.addClass("md-focused")}).on("blur",function(){r.removeClass("md-focused")}),k.$render=p}return r.$set("tabindex",r.tabindex||"0"),r.$set("type","checkbox"),r.$set("role",r.type),{pre:function(e,t){t.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:d}}return e=e[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:n.BEFORE_NG_ARIA,template:'