UNPKG

@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>

86 lines 5.25 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, HostBinding } from '@angular/core'; import { iconDefs } from './icon-defs'; import { DomSanitizer } from '@angular/platform-browser'; export class Icon { /** * @param {?} sanitizer */ constructor(sanitizer) { this.sanitizer = sanitizer; this.baseClass = true; this.size = 16; } /** * @param {?} value * @return {?} */ set icon(value) { this._icon = value; this.getIconDef(); } /** * @return {?} */ get icon() { return this._icon; } /** * @private * @return {?} */ getIconDef() { /** @type {?} */ const iconDefinition = iconDefs.filter((/** * @param {?} iconDef * @return {?} */ iconDef => iconDef.name === this._icon))[0]; if (!iconDefinition) { throw new Error(`Cant find '${this._icon}' icon.`); } this.content = this.sanitizer.bypassSecurityTrustHtml(iconDefinition.template); } } Icon.decorators = [ { type: Component, args: [{ selector: 'suka-icon', template: ` <span [innerHTML]="content"></span> ` }] } ]; /** @nocollapse */ Icon.ctorParameters = () => [ { type: DomSanitizer } ]; Icon.propDecorators = { baseClass: [{ type: HostBinding, args: ['class.suka-icon',] }], accessibilityLabel: [{ type: HostBinding, args: ['attr.aria-label',] }, { type: Input }], size: [{ type: Input }], icon: [{ type: Input }] }; if (false) { /** * @type {?} * @protected */ Icon.prototype._icon; /** @type {?} */ Icon.prototype.content; /** @type {?} */ Icon.prototype.baseClass; /** @type {?} */ Icon.prototype.accessibilityLabel; /** @type {?} */ Icon.prototype.size; /** * @type {?} * @private */ Icon.prototype.sanitizer; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvaWNvbi9pY29uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBUW5FLE1BQU0sT0FBTyxJQUFJOzs7O0lBbUJmLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFkWCxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBR3hDLFNBQUksR0FBc0IsRUFBRSxDQUFDO0lBV1EsQ0FBQzs7Ozs7SUFWL0MsSUFDSSxJQUFJLENBQUMsS0FBZTtRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7OztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7OztJQUlPLFVBQVU7O2NBQ1YsY0FBYyxHQUFHLFFBQVEsQ0FBQyxNQUFNOzs7O1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUM7U0FDcEQ7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7OztZQWpDRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLFFBQVEsRUFBRTs7R0FFVDthQUNGOzs7O1lBUFEsWUFBWTs7O3dCQWFsQixXQUFXLFNBQUMsaUJBQWlCO2lDQUU3QixXQUFXLFNBQUMsaUJBQWlCLGNBQUcsS0FBSzttQkFDckMsS0FBSzttQkFDTCxLQUFLOzs7Ozs7O0lBUE4scUJBQTBCOztJQUMxQix1QkFBa0I7O0lBRWxCLHlCQUFpRDs7SUFFakQsa0NBQW9FOztJQUNwRSxvQkFBc0M7Ozs7O0lBVzFCLHlCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBJY29uVHlwZSB9IGZyb20gJy4vaWNvbi10eXBlcyc7XG5pbXBvcnQgeyBpY29uRGVmcyB9IGZyb20gJy4vaWNvbi1kZWZzJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3VrYS1pY29uJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImNvbnRlbnRcIj48L3NwYW4+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgSWNvbiB7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdmFyaWFibGUtbmFtZVxuICBwcm90ZWN0ZWQgX2ljb246IEljb25UeXBlO1xuICBjb250ZW50OiBTYWZlSHRtbDtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnN1a2EtaWNvbicpIGJhc2VDbGFzcyA9IHRydWU7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKSBASW5wdXQoKSBhY2Nlc3NpYmlsaXR5TGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogMTYgfCAyMCB8IDI0IHwgMzIgPSAxNjtcbiAgQElucHV0KClcbiAgc2V0IGljb24odmFsdWU6IEljb25UeXBlKSB7XG4gICAgdGhpcy5faWNvbiA9IHZhbHVlO1xuICAgIHRoaXMuZ2V0SWNvbkRlZigpO1xuICB9XG5cbiAgZ2V0IGljb24oKTogSWNvblR5cGUge1xuICAgIHJldHVybiB0aGlzLl9pY29uO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICBwcml2YXRlIGdldEljb25EZWYoKTogdm9pZCB7XG4gICAgY29uc3QgaWNvbkRlZmluaXRpb24gPSBpY29uRGVmcy5maWx0ZXIoaWNvbkRlZiA9PiBpY29uRGVmLm5hbWUgPT09IHRoaXMuX2ljb24pWzBdO1xuICAgIGlmICghaWNvbkRlZmluaXRpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FudCBmaW5kICcke3RoaXMuX2ljb259JyBpY29uLmApO1xuICAgIH1cbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChpY29uRGVmaW5pdGlvbi50ZW1wbGF0ZSk7XG4gIH1cbn1cbiJdfQ==