/*! * AngularJS Material Design * https://github.com/angular/material * @license MIT * v1.1.18-master-97a1616 */ function mdRadioGroupDirective(d,u,c,s){return e.prototype={init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=angular.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return t(this.$element,1)},selectPrevious:function(){return t(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)},isDisabled:function(){return this.$element[0].hasAttribute("disabled")}},{restrict:"E",controller:["$element",e],require:["mdRadioGroup","?ngModel"],link:{pre:function(t,i,e,n){i.addClass("_md"),c(i);var o=n[0],r=n[1]||d.fakeNgModel();function a(){i.hasClass("md-focused")||i.addClass("md-focused")}o.init(r),t.mouseActive=!1,i.attr({role:"radiogroup",tabIndex:i.attr("tabindex")||"0"}).on("keydown",function(e){var t=e.which||e.keyCode;if(t==u.KEY_CODE.ENTER||e.currentTarget==e.target)switch(t){case u.KEY_CODE.LEFT_ARROW:case u.KEY_CODE.UP_ARROW:e.preventDefault(),o.selectPrevious(),a();break;case u.KEY_CODE.RIGHT_ARROW:case u.KEY_CODE.DOWN_ARROW:e.preventDefault(),o.selectNext(),a();break;case u.KEY_CODE.ENTER:var n=angular.element(d.getClosest(i[0],"form"));0
',link:function(t,n,i,o){var r;s(n),function(e){e.attr({id:i.id||"radio_"+c.nextUid(),role:"radio","aria-checked":"false"}),u.expectWithText(e,"aria-label")}(n),i.ngValue?c.nextTick(e,!1):e();function e(){if(!o)throw"RadioButton: No RadioGroupController could be found.";o.add(d),i.$observe("value",d),n.on("click",a).on("$destroy",function(){o.remove(d)})}function a(e){n[0].hasAttribute("disabled")||o.isDisabled()||t.$apply(function(){o.setViewValue(i.value,e&&e.type)})}function d(){var e=o.getViewValue()==i.value;e!==r&&("md-radio-group"!==n[0].parentNode.nodeName.toLowerCase()&&n.parent().toggleClass(l,e),e&&o.setActiveDescendant(n.attr("id")),r=e,n.attr("aria-checked",e).toggleClass(l,e))}}}}goog.provide("ngmaterial.components.radioButton"),goog.require("ngmaterial.core"),mdRadioGroupDirective.$inject=["$mdUtil","$mdConstant","$mdTheming","$timeout"],mdRadioButtonDirective.$inject=["$mdAria","$mdUtil","$mdTheming"],angular.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",mdRadioGroupDirective).directive("mdRadioButton",mdRadioButtonDirective),ngmaterial.components.radioButton=angular.module("material.components.radioButton");