UNPKG

angular-material

Version:

This repository publishes the AngularJS Material v1.x library and localized installs using `npm`. You can find the component source-code for this library in the [AngularJS Material repository](https://github.com/angular/material).

7 lines 2.59 kB
/*! * AngularJS Material Design * https://github.com/angular/material * @license MIT * v1.2.0-master-93518bb */ !function(e,v){"use strict";function t(f,p,h,k,$,g){return f=f[0],{restrict:"E",transclude:!0,require:["^?mdInputContainer","?ngModel","?^form"],priority:h.BEFORE_NG_ARIA,template:'<div class="md-container" md-ink-ripple md-ink-ripple-checkbox><div class="md-icon"></div></div><div ng-transclude class="md-label"></div>',compile:function(e,t){return t.$set("tabindex",t.tabindex||"0"),t.$set("type","checkbox"),t.$set("role",t.type),e.addClass("md-auto-horizontal-margin"),{pre:function(e,t){t.on("click",function(e){this.hasAttribute("disabled")&&e.stopImmediatePropagation()})},post:function(i,a,c,e){var t,n=e[0],d=e[1]||$.fakeNgModel(),r=e[2],o=0<a.find("a").length;if(o){var l="label-"+$.nextUid();c.$set("aria-labelledby",l);var s=a.children()[1];v.element(s).remove(),s.removeAttribute("ng-transclude"),s.className="md-checkbox-link-label",s.setAttribute("id",l),a.after(s),a.next().on("click",m)}if(n){var u=n.isErrorGetter||function(){return d.$invalid&&(d.$touched||r&&r.$submitted)};n.input=a,i.$watch(u,n.setInvalid)}k(a),a.children().on("focus",function(){a.focus()}),$.parseAttributeBoolean(c.mdIndeterminate)&&(b(),i.$watch(c.mdIndeterminate,b));c.ngChecked&&i.$watch(i.$eval.bind(i,c.ngChecked),function(e){d.$setViewValue(e),d.$render()});(function(e,t,n){c[e]&&i.$watch(c[e],function(e){n[e]&&a.attr(t,n[e])})})("ngDisabled","tabindex",{true:"-1",false:c.tabindex}),o||p.expectWithText(a,"aria-label");function m(t){a[0].hasAttribute("disabled")||i.skipToggle||"A"===t.target.tagName||i.$apply(function(){var e=c.ngChecked&&c.ngClick?c.checked:!d.$viewValue;d.$setViewValue(e,t&&t.type),d.$render()})}function b(e){(t=!1!==e)&&a.attr("aria-checked","mixed"),a.toggleClass("md-indeterminate",t)}f.link.pre(i,{on:v.noop,0:{}},c,[d]),a.on("click",m).on("keypress",function(e){var t,n,i=e.which||e.keyCode;switch(e.preventDefault(),i){case h.KEY_CODE.SPACE:a.addClass("md-focused"),m(e);break;case h.KEY_CODE.ENTER:(n=$.getClosest(e.target,"form"))&&(t=n.querySelector('button[type="submit"]:enabled, input[type="submit"]:enabled'))&&t.click()}}).on("focus",function(){"keyboard"===g.getLastInteractionType()&&a.addClass("md-focused")}).on("blur",function(){a.removeClass("md-focused")}),d.$render=function(){a.toggleClass("md-checked",!!d.$viewValue&&!t)}}}}}}t.$inject=["inputDirective","$mdAria","$mdConstant","$mdTheming","$mdUtil","$mdInteraction"],v.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",t)}(window,window.angular);