UNPKG

sb-element

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.1. It is a component library constructed around the SCSS library [Sb-Theming](https://github.com/SeverinBuchser/SbTheming) and supports [Angular Schematics]

79 lines 9.13 kB
import { Attribute, Component, Input, Optional, ViewEncapsulation } from '@angular/core'; import { mixinSize, mixinColor, mixinClassName, Color, Size } from '../../core'; import * as i0 from "@angular/core"; import * as i1 from "../../core"; const SbButtonCore = mixinSize(mixinColor(mixinClassName(class { constructor(_elementRef, _themeService) { this._elementRef = _elementRef; this._themeService = _themeService; } }, 'sb-button'), Color.PRIMARY), Size.MEDIUM); export class SbButtonComponent extends SbButtonCore { constructor(elementRef, themeService, isRound, isPill, isPlain) { super(elementRef, themeService); this.type = 'button'; this.round = false; this.pill = false; this.plain = false; if (isRound == '') this.isRound = true; if (isPill == '') this.isPill = true; if (isPlain == '') this.isPlain = true; } set isRound(isRound) { if (!this.pill) this.round = isRound; else if (isRound && this.pill) throw new Error('Cannot use pill and round' + ' attribute simultaneously!'); } set isPill(isPill) { if (!this.round) this.pill = isPill; else if (isPill && this.round) throw new Error('Cannot use pill and round' + ' attribute simultaneously!'); } set isPlain(isPlain) { this.plain = isPlain; } } SbButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbButtonComponent, deps: [{ token: i0.ElementRef }, { token: i1.SbThemeService }, { token: 'round', attribute: true, optional: true }, { token: 'pill', attribute: true, optional: true }, { token: 'plain', attribute: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); SbButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbButtonComponent, selector: "button, [sb-button]", inputs: { size: "size", color: "color", isRound: "isRound", isPill: "isPill", isPlain: "isPlain", type: "type" }, host: { properties: { "class.pill": "pill", "class.plain": "plain", "class.round": "round" } }, usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbButtonComponent, decorators: [{ type: Component, args: [{ selector: 'button, [sb-button]', encapsulation: ViewEncapsulation.None, host: { '[class.pill]': 'pill', '[class.plain]': 'plain', '[class.round]': 'round' }, inputs: [ 'size', 'color' ], template: "<ng-content></ng-content>\n" }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.SbThemeService }, { type: undefined, decorators: [{ type: Optional }, { type: Attribute, args: ['round'] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Attribute, args: ['pill'] }] }, { type: undefined, decorators: [{ type: Optional }, { type: Attribute, args: ['plain'] }] }]; }, propDecorators: { isRound: [{ type: Input }], isPill: [{ type: Input }], isPlain: [{ type: Input }], type: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9mb3Jtcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9mb3Jtcy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFrQixTQUFTLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sWUFBWSxDQUFDOzs7QUFFaEcsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUM1QixVQUFVLENBQ1IsY0FBYyxDQUNaO0lBQ0UsWUFDUyxXQUF1QixFQUN2QixhQUE2QjtRQUQ3QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFBRyxDQUFDO0NBQzNDLEVBQUUsV0FBVyxDQUNmLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FDakIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUNmLENBQUM7QUFpQkYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFlBQVk7SUE0QmpELFlBQ0UsVUFBc0IsRUFDdEIsWUFBNEIsRUFDSSxPQUFZLEVBQ2IsTUFBVyxFQUNWLE9BQVk7UUFFNUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQWIzQixTQUFJLEdBQVcsUUFBUSxDQUFDO1FBRXZCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBVTdCLElBQUksT0FBTyxJQUFJLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN2QyxJQUFJLE1BQU0sSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDckMsSUFBSSxPQUFPLElBQUksRUFBRTtZQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBQ3pDLENBQUM7SUFyQ0QsSUFDSSxPQUFPLENBQUMsT0FBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUM7YUFDaEMsSUFBSSxPQUFPLElBQUksSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQjtrQkFDdEUsNEJBQTRCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsTUFBZTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQzthQUMvQixJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCO2tCQUN0RSw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLE9BQU8sQ0FBQyxPQUFnQjtRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQztJQUN2QixDQUFDOzs4R0FuQlUsaUJBQWlCLDBFQStCSCxPQUFPLDhDQUNQLE1BQU0sOENBQ04sT0FBTztrR0FqQ3JCLGlCQUFpQixvU0M5QjlCLDZCQUNBOzJGRDZCYSxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UscUJBQXFCLGlCQUVoQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLGNBQWMsRUFBRSxNQUFNO3dCQUN0QixlQUFlLEVBQUUsT0FBTzt3QkFDeEIsZUFBZSxFQUFFLE9BQU87cUJBQ3pCLFVBQ087d0JBQ04sTUFBTTt3QkFDTixPQUFPO3FCQUNSOzswQkFpQ0UsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxPQUFPOzswQkFDN0IsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxNQUFNOzswQkFDNUIsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxPQUFPOzRDQTlCNUIsT0FBTztzQkFEVixLQUFLO2dCQVFGLE1BQU07c0JBRFQsS0FBSztnQkFRRixPQUFPO3NCQURWLEtBQUs7Z0JBTUMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPcHRpb25hbCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNiVGhlbWVTZXJ2aWNlLCBtaXhpblNpemUsIG1peGluQ29sb3IsIG1peGluQ2xhc3NOYW1lLCBDb2xvciwgU2l6ZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5jb25zdCBTYkJ1dHRvbkNvcmUgPSBtaXhpblNpemUoXG4gIG1peGluQ29sb3IoXG4gICAgbWl4aW5DbGFzc05hbWUoXG4gICAgICBjbGFzcyB7XG4gICAgICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAgIHB1YmxpYyBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICBwdWJsaWMgX3RoZW1lU2VydmljZTogU2JUaGVtZVNlcnZpY2UpIHt9XG4gICAgICB9LCAnc2ItYnV0dG9uJ1xuICAgICksIENvbG9yLlBSSU1BUllcbiAgKSwgU2l6ZS5NRURJVU1cbik7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYnV0dG9uLCBbc2ItYnV0dG9uXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5waWxsXSc6ICdwaWxsJyxcbiAgICAnW2NsYXNzLnBsYWluXSc6ICdwbGFpbicsXG4gICAgJ1tjbGFzcy5yb3VuZF0nOiAncm91bmQnXG4gIH0sXG4gIGlucHV0czogW1xuICAgICdzaXplJyxcbiAgICAnY29sb3InXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgU2JCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBTYkJ1dHRvbkNvcmUge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBpc1JvdW5kKGlzUm91bmQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMucGlsbCkgdGhpcy5yb3VuZCA9IGlzUm91bmQ7XG4gICAgZWxzZSBpZiAoaXNSb3VuZCAmJiB0aGlzLnBpbGwpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBwaWxsIGFuZCByb3VuZCdcbiAgICAgICsgJyBhdHRyaWJ1dGUgc2ltdWx0YW5lb3VzbHkhJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXNQaWxsKGlzUGlsbDogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5yb3VuZCkgdGhpcy5waWxsID0gaXNQaWxsO1xuICAgIGVsc2UgaWYgKGlzUGlsbCAmJiB0aGlzLnJvdW5kKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCB1c2UgcGlsbCBhbmQgcm91bmQnXG4gICAgICArICcgYXR0cmlidXRlIHNpbXVsdGFuZW91c2x5IScpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGlzUGxhaW4oaXNQbGFpbjogYm9vbGVhbikge1xuICAgIHRoaXMucGxhaW4gPSBpc1BsYWluO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9ICdidXR0b24nO1xuXG4gIHByaXZhdGUgcm91bmQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBwaWxsOiBib29sZWFuID0gZmFsc2U7XG4gIHByaXZhdGUgcGxhaW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHRoZW1lU2VydmljZTogU2JUaGVtZVNlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgQEF0dHJpYnV0ZSgncm91bmQnKSBpc1JvdW5kOiBhbnksXG4gICAgQE9wdGlvbmFsKCkgQEF0dHJpYnV0ZSgncGlsbCcpIGlzUGlsbDogYW55LFxuICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ3BsYWluJykgaXNQbGFpbjogYW55XG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIHRoZW1lU2VydmljZSk7XG4gICAgaWYgKGlzUm91bmQgPT0gJycpIHRoaXMuaXNSb3VuZCA9IHRydWU7XG4gICAgaWYgKGlzUGlsbCA9PSAnJykgdGhpcy5pc1BpbGwgPSB0cnVlO1xuICAgIGlmIChpc1BsYWluID09ICcnKSB0aGlzLmlzUGxhaW4gPSB0cnVlO1xuICB9XG5cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==