@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
182 lines • 13.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, HostBinding, Input, ChangeDetectorRef, ElementRef, Renderer2, ViewContainerRef, ComponentFactoryResolver } from '@angular/core';
import { Loading } from '../loading/loading.module';
var Button = /** @class */ (function () {
function Button(ref, el, renderer, viewContainerRef, componentFactoryResolver) {
this.ref = ref;
this.el = el;
this.renderer = renderer;
this.viewContainerRef = viewContainerRef;
this.componentFactoryResolver = componentFactoryResolver;
this.sukaButton = 'basic';
this.size = 'md';
this.class = '';
this.skeleton = false;
this.outline = false;
this.hover = false;
this.fullWidth = false;
this.inGroup = false;
this.loading = false;
}
Object.defineProperty(Button.prototype, "attrClass", {
get: /**
* @return {?}
*/
function () {
return "btn--" + (this.sukaButton ? this.sukaButton : 'basic') + " " + this.class;
},
enumerable: true,
configurable: true
});
Object.defineProperty(Button.prototype, "buttonSmall", {
get: /**
* @return {?}
*/
function () {
return this.size === 'sm';
},
enumerable: true,
configurable: true
});
Object.defineProperty(Button.prototype, "buttonLarge", {
get: /**
* @return {?}
*/
function () {
return this.size === 'lg';
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
Button.prototype.ngOnInit = /**
* @return {?}
*/
function () {
// Create the spinner
/** @type {?} */
var factory = this.componentFactoryResolver.resolveComponentFactory(Loading);
/** @type {?} */
var componentRef = this.viewContainerRef.createComponent(factory);
this.loadingSpinner = componentRef.instance;
this.loadingSpinner.size = 'sm';
this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
this.renderer.appendChild(this.el.nativeElement, this.loadingSpinner.elementRef.nativeElement);
if (this.loading) {
this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
this.el.nativeElement.disabled = true;
}
};
/**
* @param {?} changes
* @return {?}
*/
Button.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (this.loadingSpinner) {
if (this.loading) {
this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'inherit');
}
else {
this.renderer.setStyle(this.loadingSpinner.elementRef.nativeElement, 'display', 'none');
}
this.el.nativeElement.disabled = changes.loading.currentValue;
}
};
/**
* @return {?}
*/
Button.prototype.ngAfterViewInit = /**
* @return {?}
*/
function () {
this.ref.detectChanges();
};
Button.decorators = [
{ type: Directive, args: [{
selector: '[sukaButton]'
},] }
];
/** @nocollapse */
Button.ctorParameters = function () { return [
{ type: ChangeDetectorRef },
{ type: ElementRef },
{ type: Renderer2 },
{ type: ViewContainerRef },
{ type: ComponentFactoryResolver }
]; };
Button.propDecorators = {
sukaButton: [{ type: Input }],
size: [{ type: Input }],
class: [{ type: Input }],
attrClass: [{ type: HostBinding, args: ['attr.class',] }],
skeleton: [{ type: HostBinding, args: ['class.skeleton',] }, { type: Input }],
outline: [{ type: HostBinding, args: ['class.btn--outline',] }, { type: Input }],
hover: [{ type: HostBinding, args: ['class.btn--hover',] }, { type: Input }],
fullWidth: [{ type: HostBinding, args: ['class.btn--full_width',] }, { type: Input }],
inGroup: [{ type: HostBinding, args: ['class.btn--group_item',] }, { type: Input }],
loading: [{ type: HostBinding, args: ['class.btn--loading',] }, { type: Input }],
buttonSmall: [{ type: HostBinding, args: ['class.btn--sm',] }],
buttonLarge: [{ type: HostBinding, args: ['class.btn--lg',] }]
};
return Button;
}());
export { Button };
if (false) {
/** @type {?} */
Button.prototype.sukaButton;
/** @type {?} */
Button.prototype.size;
/** @type {?} */
Button.prototype.class;
/** @type {?} */
Button.prototype.skeleton;
/** @type {?} */
Button.prototype.outline;
/** @type {?} */
Button.prototype.hover;
/** @type {?} */
Button.prototype.fullWidth;
/** @type {?} */
Button.prototype.inGroup;
/** @type {?} */
Button.prototype.loading;
/** @type {?} */
Button.prototype.originalInnerText;
/** @type {?} */
Button.prototype.loadingSpinner;
/**
* @type {?}
* @private
*/
Button.prototype.ref;
/**
* @type {?}
* @private
*/
Button.prototype.el;
/**
* @type {?}
* @private
*/
Button.prototype.renderer;
/**
* @type {?}
* @private
*/
Button.prototype.viewContainerRef;
/**
* @type {?}
* @private
*/
Button.prototype.componentFactoryResolver;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BrdXNoa2kvbmctc3VrYS8iLCJzb3VyY2VzIjpbImxpYi9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUlMLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBEO0lBOEJFLGdCQUNVLEdBQXNCLEVBQ3RCLEVBQWMsRUFDZCxRQUFtQixFQUNuQixnQkFBa0MsRUFDbEMsd0JBQWtEO1FBSmxELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQS9CbkQsZUFBVSxHQUFvRSxPQUFPLENBQUM7UUFDdEYsU0FBSSxHQUF1QixJQUFJLENBQUM7UUFFaEMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQU1vQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2IsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNsQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ1QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFrQnpELENBQUM7SUEzQkosc0JBQStCLDZCQUFTOzs7O1FBQXhDO1lBQ0UsT0FBTyxXQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sVUFBSSxJQUFJLENBQUMsS0FB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Qy9GLHNCQUF5Qzs7SUFFekMsdUJBQW9COztJQU1wQiwwQkFBeUQ7O0lBQ3pELHlCQUE0RDs7SUFDNUQsdUJBQXdEOztJQUN4RCwyQkFBaUU7O0lBQ2pFLHlCQUErRDs7SUFDL0QseUJBQTREOztJQVM1RCxtQ0FBMEI7O0lBQzFCLGdDQUF3Qjs7Ozs7SUFHdEIscUJBQThCOzs7OztJQUM5QixvQkFBc0I7Ozs7O0lBQ3RCLDBCQUEyQjs7Ozs7SUFDM0Isa0NBQTBDOzs7OztJQUMxQywwQ0FBMEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9sb2FkaW5nL2xvYWRpbmcubW9kdWxlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3N1a2FCdXR0b25dJ1xufSlcbmV4cG9ydCBjbGFzcyBCdXR0b24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHN1a2FCdXR0b246ICdwcmltYXJ5JyB8ICdiYXNpYycgfCAncGxhaW4nIHwgJ2Rlc3RydWN0aXZlJyB8ICdvdXRsaW5lX3doaXRlJyA9ICdiYXNpYyc7XG4gIEBJbnB1dCgpIHNpemU6ICdtZCcgfCAnc20nIHwgJ2xnJyA9ICdtZCc7XG5cbiAgQElucHV0KCkgY2xhc3MgPSAnJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgYXR0ckNsYXNzKCkge1xuICAgIHJldHVybiBgYnRuLS0ke3RoaXMuc3VrYUJ1dHRvbiA/IHRoaXMuc3VrYUJ1dHRvbiA6ICdiYXNpYyd9ICR7dGhpcy5jbGFzc31gO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5za2VsZXRvbicpIEBJbnB1dCgpIHNrZWxldG9uID0gZmFsc2U7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuYnRuLS1vdXRsaW5lJykgQElucHV0KCkgb3V0bGluZSA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi0taG92ZXInKSBASW5wdXQoKSBob3ZlciA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi0tZnVsbF93aWR0aCcpIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmJ0bi0tZ3JvdXBfaXRlbScpIEBJbnB1dCgpIGluR3JvdXAgPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tLWxvYWRpbmcnKSBASW5wdXQoKSBsb2FkaW5nID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tLXNtJykgZ2V0IGJ1dHRvblNtYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdzbSc7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5idG4tLWxnJykgZ2V0IGJ1dHRvbkxhcmdlKCkge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdsZyc7XG4gIH1cblxuICBvcmlnaW5hbElubmVyVGV4dDogc3RyaW5nO1xuICBsb2FkaW5nU3Bpbm5lcjogTG9hZGluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAvLyBDcmVhdGUgdGhlIHNwaW5uZXJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoTG9hZGluZyk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICB0aGlzLmxvYWRpbmdTcGlubmVyID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuXG4gICAgdGhpcy5sb2FkaW5nU3Bpbm5lci5zaXplID0gJ3NtJztcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5sb2FkaW5nU3Bpbm5lci5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ25vbmUnKTtcblxuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLmxvYWRpbmdTcGlubmVyLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cbiAgICBpZiAodGhpcy5sb2FkaW5nKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubG9hZGluZ1NwaW5uZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdpbmhlcml0Jyk7XG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5sb2FkaW5nU3Bpbm5lcikge1xuICAgICAgaWYgKHRoaXMubG9hZGluZykge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubG9hZGluZ1NwaW5uZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdpbmhlcml0Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMubG9hZGluZ1NwaW5uZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IGNoYW5nZXMubG9hZGluZy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIl19