113 lines
13 KiB
JavaScript
113 lines
13 KiB
JavaScript
|
import { Component, HostBinding, Input, Optional } from '@angular/core';
|
||
|
import { parse, text, } from '@fortawesome/fontawesome-svg-core';
|
||
|
import { faWarnIfParentNotExist } from '../shared/errors/warn-if-parent-not-exist';
|
||
|
import { faClassList } from '../shared/utils/classlist.util';
|
||
|
import * as i0 from "@angular/core";
|
||
|
import * as i1 from "./layers.component";
|
||
|
import * as i2 from "@angular/platform-browser";
|
||
|
export class FaLayersTextComponent {
|
||
|
/**
|
||
|
* @deprecated This input was incorrectly exposed and never worked correctly. To be removed in 0.14.0.
|
||
|
*/
|
||
|
set spin(value) {
|
||
|
this.animation = value ? 'spin' : undefined;
|
||
|
}
|
||
|
/**
|
||
|
* @deprecated This input was incorrectly exposed and never worked correctly. To be removed in 0.14.0.
|
||
|
*/
|
||
|
set pulse(value) {
|
||
|
this.animation = value ? 'spin-pulse' : undefined;
|
||
|
}
|
||
|
constructor(parent, sanitizer) {
|
||
|
this.parent = parent;
|
||
|
this.sanitizer = sanitizer;
|
||
|
/**
|
||
|
* Set `class` attribute on the SVG element rendered by the component.
|
||
|
*
|
||
|
* @deprecated This input breaks view encapsulation and is not recommended.
|
||
|
* For simple cases (like colors), use `class` on the component itself, for
|
||
|
* more complex usages, explicitly opt-in to break the view encapsulation.
|
||
|
* This input is deprecated since 0.12.0 and will be removed in 0.13.0.
|
||
|
*/
|
||
|
this.classes = [];
|
||
|
faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);
|
||
|
}
|
||
|
ngOnChanges(changes) {
|
||
|
if (changes) {
|
||
|
const params = this.buildParams();
|
||
|
this.updateContent(params);
|
||
|
}
|
||
|
}
|
||
|
/**
|
||
|
* Updating params by component props.
|
||
|
*/
|
||
|
buildParams() {
|
||
|
const classOpts = {
|
||
|
flip: this.flip,
|
||
|
animation: this.animation,
|
||
|
border: this.border,
|
||
|
inverse: this.inverse,
|
||
|
size: this.size || null,
|
||
|
pull: this.pull || null,
|
||
|
rotate: this.rotate || null,
|
||
|
fixedWidth: this.fixedWidth,
|
||
|
};
|
||
|
const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;
|
||
|
return {
|
||
|
transform: parsedTransform,
|
||
|
classes: [...faClassList(classOpts), ...this.classes],
|
||
|
title: this.title,
|
||
|
styles: this.styles,
|
||
|
};
|
||
|
}
|
||
|
updateContent(params) {
|
||
|
this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(text(this.content || '', params).html.join('\n'));
|
||
|
}
|
||
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: FaLayersTextComponent, deps: [{ token: i1.FaLayersComponent, optional: true }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
||
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0", type: FaLayersTextComponent, isStandalone: true, selector: "fa-layers-text", inputs: { content: "content", title: "title", styles: "styles", classes: "classes", spin: "spin", pulse: "pulse", flip: "flip", size: "size", pull: "pull", border: "border", inverse: "inverse", rotate: "rotate", fixedWidth: "fixedWidth", transform: "transform" }, host: { properties: { "innerHTML": "this.renderedHTML" }, classAttribute: "ng-fa-layers-text" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
|
||
|
}
|
||
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0", ngImport: i0, type: FaLayersTextComponent, decorators: [{
|
||
|
type: Component,
|
||
|
args: [{
|
||
|
selector: 'fa-layers-text',
|
||
|
standalone: true,
|
||
|
template: '',
|
||
|
host: {
|
||
|
class: 'ng-fa-layers-text',
|
||
|
},
|
||
|
}]
|
||
|
}], ctorParameters: () => [{ type: i1.FaLayersComponent, decorators: [{
|
||
|
type: Optional
|
||
|
}] }, { type: i2.DomSanitizer }], propDecorators: { content: [{
|
||
|
type: Input
|
||
|
}], title: [{
|
||
|
type: Input
|
||
|
}], styles: [{
|
||
|
type: Input
|
||
|
}], classes: [{
|
||
|
type: Input
|
||
|
}], spin: [{
|
||
|
type: Input
|
||
|
}], pulse: [{
|
||
|
type: Input
|
||
|
}], flip: [{
|
||
|
type: Input
|
||
|
}], size: [{
|
||
|
type: Input
|
||
|
}], pull: [{
|
||
|
type: Input
|
||
|
}], border: [{
|
||
|
type: Input
|
||
|
}], inverse: [{
|
||
|
type: Input
|
||
|
}], rotate: [{
|
||
|
type: Input
|
||
|
}], fixedWidth: [{
|
||
|
type: Input
|
||
|
}], transform: [{
|
||
|
type: Input
|
||
|
}], renderedHTML: [{
|
||
|
type: HostBinding,
|
||
|
args: ['innerHTML']
|
||
|
}] } });
|
||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5ZXJzLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9sYXllcnMvbGF5ZXJzLXRleHQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBYSxRQUFRLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRWxHLE9BQU8sRUFFTCxLQUFLLEVBS0wsSUFBSSxHQUdMLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBVzdELE1BQU0sT0FBTyxxQkFBcUI7SUF3QmhDOztPQUVHO0lBQ0gsSUFBYSxJQUFJLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDOUMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBYSxLQUFLLENBQUMsS0FBYztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDcEQsQ0FBQztJQWVELFlBQ3NCLE1BQXlCLEVBQ3JDLFNBQXVCO1FBRFgsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDckMsY0FBUyxHQUFULFNBQVMsQ0FBYztRQXZDakM7Ozs7Ozs7V0FPRztRQUNNLFlBQU8sR0FBYyxFQUFFLENBQUM7UUFpQy9CLHNCQUFzQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxFQUFFO1lBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDTyxXQUFXO1FBQ25CLE1BQU0sU0FBUyxHQUFZO1lBQ3pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJO1lBQzNCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtTQUM1QixDQUFDO1FBRUYsTUFBTSxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFOUcsT0FBTztZQUNMLFNBQVMsRUFBRSxlQUFlO1lBQzFCLE9BQU8sRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNyRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQWtCO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7OEdBNUZVLHFCQUFxQjtrR0FBckIscUJBQXFCLHdjQUx0QixFQUFFOzsyRkFLRCxxQkFBcUI7a0JBUmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsbUJBQW1CO3FCQUMzQjtpQkFDRjs7MEJBcURJLFFBQVE7b0VBbkRGLE9BQU87c0JBQWYsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBVUcsTUFBTTtzQkFBZCxLQUFLO2dCQVVHLE9BQU87c0JBQWYsS0FBSztnQkFLTyxJQUFJO3NCQUFoQixLQUFLO2dCQU9PLEtBQUs7c0JBQWpCLEtBQUs7Z0JBSUcsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVvQixZQUFZO3NCQUFyQyxXQUFXO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPcHRpb25hbCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuaW1wb3J0IHtcbiAgRmxpcFByb3AsXG4gIHBhcnNlLFxuICBQdWxsUHJvcCxcbiAgUm90YXRlUHJvcCxcbiAgU2l6ZVByb3AsXG4gIFN0eWxlcyxcbiAgdGV4dCxcbiAgVGV4dFBhcmFtcyxcbiAgVHJhbnNmb3JtLFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xuaW1wb3J0IHsgZmFXYXJuSWZQYXJlbnROb3RFeGlzdCB9IGZyb20gJy4uL3NoYXJlZC9lcnJvcnMvd2Fybi1pZi1wYXJlbnQtbm90LWV4aXN0JztcbmltcG9ydCB7IEFuaW1hdGlvblByb3AsIEZhUHJvcHMgfSBmcm9tICcuLi9zaGFyZWQvbW9kZWxzL3Byb3BzLm1vZGVsJztcbmltcG9ydCB7IGZhQ2xhc3NMaXN0IH0gZnJvbSAnLi4vc2hhcmVkL3V0aWxzL2NsYXNzbGlzdC51dGlsJztcbmltcG9ydCB7IEZhTGF5ZXJzQ29tcG9uZW50IH0gZnJvbSAnLi9sYXllcnMuY29tcG9uZW50Jztcb
|