blob: 8c80c2a377a1f6ad0f59f6a1b61eb9941adc1f1f [file] [log] [blame]
/**
* @license
* Copyright Google LLC All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/cdk/a11y"),require("@angular/cdk/coercion"),require("@angular/cdk/collections"),require("@angular/core"),require("@angular/forms"),require("@angular/material/core"),require("@angular/platform-browser/animations"),require("@angular/common")):"function"==typeof define&&define.amd?define("@angular/material/radio",["exports","@angular/cdk/a11y","@angular/cdk/coercion","@angular/cdk/collections","@angular/core","@angular/forms","@angular/material/core","@angular/platform-browser/animations","@angular/common"],t):t((e.ng=e.ng||{},e.ng.material=e.ng.material||{},e.ng.material.radio={}),e.ng.cdk.a11y,e.ng.cdk.coercion,e.ng.cdk.collections,e.ng.core,e.ng.forms,e.ng.material.core,e.ng.platformBrowser.animations,e.ng.common)}(this,function(e,t,i,o,r,a,n,s,c){"use strict";function l(e,t){function i(){this.constructor=e}u(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}function d(){return{color:"accent"}}var u=function(e,t){return(u=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)},p=new r.InjectionToken("mat-radio-default-options",{providedIn:"root",factory:d}),h=0,m={provide:a.NG_VALUE_ACCESSOR,useExisting:r.forwardRef(function(){return f}),multi:!0},b=function(){function e(e,t){this.source=e,this.value=t}return e}(),f=function(){function e(e){this._changeDetector=e,this._value=null,this._name="mat-radio-group-"+h++,this._selected=null,this._isInitialized=!1,this._labelPosition="after",this._disabled=!1,this._required=!1,this._controlValueAccessorChangeFn=function(){},this.onTouched=function(){},this.change=new r.EventEmitter}return Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){this._name=e,this._updateRadioButtonNames()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"labelPosition",{get:function(){return this._labelPosition},set:function(e){this._labelPosition="before"===e?"before":"after",this._markRadiosForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,this._updateSelectedRadioFromValue(),this._checkSelectedRadioButton())},enumerable:!0,configurable:!0}),e.prototype._checkSelectedRadioButton=function(){this._selected&&!this._selected.checked&&(this._selected.checked=!0)},Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},set:function(e){this._selected=e,this.value=e?e.value:null,this._checkSelectedRadioButton()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=i.coerceBooleanProperty(e),this._markRadiosForCheck()},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"required",{get:function(){return this._required},set:function(e){this._required=i.coerceBooleanProperty(e),this._markRadiosForCheck()},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._isInitialized=!0},e.prototype._touch=function(){this.onTouched&&this.onTouched()},e.prototype._updateRadioButtonNames=function(){var e=this;this._radios&&this._radios.forEach(function(t){t.name=e.name,t._markForCheck()})},e.prototype._updateSelectedRadioFromValue=function(){var e=this,t=null!==this._selected&&this._selected.value===this._value;this._radios&&!t&&(this._selected=null,this._radios.forEach(function(t){t.checked=e.value===t.value,t.checked&&(e._selected=t)}))},e.prototype._emitChangeEvent=function(){this._isInitialized&&this.change.emit(new b(this._selected,this._value))},e.prototype._markRadiosForCheck=function(){this._radios&&this._radios.forEach(function(e){return e._markForCheck()})},e.prototype.writeValue=function(e){this.value=e,this._changeDetector.markForCheck()},e.prototype.registerOnChange=function(e){this._controlValueAccessorChangeFn=e},e.prototype.registerOnTouched=function(e){this.onTouched=e},e.prototype.setDisabledState=function(e){this.disabled=e,this._changeDetector.markForCheck()},e.decorators=[{type:r.Directive,args:[{selector:"mat-radio-group",exportAs:"matRadioGroup",providers:[m],host:{role:"radiogroup",class:"mat-radio-group"}}]}],e.ctorParameters=function(){return[{type:r.ChangeDetectorRef}]},e.propDecorators={change:[{type:r.Output}],_radios:[{type:r.ContentChildren,args:[r.forwardRef(function(){return y}),{descendants:!0}]}],color:[{type:r.Input}],name:[{type:r.Input}],labelPosition:[{type:r.Input}],value:[{type:r.Input}],selected:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}]},e}(),_=function(){function e(e){this._elementRef=e}return e}(),g=n.mixinDisableRipple(n.mixinTabIndex(_)),y=function(e){function a(t,i,o,a,n,s,c){var l=e.call(this,i)||this;return l._changeDetector=o,l._focusMonitor=a,l._radioDispatcher=n,l._animationMode=s,l._providerOverride=c,l._uniqueId="mat-radio-"+ ++h,l.id=l._uniqueId,l.change=new r.EventEmitter,l._checked=!1,l._value=null,l._removeUniqueSelectionListener=function(){},l.radioGroup=t,l._removeUniqueSelectionListener=n.listen(function(e,t){e!==l.id&&t===l.name&&(l.checked=!1)}),l}return l(a,e),Object.defineProperty(a.prototype,"checked",{get:function(){return this._checked},set:function(e){var t=i.coerceBooleanProperty(e);this._checked!==t&&(this._checked=t,t&&this.radioGroup&&this.radioGroup.value!==this.value?this.radioGroup.selected=this:!t&&this.radioGroup&&this.radioGroup.value===this.value&&(this.radioGroup.selected=null),t&&this._radioDispatcher.notify(this.id,this.name),this._changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"value",{get:function(){return this._value},set:function(e){this._value!==e&&(this._value=e,null!==this.radioGroup&&(this.checked||(this.checked=this.radioGroup.value===e),this.checked&&(this.radioGroup.selected=this)))},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"labelPosition",{get:function(){return this._labelPosition||this.radioGroup&&this.radioGroup.labelPosition||"after"},set:function(e){this._labelPosition=e},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"disabled",{get:function(){return this._disabled||null!==this.radioGroup&&this.radioGroup.disabled},set:function(e){var t=i.coerceBooleanProperty(e);this._disabled!==t&&(this._disabled=t,this._changeDetector.markForCheck())},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"required",{get:function(){return this._required||this.radioGroup&&this.radioGroup.required},set:function(e){this._required=i.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"color",{get:function(){return this._color||this.radioGroup&&this.radioGroup.color||this._providerOverride&&this._providerOverride.color||"accent"},set:function(e){this._color=e},enumerable:!0,configurable:!0}),Object.defineProperty(a.prototype,"inputId",{get:function(){return(this.id||this._uniqueId)+"-input"},enumerable:!0,configurable:!0}),a.prototype.focus=function(){this._focusMonitor.focusVia(this._inputElement,"keyboard")},a.prototype._markForCheck=function(){this._changeDetector.markForCheck()},a.prototype.ngOnInit=function(){this.radioGroup&&(this.checked=this.radioGroup.value===this._value,this.name=this.radioGroup.name)},a.prototype.ngAfterViewInit=function(){var e=this;this._focusMonitor.monitor(this._elementRef,!0).subscribe(function(t){!t&&e.radioGroup&&e.radioGroup._touch()})},a.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef),this._removeUniqueSelectionListener()},a.prototype._emitChangeEvent=function(){this.change.emit(new b(this,this._value))},a.prototype._isRippleDisabled=function(){return this.disableRipple||this.disabled},a.prototype._onInputClick=function(e){e.stopPropagation()},a.prototype._onInputChange=function(e){e.stopPropagation();var t=this.radioGroup&&this.value!==this.radioGroup.value;this.checked=!0,this._emitChangeEvent(),this.radioGroup&&(this.radioGroup._controlValueAccessorChangeFn(this.value),t&&this.radioGroup._emitChangeEvent())},a.decorators=[{type:r.Component,args:[{selector:"mat-radio-button",template:'<label [attr.for]="inputId" class="mat-radio-label" #label><div class="mat-radio-container"><div class="mat-radio-outer-circle"></div><div class="mat-radio-inner-circle"></div><div mat-ripple class="mat-radio-ripple" [matRippleTrigger]="label" [matRippleDisabled]="_isRippleDisabled()" [matRippleCentered]="true" [matRippleRadius]="20" [matRippleAnimation]="{enterDuration: 150}"><div class="mat-ripple-element mat-radio-persistent-ripple"></div></div><input #input class="mat-radio-input cdk-visually-hidden" type="radio" [id]="inputId" [checked]="checked" [disabled]="disabled" [tabIndex]="tabIndex" [attr.name]="name" [required]="required" [attr.aria-label]="ariaLabel" [attr.aria-labelledby]="ariaLabelledby" [attr.aria-describedby]="ariaDescribedby" (change)="_onInputChange($event)" (click)="_onInputClick($event)"></div><div class="mat-radio-label-content" [class.mat-radio-label-before]="labelPosition == \'before\'"><span style="display:none">&nbsp;</span><ng-content></ng-content></div></label>',styles:[".mat-radio-button{display:inline-block;-webkit-tap-highlight-color:transparent;outline:0}.mat-radio-label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle;width:100%}.mat-radio-container{box-sizing:border-box;display:inline-block;position:relative;width:20px;height:20px;flex-shrink:0}.mat-radio-outer-circle{box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:border-color ease 280ms;width:20px;border-width:2px;border-style:solid;border-radius:50%}._mat-animation-noopable .mat-radio-outer-circle{transition:none}.mat-radio-inner-circle{border-radius:50%;box-sizing:border-box;height:20px;left:0;position:absolute;top:0;transition:transform ease 280ms,background-color ease 280ms;width:20px;transform:scale(.001)}._mat-animation-noopable .mat-radio-inner-circle{transition:none}.mat-radio-checked .mat-radio-inner-circle{transform:scale(.5)}@media (-ms-high-contrast:active){.mat-radio-checked .mat-radio-inner-circle{border:solid 10px}}.mat-radio-label-content{-webkit-user-select:auto;-moz-user-select:auto;-ms-user-select:auto;user-select:auto;display:inline-block;order:0;line-height:inherit;padding-left:8px;padding-right:0}[dir=rtl] .mat-radio-label-content{padding-right:8px;padding-left:0}.mat-radio-label-content.mat-radio-label-before{order:-1;padding-left:0;padding-right:8px}[dir=rtl] .mat-radio-label-content.mat-radio-label-before{padding-right:0;padding-left:8px}.mat-radio-disabled,.mat-radio-disabled .mat-radio-label{cursor:default}.mat-radio-button .mat-radio-ripple{position:absolute;left:calc(50% - 20px);top:calc(50% - 20px);height:40px;width:40px;z-index:1;pointer-events:none}.mat-radio-button .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple){opacity:.16}.mat-radio-persistent-ripple{width:100%;height:100%;transform:none}.mat-radio-container:hover .mat-radio-persistent-ripple{opacity:.04}.mat-radio-button:not(.mat-radio-disabled).cdk-keyboard-focused .mat-radio-persistent-ripple{opacity:.12}.mat-radio-disabled .mat-radio-container:hover .mat-radio-persistent-ripple,.mat-radio-persistent-ripple{opacity:0}@media (hover:none){.mat-radio-container:hover .mat-radio-persistent-ripple{display:none}}.mat-radio-input{bottom:0;left:50%}@media (-ms-high-contrast:active){.mat-radio-disabled{opacity:.5}}"],inputs:["disableRipple","tabIndex"],encapsulation:r.ViewEncapsulation.None,exportAs:"matRadioButton",host:{class:"mat-radio-button","[class.mat-radio-checked]":"checked","[class.mat-radio-disabled]":"disabled","[class._mat-animation-noopable]":'_animationMode === "NoopAnimations"',"[class.mat-primary]":'color === "primary"',"[class.mat-accent]":'color === "accent"',"[class.mat-warn]":'color === "warn"',"[attr.tabindex]":"-1","[attr.id]":"id","(focus)":"_inputElement.nativeElement.focus()"},changeDetection:r.ChangeDetectionStrategy.OnPush}]}],a.ctorParameters=function(){return[{type:f,decorators:[{type:r.Optional}]},{type:r.ElementRef},{type:r.ChangeDetectorRef},{type:t.FocusMonitor},{type:o.UniqueSelectionDispatcher},{type:String,decorators:[{type:r.Optional},{type:r.Inject,args:[s.ANIMATION_MODULE_TYPE]}]},{type:void 0,decorators:[{type:r.Optional},{type:r.Inject,args:[p]}]}]},a.propDecorators={id:[{type:r.Input}],name:[{type:r.Input}],ariaLabel:[{type:r.Input,args:["aria-label"]}],ariaLabelledby:[{type:r.Input,args:["aria-labelledby"]}],ariaDescribedby:[{type:r.Input,args:["aria-describedby"]}],checked:[{type:r.Input}],value:[{type:r.Input}],labelPosition:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}],color:[{type:r.Input}],change:[{type:r.Output}],_inputElement:[{type:r.ViewChild,args:["input",{static:!1}]}]},a}(g),v=function(){function e(){}return e.decorators=[{type:r.NgModule,args:[{imports:[c.CommonModule,n.MatRippleModule,n.MatCommonModule],exports:[f,y,n.MatCommonModule],declarations:[f,y]}]}],e}();e.MatRadioModule=v,e.MAT_RADIO_DEFAULT_OPTIONS_FACTORY=d,e.MAT_RADIO_DEFAULT_OPTIONS=p,e.MAT_RADIO_GROUP_CONTROL_VALUE_ACCESSOR=m,e.MatRadioChange=b,e.MatRadioGroup=f,e.MatRadioButton=y,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=material-radio.umd.min.js.map