UNPKG

fundamental-ngx

Version:

SAP Fiori Fundamentals, implemented in Angular

91 lines 5.58 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef } from '@angular/core'; import { AbstractFdNgxClass } from '../utils/abstract-fd-ngx-class'; /** * @hidden * The base class for the icon component * @type {?} */ const BASE_ICON_CLASS = 'sap-icon'; /** * @hidden * Prefix for icon prop classes * @type {?} */ const PREFIX_ICON_CLASS = BASE_ICON_CLASS + '--'; /** * The directive that represents an icon. * * ```html * <fd-icon [glyph]="cart-approval" [size]="'l'"></fd-icon> * ``` */ export class IconDirective extends AbstractFdNgxClass { /** * @hidden * @param {?} elementRef */ constructor(elementRef) { super(elementRef); this.elementRef = elementRef; /** * The size of the icon * The predefined values for the input size are *xs*, *s*, *l*, and *xl*. * *size* can accept any other string, for example *xxs*, which will be translated into class *sap-icon--xxs*. */ this.size = ''; } /** * @hidden * @return {?} */ _setProperties() { if (this.glyph) { this._addClassToElement(PREFIX_ICON_CLASS + this.glyph); } if (this.size) { this._addClassToElement(PREFIX_ICON_CLASS + this.size); } } } IconDirective.decorators = [ { type: Directive, args: [{ // TODO to be discussed // tslint:disable-next-line:directive-selector selector: 'fd-icon', host: { role: 'presentation' } },] } ]; /** @nocollapse */ IconDirective.ctorParameters = () => [ { type: ElementRef } ]; IconDirective.propDecorators = { glyph: [{ type: Input }], size: [{ type: Input }] }; if (false) { /** * The glyph name * @type {?} */ IconDirective.prototype.glyph; /** * The size of the icon * The predefined values for the input size are *xs*, *s*, *l*, and *xl*. * *size* can accept any other string, for example *xxs*, which will be translated into class *sap-icon--xxs*. * @type {?} */ IconDirective.prototype.size; /** * @type {?} * @private */ IconDirective.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9mdW5kYW1lbnRhbC1uZ3gvIiwic291cmNlcyI6WyJsaWIvaWNvbi9pY29uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7TUFNOUQsZUFBZSxHQUFHLFVBQVU7Ozs7OztNQU01QixpQkFBaUIsR0FBRyxlQUFlLEdBQUcsSUFBSTs7Ozs7Ozs7QUFpQmhELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCOzs7OztJQXdCakQsWUFBb0IsVUFBc0I7UUFDdEMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBREYsZUFBVSxHQUFWLFVBQVUsQ0FBWTs7Ozs7O1FBZGpDLFNBQUksR0FBVyxFQUFFLENBQUM7SUFnQjNCLENBQUM7Ozs7O0lBYkQsY0FBYztRQUNWLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNaLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0Q7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFEO0lBQ0wsQ0FBQzs7O1lBN0JKLFNBQVMsU0FBQzs7O2dCQUdQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQixJQUFJLEVBQUU7b0JBQ0YsSUFBSSxFQUFFLGNBQWM7aUJBQ3ZCO2FBQ0o7Ozs7WUE3QjBCLFVBQVU7OztvQkFpQ2hDLEtBQUs7bUJBT0wsS0FBSzs7Ozs7OztJQVBOLDhCQUFlOzs7Ozs7O0lBT2YsNkJBQTJCOzs7OztJQWNmLG1DQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIEVsZW1lbnRSZWYsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RGZE5neENsYXNzIH0gZnJvbSAnLi4vdXRpbHMvYWJzdHJhY3QtZmQtbmd4LWNsYXNzJztcblxuLyoqIFxuICogQGhpZGRlblxuICogVGhlIGJhc2UgY2xhc3MgZm9yIHRoZSBpY29uIGNvbXBvbmVudCBcbiAqL1xuY29uc3QgQkFTRV9JQ09OX0NMQVNTID0gJ3NhcC1pY29uJztcblxuLyoqIFxuICogQGhpZGRlblxuICogUHJlZml4IGZvciBpY29uIHByb3AgY2xhc3NlcyBcbiAqL1xuY29uc3QgUFJFRklYX0lDT05fQ0xBU1MgPSBCQVNFX0lDT05fQ0xBU1MgKyAnLS0nO1xuXG4vKipcbiAqIFRoZSBkaXJlY3RpdmUgdGhhdCByZXByZXNlbnRzIGFuIGljb24uIFxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1pY29uIFtnbHlwaF09XCJjYXJ0LWFwcHJvdmFsXCIgW3NpemVdPVwiJ2wnXCI+PC9mZC1pY29uPlxuICogYGBgXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIFRPRE8gdG8gYmUgZGlzY3Vzc2VkXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnZmQtaWNvbicsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgSWNvbkRpcmVjdGl2ZSBleHRlbmRzIEFic3RyYWN0RmROZ3hDbGFzcyB7XG4gICAgXG4gICAgLyoqIFRoZSBnbHlwaCBuYW1lICovXG4gICAgQElucHV0KCkgZ2x5cGg7XG5cbiAgICAvKiogXG4gICAgICogVGhlIHNpemUgb2YgdGhlIGljb25cbiAgICAgKiBUaGUgcHJlZGVmaW5lZCB2YWx1ZXMgZm9yIHRoZSBpbnB1dCBzaXplIGFyZSAqeHMqLCAqcyosICpsKiwgYW5kICp4bCouXG4gICAgICogKnNpemUqIGNhbiBhY2NlcHQgYW55IG90aGVyIHN0cmluZywgZm9yIGV4YW1wbGUgKnh4cyosIHdoaWNoIHdpbGwgYmUgdHJhbnNsYXRlZCBpbnRvIGNsYXNzICpzYXAtaWNvbi0teHhzKi5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaXplOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX3NldFByb3BlcnRpZXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmdseXBoKSB7XG4gICAgICAgICAgICB0aGlzLl9hZGRDbGFzc1RvRWxlbWVudChQUkVGSVhfSUNPTl9DTEFTUyArIHRoaXMuZ2x5cGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5fYWRkQ2xhc3NUb0VsZW1lbnQoUFJFRklYX0lDT05fQ0xBU1MgKyB0aGlzLnNpemUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgc3VwZXIoZWxlbWVudFJlZik7XG4gICAgfVxufVxuIl19