UNPKG

@xui/components

Version:

xUI Components for Angular

56 lines 7.26 kB
import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core'; import { CommonModule } from '@angular/common'; import { XuiIcon } from '../icon'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; export class XuiDecagram { constructor() { this.iconSize = input(65); this.icon = input.required(); this.type = input('decagram'); this.color = input('primary'); this._scale = computed(() => `scale(${this.iconSize() / 100})`); this._getIcon = computed(() => { switch (this.type()) { case 'decagram': return 'brightness_empty'; case 'circle': return 'circle'; case 'shield': return 'shield'; case 'triangle': return 'change_history'; } }); this._style = computed(() => `x-decagram-${this.color()}`); this._iconStyle = computed(() => { const ret = { 'x-decagram-icon': true }; ret[`x-decagram-${this.type()}`] = true; return ret; }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiDecagram, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.1", type: XuiDecagram, isStandalone: true, selector: "xui-decagram", inputs: { iconSize: { classPropertyName: "iconSize", publicName: "iconSize", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "x-decagram" }, ngImport: i0, template: ` <xui-icon [ngClass]="_style()" fontSet="filled" [icon]="_getIcon()"></xui-icon> <xui-icon [style.transform]="_scale()" [ngClass]="_iconStyle()" [icon]="icon()"></xui-icon> `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: XuiIcon, selector: "xui-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "icon"], exportAs: ["xuiIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XuiDecagram, decorators: [{ type: Component, args: [{ standalone: true, imports: [CommonModule, XuiIcon], selector: 'xui-decagram', changeDetection: ChangeDetectionStrategy.OnPush, template: ` <xui-icon [ngClass]="_style()" fontSet="filled" [icon]="_getIcon()"></xui-icon> <xui-icon [style.transform]="_scale()" [ngClass]="_iconStyle()" [icon]="icon()"></xui-icon> `, host: { class: 'x-decagram' } }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjYWdyYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3h1aS9zcmMvZGVjYWdyYW0vZGVjYWdyYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFlbEMsTUFBTSxPQUFPLFdBQVc7SUFieEI7UUFjRSxhQUFRLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDaEMsU0FBSSxHQUFHLEtBQUssQ0FBZSxVQUFVLENBQUMsQ0FBQztRQUN2QyxVQUFLLEdBQUcsS0FBSyxDQUFnQixTQUFTLENBQUMsQ0FBQztRQUV4QyxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDM0QsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsUUFBUSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsS0FBSyxVQUFVO29CQUNiLE9BQU8sa0JBQWtCLENBQUM7Z0JBQzVCLEtBQUssUUFBUTtvQkFDWCxPQUFPLFFBQVEsQ0FBQztnQkFDbEIsS0FBSyxRQUFRO29CQUNYLE9BQU8sUUFBUSxDQUFDO2dCQUNsQixLQUFLLFVBQVU7b0JBQ2IsT0FBTyxnQkFBZ0IsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN0RCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN6QixNQUFNLEdBQUcsR0FBaUM7Z0JBQ3hDLGlCQUFpQixFQUFFLElBQUk7YUFDeEIsQ0FBQztZQUVGLEdBQUcsQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3hDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxDQUFDLENBQUM7S0FDSjs4R0E3QlksV0FBVztrR0FBWCxXQUFXLDhsQkFSWjs7O0dBR1QsMkRBTlMsWUFBWSw2SEFBRSxPQUFPOzsyRkFXcEIsV0FBVztrQkFidkIsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQztvQkFDaEMsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxRQUFRLEVBQUU7OztHQUdUO29CQUNELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsWUFBWTtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERlY2FncmFtQ29sb3IsIERlY2FncmFtVHlwZSB9IGZyb20gJy4vZGVjYWdyYW0udHlwZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFh1aUljb24gfSBmcm9tICcuLi9pY29uJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFh1aUljb25dLFxuICBzZWxlY3RvcjogJ3h1aS1kZWNhZ3JhbScsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDx4dWktaWNvbiBbbmdDbGFzc109XCJfc3R5bGUoKVwiIGZvbnRTZXQ9XCJmaWxsZWRcIiBbaWNvbl09XCJfZ2V0SWNvbigpXCI+PC94dWktaWNvbj5cbiAgICA8eHVpLWljb24gW3N0eWxlLnRyYW5zZm9ybV09XCJfc2NhbGUoKVwiIFtuZ0NsYXNzXT1cIl9pY29uU3R5bGUoKVwiIFtpY29uXT1cImljb24oKVwiPjwveHVpLWljb24+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ3gtZGVjYWdyYW0nXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgWHVpRGVjYWdyYW0ge1xuICBpY29uU2l6ZSA9IGlucHV0PG51bWJlcj4oNjUpO1xuICBpY29uID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xuICB0eXBlID0gaW5wdXQ8RGVjYWdyYW1UeXBlPignZGVjYWdyYW0nKTtcbiAgY29sb3IgPSBpbnB1dDxEZWNhZ3JhbUNvbG9yPigncHJpbWFyeScpO1xuXG4gIF9zY2FsZSA9IGNvbXB1dGVkKCgpID0+IGBzY2FsZSgke3RoaXMuaWNvblNpemUoKSAvIDEwMH0pYCk7XG4gIF9nZXRJY29uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHN3aXRjaCAodGhpcy50eXBlKCkpIHtcbiAgICAgIGNhc2UgJ2RlY2FncmFtJzpcbiAgICAgICAgcmV0dXJuICdicmlnaHRuZXNzX2VtcHR5JztcbiAgICAgIGNhc2UgJ2NpcmNsZSc6XG4gICAgICAgIHJldHVybiAnY2lyY2xlJztcbiAgICAgIGNhc2UgJ3NoaWVsZCc6XG4gICAgICAgIHJldHVybiAnc2hpZWxkJztcbiAgICAgIGNhc2UgJ3RyaWFuZ2xlJzpcbiAgICAgICAgcmV0dXJuICdjaGFuZ2VfaGlzdG9yeSc7XG4gICAgfVxuICB9KTtcblxuICBfc3R5bGUgPSBjb21wdXRlZCgoKSA9PiBgeC1kZWNhZ3JhbS0ke3RoaXMuY29sb3IoKX1gKTtcbiAgX2ljb25TdHlsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCByZXQ6IHsgW2tsYXNzOiBzdHJpbmddOiBib29sZWFuIH0gPSB7XG4gICAgICAneC1kZWNhZ3JhbS1pY29uJzogdHJ1ZVxuICAgIH07XG5cbiAgICByZXRbYHgtZGVjYWdyYW0tJHt0aGlzLnR5cGUoKX1gXSA9IHRydWU7XG4gICAgcmV0dXJuIHJldDtcbiAgfSk7XG59XG4iXX0=