angular-techs-logos 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -3,10 +3,8 @@ import { techs } from './techs-svg/techs-data';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
export class AngularTechsLogosComponent {
|
|
6
|
-
constructor(
|
|
7
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
6
|
+
constructor(cdr) {
|
|
8
7
|
this.cdr = cdr;
|
|
9
|
-
this.injector = injector;
|
|
10
8
|
this.techs = techs;
|
|
11
9
|
}
|
|
12
10
|
ngOnInit() {
|
|
@@ -48,19 +46,22 @@ export class AngularTechsLogosComponent {
|
|
|
48
46
|
}
|
|
49
47
|
loadIcon(icon) {
|
|
50
48
|
if (icon) {
|
|
49
|
+
console.log("test icon:", icon);
|
|
51
50
|
this.iconContainer.clear();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.
|
|
51
|
+
this.iconContainer.createComponent(icon);
|
|
52
|
+
console.log("test this.iconContainer:", this.iconContainer);
|
|
53
|
+
// const componentFactory = this.componentFactoryResolver.resolveComponentFactory(icon);
|
|
54
|
+
// const componentRef: ComponentRef<any> = componentFactory.create(this.injector);
|
|
55
|
+
// this.iconContainer.insert(componentRef.hostView);
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, deps: [{ token: i0.
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
59
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AngularTechsLogosComponent, selector: "lib-angular-techs-logos", inputs: { list: "list", name: "name", size: "size", label: "label", hiddenLabel: "hiddenLabel", class: "class", hiddenLogos: "hiddenLogos" }, viewQueries: [{ propertyName: "iconContainer", first: true, predicate: ["iconContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"techs\" [ngClass]=\"class\">\n <ng-container *ngIf=\"name && getTech(name) && !list\">\n <figure\n class=\"tech-container\"\n [ngClass]=\"[class, getTech(name)?.name?.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ label ? label : getTech(name)?.name }}\n </figcaption>\n </figure>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <figure\n class=\"tech-container\"\n *ngFor=\"let tech of techs\"\n [ngClass]=\"[tech.name.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n [attr.key]=\"tech.name\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ tech.name }}\n </figcaption>\n </figure>\n </ng-container>\n</div>\n", styles: [".techs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.techs .title{width:100%;text-align:center;margin-top:2rem}figure.tech-container{background:transparent;border:1px solid var(--vtl-background);border-radius:100px;width:120px!important;height:120px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:.3s all}figure.tech-container:hover{background:var(--vtl-background);border-color:var(--vtl-background);transform:scale(1.1)}figure.tech-container svg{height:50px;margin-bottom:.2rem}figure{position:relative;text-align:center;margin:.2rem}figure figcaption{font-size:.7rem}figure figcaption.tooltip{position:absolute;bottom:2%;background:var(--vtl-background-tooltip);box-shadow:0 4px 10px var(--vtl-shadow-tooltip);padding:.2rem .5rem;border-radius:5px;pointer-events:none;opacity:0;transition:.3s all;color:#fff}figure:hover figcaption.tooltip{opacity:1;pointer-events:all}body{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}body.darkmode{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}@media (prefers-color-scheme: light){:root{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}}@media (prefers-color-scheme: dark){:root{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
59
60
|
}
|
|
60
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, decorators: [{
|
|
61
62
|
type: Component,
|
|
62
63
|
args: [{ selector: 'lib-angular-techs-logos', template: "<div class=\"techs\" [ngClass]=\"class\">\n <ng-container *ngIf=\"name && getTech(name) && !list\">\n <figure\n class=\"tech-container\"\n [ngClass]=\"[class, getTech(name)?.name?.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ label ? label : getTech(name)?.name }}\n </figcaption>\n </figure>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <figure\n class=\"tech-container\"\n *ngFor=\"let tech of techs\"\n [ngClass]=\"[tech.name.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n [attr.key]=\"tech.name\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ tech.name }}\n </figcaption>\n </figure>\n </ng-container>\n</div>\n", styles: [".techs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.techs .title{width:100%;text-align:center;margin-top:2rem}figure.tech-container{background:transparent;border:1px solid var(--vtl-background);border-radius:100px;width:120px!important;height:120px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:.3s all}figure.tech-container:hover{background:var(--vtl-background);border-color:var(--vtl-background);transform:scale(1.1)}figure.tech-container svg{height:50px;margin-bottom:.2rem}figure{position:relative;text-align:center;margin:.2rem}figure figcaption{font-size:.7rem}figure figcaption.tooltip{position:absolute;bottom:2%;background:var(--vtl-background-tooltip);box-shadow:0 4px 10px var(--vtl-shadow-tooltip);padding:.2rem .5rem;border-radius:5px;pointer-events:none;opacity:0;transition:.3s all;color:#fff}figure:hover figcaption.tooltip{opacity:1;pointer-events:all}body{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}body.darkmode{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}@media (prefers-color-scheme: light){:root{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}}@media (prefers-color-scheme: dark){:root{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}}\n"] }]
|
|
63
|
-
}], ctorParameters: () => [{ type: i0.
|
|
64
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { list: [{
|
|
64
65
|
type: Input
|
|
65
66
|
}], name: [{
|
|
66
67
|
type: Input
|
|
@@ -78,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
78
79
|
type: ViewChild,
|
|
79
80
|
args: ['iconContainer', { read: ViewContainerRef }]
|
|
80
81
|
}] } });
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10ZWNocy1sb2dvcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRlY2hzLWxvZ29zL3NyYy9saWIvYW5ndWxhci10ZWNocy1sb2dvcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLXRlY2hzLWxvZ29zL3NyYy9saWIvYW5ndWxhci10ZWNocy1sb2dvcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFJTCxTQUFTLEVBQ1QsZ0JBQWdCLEVBSWpCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBWS9DLE1BQU0sT0FBTywwQkFBMEI7SUFhckMsWUFDVSxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUhoQyxVQUFLLEdBQVcsS0FBSyxDQUFDO0lBSW5CLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLFdBQVc7UUFDakIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQztJQUVPLFFBQVEsQ0FBQyxLQUFlO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBZTtRQUNqQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFTyxRQUFRLENBQUMsSUFBZTtRQUM5QixJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQTtZQUMzRCx3RkFBd0Y7WUFDeEYsa0ZBQWtGO1lBQ2xGLG9EQUFvRDtRQUN0RCxDQUFDO0lBQ0gsQ0FBQzs4R0FyRVUsMEJBQTBCO2tHQUExQiwwQkFBMEIsd1NBU0QsZ0JBQWdCLGtEQ2xDdEQsbTZCQTRCQTs7MkZESGEsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHlCQUF5QjtzRkFLMUIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWtELGFBQWE7c0JBQXBFLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVHlwZSxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IHRlY2hzIH0gZnJvbSAnLi90ZWNocy1zdmcvdGVjaHMtZGF0YSc7XG5cbmludGVyZmFjZSBUZWNoIHtcbiAgbmFtZTogc3RyaW5nO1xuICBpY29uOiBUeXBlPGFueT47XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbmd1bGFyLXRlY2hzLWxvZ29zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItdGVjaHMtbG9nb3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9hbmd1bGFyLXRlY2hzLWxvZ29zLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhclRlY2hzTG9nb3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gIEBJbnB1dCgpIGxpc3Q6IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIHNpemU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgaGlkZGVuTGFiZWw6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGhpZGRlbkxvZ29zOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcblxuICBAVmlld0NoaWxkKCdpY29uQ29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGljb25Db250YWluZXIhOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIHRlY2hzOiBUZWNoW10gPSB0ZWNocztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlVGVjaHMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlc1snbGlzdCddIHx8IGNoYW5nZXNbJ2hpZGRlbkxvZ29zJ10pIHtcbiAgICAgIHRoaXMudXBkYXRlVGVjaHMoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubmFtZSkge1xuICAgICAgY29uc3QgdGVjaCA9IHRoaXMuZ2V0VGVjaCh0aGlzLm5hbWUpO1xuICAgICAgaWYgKHRlY2gpIHtcbiAgICAgICAgdGhpcy5sb2FkSWNvbih0ZWNoLmljb24pO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVRlY2hzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3QpIHtcbiAgICAgIHRoaXMudGVjaHMgPSB0aGlzLmdldFRlY2hzKHRoaXMubGlzdCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhpZGRlbkxvZ29zKSB7XG4gICAgICB0aGlzLnRlY2hzID0gdGhpcy5oaWRkZW5UZWNocyh0aGlzLmhpZGRlbkxvZ29zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50ZWNocyA9IHRoaXMudGVjaHM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldFRlY2gobmFtZTogc3RyaW5nKTogVGVjaCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMudGVjaHMuZmluZChpdGVtID0+IGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUZWNocyhpdGVtczogc3RyaW5nW10pOiBUZWNoW10ge1xuICAgIHJldHVybiB0aGlzLnRlY2hzLmZpbHRlcih0ZWNoID0+IGl0ZW1zLnNvbWUoaXRlbSA9PiB0ZWNoLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gaXRlbS50b0xvd2VyQ2FzZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGhpZGRlblRlY2hzKGl0ZW1zOiBzdHJpbmdbXSk6IFRlY2hbXSB7XG4gICAgcmV0dXJuIHRoaXMudGVjaHMuZmlsdGVyKHRlY2ggPT4gIWl0ZW1zLmluY2x1ZGVzKHRlY2gubmFtZS50b0xvd2VyQ2FzZSgpKSk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRJY29uKGljb246IFR5cGU8YW55Pik6IHZvaWQge1xuICAgIGlmIChpY29uKSB7XG4gICAgICBjb25zb2xlLmxvZyhcInRlc3QgaWNvbjpcIiwgaWNvbilcbiAgICAgIHRoaXMuaWNvbkNvbnRhaW5lci5jbGVhcigpO1xuICAgICAgdGhpcy5pY29uQ29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChpY29uKVxuICAgICAgY29uc29sZS5sb2coXCJ0ZXN0IHRoaXMuaWNvbkNvbnRhaW5lcjpcIiwgdGhpcy5pY29uQ29udGFpbmVyKVxuICAgICAgLy8gY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGljb24pO1xuICAgICAgLy8gY29uc3QgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PiA9IGNvbXBvbmVudEZhY3RvcnkuY3JlYXRlKHRoaXMuaW5qZWN0b3IpO1xuICAgICAgLy8gdGhpcy5pY29uQ29udGFpbmVyLmluc2VydChjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRlY2hzXCIgW25nQ2xhc3NdPVwiY2xhc3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hbWUgJiYgZ2V0VGVjaChuYW1lKSAmJiAhbGlzdFwiPlxuICAgIDxmaWd1cmVcbiAgICAgIGNsYXNzPVwidGVjaC1jb250YWluZXJcIlxuICAgICAgW25nQ2xhc3NdPVwiW2NsYXNzLCBnZXRUZWNoKG5hbWUpPy5uYW1lPy50b0xvd2VyQ2FzZSgpXVwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwic2l6ZSA/IHNpemUgOiAnMTAwcHgnXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICNpY29uQ29udGFpbmVyPjwvbmctY29udGFpbmVyPlxuICAgICAgPGZpZ2NhcHRpb24gW25nQ2xhc3NdPVwieyB0b29sdGlwOiBoaWRkZW5MYWJlbCB9XCI+XG4gICAgICAgIHt7IGxhYmVsID8gbGFiZWwgOiBnZXRUZWNoKG5hbWUpPy5uYW1lIH19XG4gICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgPC9maWd1cmU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwibGlzdFwiPlxuICAgIDxmaWd1cmVcbiAgICAgIGNsYXNzPVwidGVjaC1jb250YWluZXJcIlxuICAgICAgKm5nRm9yPVwibGV0IHRlY2ggb2YgdGVjaHNcIlxuICAgICAgW25nQ2xhc3NdPVwiW3RlY2gubmFtZS50b0xvd2VyQ2FzZSgpXVwiXG4gICAgICBbc3R5bGUud2lkdGhdPVwic2l6ZSA/IHNpemUgOiAnMTAwcHgnXCJcbiAgICAgIFthdHRyLmtleV09XCJ0ZWNoLm5hbWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgI2ljb25Db250YWluZXI+PC9uZy1jb250YWluZXI+XG4gICAgICA8ZmlnY2FwdGlvbiBbbmdDbGFzc109XCJ7IHRvb2x0aXA6IGhpZGRlbkxhYmVsIH1cIj5cbiAgICAgICAge3sgdGVjaC5uYW1lIH19XG4gICAgICA8L2ZpZ2NhcHRpb24+XG4gICAgPC9maWd1cmU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4iXX0=
|
|
@@ -1280,10 +1280,8 @@ const techs = [
|
|
|
1280
1280
|
];
|
|
1281
1281
|
|
|
1282
1282
|
class AngularTechsLogosComponent {
|
|
1283
|
-
constructor(
|
|
1284
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
1283
|
+
constructor(cdr) {
|
|
1285
1284
|
this.cdr = cdr;
|
|
1286
|
-
this.injector = injector;
|
|
1287
1285
|
this.techs = techs;
|
|
1288
1286
|
}
|
|
1289
1287
|
ngOnInit() {
|
|
@@ -1325,19 +1323,22 @@ class AngularTechsLogosComponent {
|
|
|
1325
1323
|
}
|
|
1326
1324
|
loadIcon(icon) {
|
|
1327
1325
|
if (icon) {
|
|
1326
|
+
console.log("test icon:", icon);
|
|
1328
1327
|
this.iconContainer.clear();
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
this.
|
|
1328
|
+
this.iconContainer.createComponent(icon);
|
|
1329
|
+
console.log("test this.iconContainer:", this.iconContainer);
|
|
1330
|
+
// const componentFactory = this.componentFactoryResolver.resolveComponentFactory(icon);
|
|
1331
|
+
// const componentRef: ComponentRef<any> = componentFactory.create(this.injector);
|
|
1332
|
+
// this.iconContainer.insert(componentRef.hostView);
|
|
1332
1333
|
}
|
|
1333
1334
|
}
|
|
1334
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, deps: [{ token: i0.
|
|
1335
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1335
1336
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: AngularTechsLogosComponent, selector: "lib-angular-techs-logos", inputs: { list: "list", name: "name", size: "size", label: "label", hiddenLabel: "hiddenLabel", class: "class", hiddenLogos: "hiddenLogos" }, viewQueries: [{ propertyName: "iconContainer", first: true, predicate: ["iconContainer"], descendants: true, read: ViewContainerRef }], usesOnChanges: true, ngImport: i0, template: "<div class=\"techs\" [ngClass]=\"class\">\n <ng-container *ngIf=\"name && getTech(name) && !list\">\n <figure\n class=\"tech-container\"\n [ngClass]=\"[class, getTech(name)?.name?.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ label ? label : getTech(name)?.name }}\n </figcaption>\n </figure>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <figure\n class=\"tech-container\"\n *ngFor=\"let tech of techs\"\n [ngClass]=\"[tech.name.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n [attr.key]=\"tech.name\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ tech.name }}\n </figcaption>\n </figure>\n </ng-container>\n</div>\n", styles: [".techs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.techs .title{width:100%;text-align:center;margin-top:2rem}figure.tech-container{background:transparent;border:1px solid var(--vtl-background);border-radius:100px;width:120px!important;height:120px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:.3s all}figure.tech-container:hover{background:var(--vtl-background);border-color:var(--vtl-background);transform:scale(1.1)}figure.tech-container svg{height:50px;margin-bottom:.2rem}figure{position:relative;text-align:center;margin:.2rem}figure figcaption{font-size:.7rem}figure figcaption.tooltip{position:absolute;bottom:2%;background:var(--vtl-background-tooltip);box-shadow:0 4px 10px var(--vtl-shadow-tooltip);padding:.2rem .5rem;border-radius:5px;pointer-events:none;opacity:0;transition:.3s all;color:#fff}figure:hover figcaption.tooltip{opacity:1;pointer-events:all}body{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}body.darkmode{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}@media (prefers-color-scheme: light){:root{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}}@media (prefers-color-scheme: dark){:root{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
1336
1337
|
}
|
|
1337
1338
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: AngularTechsLogosComponent, decorators: [{
|
|
1338
1339
|
type: Component,
|
|
1339
1340
|
args: [{ selector: 'lib-angular-techs-logos', template: "<div class=\"techs\" [ngClass]=\"class\">\n <ng-container *ngIf=\"name && getTech(name) && !list\">\n <figure\n class=\"tech-container\"\n [ngClass]=\"[class, getTech(name)?.name?.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ label ? label : getTech(name)?.name }}\n </figcaption>\n </figure>\n </ng-container>\n <ng-container *ngIf=\"list\">\n <figure\n class=\"tech-container\"\n *ngFor=\"let tech of techs\"\n [ngClass]=\"[tech.name.toLowerCase()]\"\n [style.width]=\"size ? size : '100px'\"\n [attr.key]=\"tech.name\"\n >\n <ng-container #iconContainer></ng-container>\n <figcaption [ngClass]=\"{ tooltip: hiddenLabel }\">\n {{ tech.name }}\n </figcaption>\n </figure>\n </ng-container>\n</div>\n", styles: [".techs{display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.techs .title{width:100%;text-align:center;margin-top:2rem}figure.tech-container{background:transparent;border:1px solid var(--vtl-background);border-radius:100px;width:120px!important;height:120px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:.3s all}figure.tech-container:hover{background:var(--vtl-background);border-color:var(--vtl-background);transform:scale(1.1)}figure.tech-container svg{height:50px;margin-bottom:.2rem}figure{position:relative;text-align:center;margin:.2rem}figure figcaption{font-size:.7rem}figure figcaption.tooltip{position:absolute;bottom:2%;background:var(--vtl-background-tooltip);box-shadow:0 4px 10px var(--vtl-shadow-tooltip);padding:.2rem .5rem;border-radius:5px;pointer-events:none;opacity:0;transition:.3s all;color:#fff}figure:hover figcaption.tooltip{opacity:1;pointer-events:all}body{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}body.darkmode{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}@media (prefers-color-scheme: light){:root{--vtl-background: rgba(0,0,0, .05);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #000;--vtl-background-svg: #000;--vtl-background-svg-invert: #fff;--vtl-background-gradient: linear-gradient(228deg, rgba(238,238,238,1) 0%, rgba(255,255,255,1) 60%)}}@media (prefers-color-scheme: dark){:root{--vtl-background: rgba(0,0,0, .5);--vtl-background-tooltip: #444;--vtl-shadow-tooltip: rgba(0,0,0,.2);--vtl-text: #fff;--vtl-background-svg: #fff;--vtl-background-svg-invert: #000;--vtl-background-gradient: linear-gradient(228deg, rgb(24, 24, 24) 0%, rgb(38, 38, 38) 60%)}}\n"] }]
|
|
1340
|
-
}], ctorParameters: () => [{ type: i0.
|
|
1341
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { list: [{
|
|
1341
1342
|
type: Input
|
|
1342
1343
|
}], name: [{
|
|
1343
1344
|
type: Input
|