UNPKG

@duoduo-oba/ng-devui

Version:

DevUI components based on Angular

2 lines 4.03 kB
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@angular/core"),require("@angular/forms"),require("@angular/common")):"function"==typeof define&&define.amd?define("ng-devui/toggle",["exports","@angular/core","@angular/forms","@angular/common"],o):o(((e=e||self)["ng-devui"]=e["ng-devui"]||{},e["ng-devui"].toggle={}),e.ng.core,e.ng.forms,e.ng.common)}(this,(function(e,o,t,i){"use strict";var r=function(){function e(){this.size="small",this.change=new o.EventEmitter,this.onTouchedCallback=function(e){},this.onChangeCallback=function(e){}}return Object.defineProperty(e.prototype,"checked",{get:function(){return this._checked},set:function(e){this._checked=!1!==e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=!1!==e},enumerable:!0,configurable:!0}),e.prototype.onToggle=function(){var e=this;this.disabled||this.canChange().then((function(o){o&&(e.checked=!e.checked,e.change.emit(e.checked),e.onChangeCallback(e.checked),e.onTouchedCallback(e.checked))}))},e.prototype.canChange=function(){var e=Promise.resolve(!0);if(this.beforeChange){var o=this.beforeChange(this.checked);void 0!==o&&(e=o.then?o:o.subscribe?o.toPromise():Promise.resolve(o))}return e},e.prototype.writeValue=function(e){e!==this.checked&&(this.checked=!!e)},e.prototype.registerOnChange=function(e){this.onChangeCallback=e},e.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},e.decorators=[{type:o.Component,args:[{selector:"d-toggle",template:'<span\r\n class="devui-toggle"\r\n [class.devui-checked]="checked"\r\n [class.devui-disabled]="disabled"\r\n [class.devui-toggle-large]="size === \'large\'"\r\n [class.devui-toggle-medium]="size === \'medium\'"\r\n [class.devui-toggle-small]="size === \'small\'"\r\n [style.background]="checked ? color : \'\'"\r\n [style.border-color]="checked ? color : \'\'"\r\n>\r\n <small></small>\r\n</span>\r\n',exportAs:"toggle",providers:[{provide:t.NG_VALUE_ACCESSOR,useExisting:o.forwardRef((function(){return e})),multi:!0}],styles:[":host{display:inline-block}.devui-toggle{background:#fff;border:1px solid #adb0b8;position:relative;display:inline-block;box-sizing:content-box;overflow:visible;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s ease-out;transition:.3s ease-out}.devui-toggle:active,.devui-toggle:hover{border-color:#344899}.devui-toggle small{background:#adb0b8;border-radius:100%;position:absolute;top:0;left:2px;-webkit-transition:.3s ease-out;transition:.3s ease-out}.devui-toggle.devui-toggle-large{width:66px;height:40px;border-radius:40px}.devui-toggle.devui-toggle-large small{width:40px;height:40px}.devui-toggle.devui-toggle-large.devui-checked small{background:#fff;left:26px}.devui-toggle.devui-toggle-medium{width:50px;height:30px;border-radius:30px}.devui-toggle.devui-toggle-medium small{width:30px;height:30px}.devui-toggle.devui-toggle-medium.devui-checked small{background:#fff;left:20px}.devui-toggle.devui-toggle-small{width:30px;height:14px;border-radius:14px}.devui-toggle.devui-toggle-small small{width:10px;height:10px;position:absolute;top:2px}.devui-toggle.devui-toggle-small.devui-checked small{background:#fff;left:18px}.devui-toggle.devui-checked{background:#5e7ce0;border-color:#5e7ce0}.devui-toggle.devui-checked:active,.devui-toggle.devui-checked:hover{background:#344899;border-color:#344899}.devui-toggle.devui-disabled{opacity:.3;cursor:not-allowed}"]}]}],e.propDecorators={size:[{type:o.Input}],color:[{type:o.Input}],beforeChange:[{type:o.Input}],checked:[{type:o.Input}],disabled:[{type:o.Input}],change:[{type:o.Output}],onToggle:[{type:o.HostListener,args:["click"]}]},e}();var n=function(){function e(){}return e.decorators=[{type:o.NgModule,args:[{imports:[i.CommonModule,t.FormsModule],exports:[r],declarations:[r],providers:[]}]}],e}();e.ToggleComponent=r,e.ToggleModule=n,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=ng-devui-toggle.umd.min.js.map