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]
83 lines • 9.51 kB
JavaScript
import { Attribute, Component, Input, Optional } from '@angular/core';
import { mixinDisable, Color, Size, mixinFocus } from '../../core';
import * as i0 from "@angular/core";
import * as i1 from "../button/button.component";
import * as i2 from "../../icon/icon/icon.component";
const SbIconButtonCore = mixinDisable(mixinFocus(class {
}));
export class SbIconButtonComponent extends SbIconButtonCore {
constructor(pill, round, plain) {
super();
this.color = Color.PRIMARY;
this.size = Size.MEDIUM;
this.type = 'button';
this.plain = false;
this.pill = false;
this.round = false;
this.icon = '';
if (pill == '')
this.pill = true;
if (round == '')
this.round = true;
if (plain == '')
this.plain = 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;
}
}
SbIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbIconButtonComponent, deps: [{ token: 'pill', attribute: true, optional: true }, { token: 'round', attribute: true, optional: true }, { token: 'plain', attribute: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
SbIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbIconButtonComponent, selector: "sb-icon-button", inputs: { disabled: "disabled", color: "color", size: "size", isRound: "isRound", isPill: "isPill", isPlain: "isPlain", type: "type", icon: "icon" }, outputs: { focus: "focus", blur: "blur" }, usesInheritance: true, ngImport: i0, template: "<button\n [color]=\"color\"\n [size]=\"size\"\n [isPlain]=\"plain\"\n [isRound]=\"round\"\n [isPill]=\"pill\"\n [type]=\"type\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n <sb-icon [icon]=\"icon\">\n <ng-content></ng-content>\n </sb-icon>\n</button>\n", components: [{ type: i1.SbButtonComponent, selector: "button, [sb-button]", inputs: ["size", "color", "isRound", "isPill", "isPlain", "type"] }, { type: i2.SbIconComponent, selector: "sb-icon", inputs: ["size", "color", "icon", "isOutline"] }] });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbIconButtonComponent, decorators: [{
type: Component,
args: [{ selector: 'sb-icon-button', inputs: [
'disabled'
], outputs: [
'focus',
'blur'
], template: "<button\n [color]=\"color\"\n [size]=\"size\"\n [isPlain]=\"plain\"\n [isRound]=\"round\"\n [isPill]=\"pill\"\n [type]=\"type\"\n (focus)=\"setFocusedState(true)\"\n (blur)=\"setFocusedState(false)\"\n [disabled]=\"disabled\">\n <sb-icon [icon]=\"icon\">\n <ng-content></ng-content>\n </sb-icon>\n</button>\n" }]
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Optional
}, {
type: Attribute,
args: ['pill']
}] }, { type: undefined, decorators: [{
type: Optional
}, {
type: Attribute,
args: ['round']
}] }, { type: undefined, decorators: [{
type: Optional
}, {
type: Attribute,
args: ['plain']
}] }]; }, propDecorators: { color: [{
type: Input
}], size: [{
type: Input
}], isRound: [{
type: Input
}], isPill: [{
type: Input
}], isPlain: [{
type: Input
}], type: [{
type: Input
}], icon: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc2ItZWxlbWVudC9zcmMvbGliL2Zvcm1zL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9mb3Jtcy9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxZQUFZLENBQUM7Ozs7QUFFbkUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0NBQVEsQ0FBQyxDQUFDLENBQUM7QUFjNUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGdCQUFnQjtJQXFDekQsWUFDaUMsSUFBUyxFQUNSLEtBQVUsRUFDVixLQUFVO1FBRTFDLEtBQUssRUFBRSxDQUFDO1FBdkNILFVBQUssR0FBVyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBRzlCLFNBQUksR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBc0IzQixTQUFJLEdBQVcsUUFBUSxDQUFDO1FBRXhCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFDdkIsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUN0QixVQUFLLEdBQVksS0FBSyxDQUFDO1FBR3ZCLFNBQUksR0FBVyxFQUFFLENBQUM7UUFRdkIsSUFBSSxJQUFJLElBQUksRUFBRTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLElBQUksS0FBSyxJQUFJLEVBQUU7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNuQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDckMsQ0FBQztJQXRDRCxJQUNJLE9BQU8sQ0FBQyxPQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQzthQUNoQyxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCO2tCQUN0RSw0QkFBNEIsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxNQUFlO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDO2FBQy9CLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkI7a0JBQ3RFLDRCQUE0QixDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ0ksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDO0lBQ3ZCLENBQUM7O2tIQXpCVSxxQkFBcUIsa0JBc0NQLE1BQU0sOENBQ04sT0FBTyw4Q0FDUCxPQUFPO3NHQXhDckIscUJBQXFCLDhRQ2pCbEMsb1VBY0E7MkZER2EscUJBQXFCO2tCQVhqQyxTQUFTOytCQUNFLGdCQUFnQixVQUVsQjt3QkFDTixVQUFVO3FCQUNYLFdBQ1E7d0JBQ1AsT0FBTzt3QkFDUCxNQUFNO3FCQUNQOzswQkF3Q0UsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxNQUFNOzswQkFDNUIsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxPQUFPOzswQkFDN0IsUUFBUTs7MEJBQUksU0FBUzsyQkFBQyxPQUFPOzRDQXJDekIsS0FBSztzQkFEWCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSztnQkFJRixPQUFPO3NCQURWLEtBQUs7Z0JBUUYsTUFBTTtzQkFEVCxLQUFLO2dCQVFGLE9BQU87c0JBRFYsS0FBSztnQkFNQyxJQUFJO3NCQURWLEtBQUs7Z0JBUUMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbWl4aW5EaXNhYmxlLCBDb2xvciwgU2l6ZSwgbWl4aW5Gb2N1cyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuXG5jb25zdCBTYkljb25CdXR0b25Db3JlID0gbWl4aW5EaXNhYmxlKG1peGluRm9jdXMoY2xhc3Mge30pKTtcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi1pY29uLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9pY29uLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCdcbiAgXSxcbiAgb3V0cHV0czogW1xuICAgICdmb2N1cycsXG4gICAgJ2JsdXInXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNiSWNvbkJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIFNiSWNvbkJ1dHRvbkNvcmUge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogc3RyaW5nID0gQ29sb3IuUFJJTUFSWTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2l6ZTogc3RyaW5nID0gU2l6ZS5NRURJVU07XG5cbiAgQElucHV0KClcbiAgc2V0IGlzUm91bmQoaXNSb3VuZDogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5waWxsKSB0aGlzLnJvdW5kID0gaXNSb3VuZDtcbiAgICBlbHNlIGlmIChpc1JvdW5kICYmIHRoaXMucGlsbCkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgdXNlIHBpbGwgYW5kIHJvdW5kJ1xuICAgICAgKyAnIGF0dHJpYnV0ZSBzaW11bHRhbmVvdXNseSEnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBpc1BpbGwoaXNQaWxsOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLnJvdW5kKSB0aGlzLnBpbGwgPSBpc1BpbGw7XG4gICAgZWxzZSBpZiAoaXNQaWxsICYmIHRoaXMucm91bmQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBwaWxsIGFuZCByb3VuZCdcbiAgICAgICsgJyBhdHRyaWJ1dGUgc2ltdWx0YW5lb3VzbHkhJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaXNQbGFpbihpc1BsYWluOiBib29sZWFuKSB7XG4gICAgdGhpcy5wbGFpbiA9IGlzUGxhaW47XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgdHlwZTogc3RyaW5nID0gJ2J1dHRvbic7XG5cbiAgcHVibGljIHBsYWluOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBwaWxsOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyByb3VuZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpY29uOiBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAQXR0cmlidXRlKCdwaWxsJykgcGlsbDogYW55LFxuICAgIEBPcHRpb25hbCgpIEBBdHRyaWJ1dGUoJ3JvdW5kJykgcm91bmQ6IGFueSxcbiAgICBAT3B0aW9uYWwoKSBAQXR0cmlidXRlKCdwbGFpbicpIHBsYWluOiBhbnksXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgaWYgKHBpbGwgPT0gJycpIHRoaXMucGlsbCA9IHRydWU7XG4gICAgaWYgKHJvdW5kID09ICcnKSB0aGlzLnJvdW5kID0gdHJ1ZTtcbiAgICBpZiAocGxhaW4gPT0gJycpIHRoaXMucGxhaW4gPSB0cnVlO1xuICB9XG5cbn1cbiIsIjxidXR0b25cbiAgW2NvbG9yXT1cImNvbG9yXCJcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFtpc1BsYWluXT1cInBsYWluXCJcbiAgW2lzUm91bmRdPVwicm91bmRcIlxuICBbaXNQaWxsXT1cInBpbGxcIlxuICBbdHlwZV09XCJ0eXBlXCJcbiAgKGZvY3VzKT1cInNldEZvY3VzZWRTdGF0ZSh0cnVlKVwiXG4gIChibHVyKT1cInNldEZvY3VzZWRTdGF0ZShmYWxzZSlcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPHNiLWljb24gW2ljb25dPVwiaWNvblwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC9zYi1pY29uPlxuPC9idXR0b24+XG4iXX0=