@lluc_llull/ui-lib 0.33.5 → 0.33.6

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.
Files changed (25) hide show
  1. package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs +1 -1
  2. package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs.map +1 -1
  3. package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs +1 -1
  4. package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs.map +1 -1
  5. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs +1 -1
  6. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs.map +1 -1
  7. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs +1 -1
  8. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs.map +1 -1
  9. package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs +1 -1
  10. package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs.map +1 -1
  11. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs +1 -1
  12. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs.map +1 -1
  13. package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs +1 -1
  14. package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs.map +1 -1
  15. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs +1 -1
  16. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs.map +1 -1
  17. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs +1 -1
  18. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs.map +1 -1
  19. package/fesm2022/lluc_llull-ui-lib-content.mjs +9 -9
  20. package/fesm2022/lluc_llull-ui-lib-content.mjs.map +1 -1
  21. package/fesm2022/lluc_llull-ui-lib-shared.mjs +28 -12
  22. package/fesm2022/lluc_llull-ui-lib-shared.mjs.map +1 -1
  23. package/package.json +9 -9
  24. package/shared/ui-icon/ui-icon.component.d.ts +2 -1
  25. package/shared/ui-image/ui-image.component.d.ts +4 -1
@@ -1,9 +1,8 @@
1
- import * as i1 from '@angular/common';
2
1
  import { CommonModule } from '@angular/common';
3
2
  import * as i0 from '@angular/core';
4
- import { Input, Component, Optional, Inject } from '@angular/core';
3
+ import { Input, Component, HostBinding, Optional, Inject } from '@angular/core';
5
4
  import * as simpleIcons from 'simple-icons';
6
- import * as i2 from 'lucide-angular';
5
+ import * as i1 from 'lucide-angular';
7
6
  import { LucideAngularModule } from 'lucide-angular';
8
7
  import * as i1$1 from '@cloudinary/ng';
9
8
  import { responsive, lazyload, CloudinaryModule } from '@cloudinary/ng';
@@ -20,7 +19,7 @@ class UiIconComponent {
20
19
  color = 'currentColor';
21
20
  icon;
22
21
  ngOnChanges() {
23
- this.icon = this.resolveBrandIcon();
22
+ this.resolveBrandIcon();
24
23
  }
25
24
  get isBrandIcon() {
26
25
  return !!this.icon;
@@ -29,17 +28,19 @@ class UiIconComponent {
29
28
  return this.icon ?? null;
30
29
  }
31
30
  resolveBrandIcon() {
32
- if (!this.name)
33
- return null;
31
+ if (!this.name) {
32
+ this.icon = null;
33
+ return;
34
+ }
34
35
  const key = 'si' + this.name.replace(/[^a-z0-9]/gi, '').replace(/^\w/, (c) => c.toUpperCase());
35
- return simpleIcons[key] ?? null;
36
+ this.icon = simpleIcons[key] ?? null;
36
37
  }
37
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UiIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
38
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: UiIconComponent, isStandalone: true, selector: "ui-icon", inputs: { name: "name", size: "size", color: "color" }, usesOnChanges: true, ngImport: i0, template: "<!-- SimpleIcons -->\n<ng-container *ngIf=\"isBrandIcon; else lucideIcon\">\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n</ng-container>\n\n<!-- Lucide -->\n<ng-template #lucideIcon>\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n</ng-template>\n", styles: [".ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ui-icon--brand svg{display:block;width:100%!important;height:100%!important}.ui-icon--lucide{display:inline-flex}.ui-icon--lucide svg{display:block;width:100%!important;height:100%!important;min-width:1em;min-height:1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i2.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }] });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: UiIconComponent, isStandalone: true, selector: "ui-icon", inputs: { name: "name", size: "size", color: "color" }, usesOnChanges: true, ngImport: i0, template: "@if (isBrandIcon) {\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n} @else {\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n}\n", styles: [".ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ui-icon--brand svg{display:block;width:100%!important;height:100%!important}.ui-icon--lucide{display:inline-flex}.ui-icon--lucide svg{display:block;width:100%!important;height:100%!important;min-width:1em;min-height:1em}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: LucideAngularModule }, { kind: "component", type: i1.LucideAngularComponent, selector: "lucide-angular, lucide-icon, i-lucide, span-lucide", inputs: ["class", "name", "img", "color", "absoluteStrokeWidth", "size", "strokeWidth"] }] });
39
40
  }
40
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UiIconComponent, decorators: [{
41
42
  type: Component,
42
- args: [{ selector: 'ui-icon', standalone: true, imports: [CommonModule, LucideAngularModule], template: "<!-- SimpleIcons -->\n<ng-container *ngIf=\"isBrandIcon; else lucideIcon\">\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n</ng-container>\n\n<!-- Lucide -->\n<ng-template #lucideIcon>\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n</ng-template>\n", styles: [".ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ui-icon--brand svg{display:block;width:100%!important;height:100%!important}.ui-icon--lucide{display:inline-flex}.ui-icon--lucide svg{display:block;width:100%!important;height:100%!important;min-width:1em;min-height:1em}\n"] }]
43
+ args: [{ selector: 'ui-icon', standalone: true, imports: [CommonModule, LucideAngularModule], template: "@if (isBrandIcon) {\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n} @else {\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n}\n", styles: [".ui-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0}.ui-icon--brand svg{display:block;width:100%!important;height:100%!important}.ui-icon--lucide{display:inline-flex}.ui-icon--lucide svg{display:block;width:100%!important;height:100%!important;min-width:1em;min-height:1em}\n"] }]
43
44
  }], propDecorators: { name: [{
44
45
  type: Input
45
46
  }], size: [{
@@ -76,6 +77,8 @@ class UiImageComponent {
76
77
  cloudName;
77
78
  transformations;
78
79
  eager = false;
80
+ width;
81
+ height;
79
82
  img;
80
83
  plugins = [];
81
84
  constructor(globalCloudName) {
@@ -87,13 +90,19 @@ class UiImageComponent {
87
90
  ngOnChanges() {
88
91
  this.initImage();
89
92
  }
93
+ get aspectRatioStyle() {
94
+ if (this.width && this.height) {
95
+ return `${this.width} / ${this.height}`;
96
+ }
97
+ return null;
98
+ }
90
99
  initImage() {
91
100
  const activeCloudName = this.cloudName || this.globalCloudName;
92
101
  if (this.publicId && activeCloudName) {
93
102
  this.img = new CloudinaryImage(this.publicId, { cloudName: activeCloudName })
94
103
  .delivery(format(auto()))
95
104
  .delivery(quality(auto$1()))
96
- .resize(limitFit().width(1920)); // Límite máximo para SSG
105
+ .resize(limitFit().width(1920));
97
106
  this.plugins = [responsive({ steps: 200 })];
98
107
  if (!this.eager) {
99
108
  this.plugins.push(lazyload());
@@ -104,11 +113,11 @@ class UiImageComponent {
104
113
  }
105
114
  }
106
115
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UiImageComponent, deps: [{ token: CLOUDINARY_CLOUD_NAME, optional: true }], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: UiImageComponent, isStandalone: true, selector: "ui-image", inputs: { publicId: "publicId", cloudName: "cloudName", transformations: "transformations", eager: "eager" }, usesOnChanges: true, ngImport: i0, template: "@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n", styles: [":host{display:inline-block;max-width:100%}:host advanced-image,:host>img{display:block;width:100%;height:100%;object-fit:inherit;border-radius:inherit}:host advanced-image ::ng-deep img,:host>img ::ng-deep img{width:100%;height:100%;object-fit:inherit;border-radius:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CloudinaryModule }, { kind: "component", type: i1$1.CloudinaryImageComponent, selector: "advanced-image", inputs: ["cldImg", "plugins", "alt", "width", "height", "loading"] }] });
116
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: UiImageComponent, isStandalone: true, selector: "ui-image", inputs: { publicId: "publicId", cloudName: "cloudName", transformations: "transformations", eager: "eager", width: "width", height: "height" }, host: { properties: { "style.--ui-image-ratio": "this.aspectRatioStyle" } }, usesOnChanges: true, ngImport: i0, template: "@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\"\n [attr.width]=\"width ?? null\" [attr.height]=\"height ?? null\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n", styles: [":host{display:inline-block;max-width:100%;aspect-ratio:var(--ui-image-ratio, auto)}:host advanced-image,:host>img{display:block;width:100%;height:100%;object-fit:inherit;border-radius:inherit}:host advanced-image ::ng-deep img,:host>img ::ng-deep img{width:100%;height:100%;object-fit:inherit;border-radius:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CloudinaryModule }, { kind: "component", type: i1$1.CloudinaryImageComponent, selector: "advanced-image", inputs: ["cldImg", "plugins", "alt", "width", "height", "loading"] }] });
108
117
  }
109
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: UiImageComponent, decorators: [{
110
119
  type: Component,
111
- args: [{ selector: 'ui-image', standalone: true, imports: [CommonModule, CloudinaryModule], template: "@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n", styles: [":host{display:inline-block;max-width:100%}:host advanced-image,:host>img{display:block;width:100%;height:100%;object-fit:inherit;border-radius:inherit}:host advanced-image ::ng-deep img,:host>img ::ng-deep img{width:100%;height:100%;object-fit:inherit;border-radius:inherit}\n"] }]
120
+ args: [{ selector: 'ui-image', standalone: true, imports: [CommonModule, CloudinaryModule], template: "@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\"\n [attr.width]=\"width ?? null\" [attr.height]=\"height ?? null\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n", styles: [":host{display:inline-block;max-width:100%;aspect-ratio:var(--ui-image-ratio, auto)}:host advanced-image,:host>img{display:block;width:100%;height:100%;object-fit:inherit;border-radius:inherit}:host advanced-image ::ng-deep img,:host>img ::ng-deep img{width:100%;height:100%;object-fit:inherit;border-radius:inherit}\n"] }]
112
121
  }], ctorParameters: () => [{ type: undefined, decorators: [{
113
122
  type: Optional
114
123
  }, {
@@ -123,6 +132,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
123
132
  type: Input
124
133
  }], eager: [{
125
134
  type: Input
135
+ }], width: [{
136
+ type: Input
137
+ }], height: [{
138
+ type: Input
139
+ }], aspectRatioStyle: [{
140
+ type: HostBinding,
141
+ args: ['style.--ui-image-ratio']
126
142
  }] } });
127
143
 
128
144
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lluc_llull-ui-lib-shared.mjs","sources":["../../../projects/ui-lib/shared/ui-icon/ui-icon.component.ts","../../../projects/ui-lib/shared/ui-icon/ui-icon.component.html","../../../projects/ui-lib/shared/ui-icon/ui-icon.mock.ts","../../../projects/ui-lib/shared/ui-image/ui-image.component.ts","../../../projects/ui-lib/shared/ui-image/ui-image.component.html","../../../projects/ui-lib/shared/lluc_llull-ui-lib-shared.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport type { SimpleIcon } from 'simple-icons';\nimport * as simpleIcons from 'simple-icons';\nimport {LucideAngularModule } from 'lucide-angular';\n\n@Component({\n selector: 'ui-icon',\n standalone: true,\n imports: [CommonModule, LucideAngularModule],\n templateUrl: './ui-icon.component.html',\n styleUrls: ['./ui-icon.component.scss'],\n})\nexport class UiIconComponent {\n @Input() name!: string;\n @Input() size = 24;\n @Input() color = 'currentColor';\n\n private icon?: SimpleIcon | null;\n\n ngOnChanges() {\n this.icon = this.resolveBrandIcon();\n }\n\n get isBrandIcon(): boolean {\n return !!this.icon;\n }\n\n get brandIcon(): SimpleIcon | null {\n return this.icon ?? null;\n }\n\n private resolveBrandIcon(): SimpleIcon | null {\n if (!this.name) return null;\n\n const key =\n 'si' + this.name.replace(/[^a-z0-9]/gi, '').replace(/^\\w/, (c) => c.toUpperCase());\n\n return (simpleIcons as any)[key] ?? null;\n }\n}\n","<!-- SimpleIcons -->\n<ng-container *ngIf=\"isBrandIcon; else lucideIcon\">\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n</ng-container>\n\n<!-- Lucide -->\n<ng-template #lucideIcon>\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n</ng-template>\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ui-icon',\n standalone: true,\n template: '',\n})\nexport class MockUiIconComponent {\n @Input() name!: string;\n @Input() size = 24;\n @Input() color = 'currentColor';\n}","import { CommonModule } from '@angular/common';\nimport { Component, Inject, Input, OnChanges, OnInit, Optional } from '@angular/core';\nimport { CloudinaryModule, lazyload, responsive } from '@cloudinary/ng';\nimport { CloudinaryImage } from '@cloudinary/url-gen';\nimport { format, quality } from '@cloudinary/url-gen/actions/delivery';\nimport { limitFit } from '@cloudinary/url-gen/actions/resize';\nimport { auto } from '@cloudinary/url-gen/qualifiers/format';\nimport { auto as qAuto } from '@cloudinary/url-gen/qualifiers/quality';\nimport { CLOUDINARY_CLOUD_NAME } from '@lluc_llull/ui-lib/mapper';\n\n@Component({\n selector: 'ui-image',\n standalone: true,\n imports: [CommonModule, CloudinaryModule],\n templateUrl: './ui-image.component.html',\n styleUrl: './ui-image.component.scss',\n})\nexport class UiImageComponent implements OnChanges, OnInit {\n @Input({ required: true }) publicId!: string;\n @Input() cloudName?: string;\n @Input() transformations?: any;\n @Input() eager: boolean = false;\n\n img!: CloudinaryImage;\n plugins: any[] = [];\n\n constructor(@Optional() @Inject(CLOUDINARY_CLOUD_NAME) private globalCloudName?: string) {}\n\n ngOnInit(): void {\n this.initImage();\n }\n\n ngOnChanges(): void {\n this.initImage();\n }\n\n private initImage(): void {\n const activeCloudName = this.cloudName || this.globalCloudName;\n\n if (this.publicId && activeCloudName) {\n this.img = new CloudinaryImage(this.publicId, { cloudName: activeCloudName })\n .delivery(format(auto()))\n .delivery(quality(qAuto()))\n .resize(limitFit().width(1920)); // Límite máximo para SSG\n\n this.plugins = [responsive({ steps: 200 })];\n \n if (!this.eager) {\n this.plugins.push(lazyload());\n }\n } else if (!activeCloudName) {\n console.warn(\n '[UiImageComponent]: No cloudName provided. Please provide it via @Input() or the CLOUDINARY_CLOUD_NAME InjectionToken.',\n );\n }\n }\n}\n","@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["qAuto","i1"],"mappings":"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"}
1
+ {"version":3,"file":"lluc_llull-ui-lib-shared.mjs","sources":["../../../projects/ui-lib/shared/ui-icon/ui-icon.component.ts","../../../projects/ui-lib/shared/ui-icon/ui-icon.component.html","../../../projects/ui-lib/shared/ui-icon/ui-icon.mock.ts","../../../projects/ui-lib/shared/ui-image/ui-image.component.ts","../../../projects/ui-lib/shared/ui-image/ui-image.component.html","../../../projects/ui-lib/shared/lluc_llull-ui-lib-shared.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input, OnChanges } from '@angular/core';\nimport type { SimpleIcon } from 'simple-icons';\nimport * as simpleIcons from 'simple-icons';\nimport { LucideAngularModule } from 'lucide-angular';\n\n@Component({\n selector: 'ui-icon',\n standalone: true,\n imports: [CommonModule, LucideAngularModule],\n templateUrl: './ui-icon.component.html',\n styleUrls: ['./ui-icon.component.scss'],\n})\nexport class UiIconComponent implements OnChanges {\n @Input() name!: string;\n @Input() size = 24;\n @Input() color = 'currentColor';\n\n private icon?: SimpleIcon | null;\n\n ngOnChanges() {\n this.resolveBrandIcon();\n }\n\n get isBrandIcon(): boolean {\n return !!this.icon;\n }\n\n get brandIcon(): SimpleIcon | null {\n return this.icon ?? null;\n }\n\n private resolveBrandIcon(): void {\n if (!this.name) {\n this.icon = null;\n return;\n }\n\n const key =\n 'si' + this.name.replace(/[^a-z0-9]/gi, '').replace(/^\\w/, (c) => c.toUpperCase());\n\n this.icon = (simpleIcons as any)[key] ?? null;\n }\n}\n","@if (isBrandIcon) {\n <svg\n class=\"ui-icon ui-icon--brand\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n [attr.fill]=\"color\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path [attr.d]=\"brandIcon?.path\"></path>\n </svg>\n} @else {\n <lucide-icon\n class=\"ui-icon ui-icon--lucide\"\n [name]=\"name\"\n [size]=\"size\"\n [color]=\"color\"\n ></lucide-icon>\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ui-icon',\n standalone: true,\n template: '',\n})\nexport class MockUiIconComponent {\n @Input() name!: string;\n @Input() size = 24;\n @Input() color = 'currentColor';\n}","import { CommonModule } from '@angular/common';\nimport { Component, HostBinding, Inject, Input, OnChanges, OnInit, Optional } from '@angular/core';\nimport { CloudinaryModule, lazyload, responsive } from '@cloudinary/ng';\nimport { CloudinaryImage } from '@cloudinary/url-gen';\nimport { format, quality } from '@cloudinary/url-gen/actions/delivery';\nimport { limitFit } from '@cloudinary/url-gen/actions/resize';\nimport { auto } from '@cloudinary/url-gen/qualifiers/format';\nimport { auto as qAuto } from '@cloudinary/url-gen/qualifiers/quality';\nimport { CLOUDINARY_CLOUD_NAME } from '@lluc_llull/ui-lib/mapper';\n\n@Component({\n selector: 'ui-image',\n standalone: true,\n imports: [CommonModule, CloudinaryModule],\n templateUrl: './ui-image.component.html',\n styleUrl: './ui-image.component.scss',\n})\nexport class UiImageComponent implements OnChanges, OnInit {\n @Input({ required: true }) publicId!: string;\n @Input() cloudName?: string;\n @Input() transformations?: any;\n @Input() eager: boolean = false;\n @Input() width?: number | null;\n @Input() height?: number | null;\n\n img!: CloudinaryImage;\n plugins: any[] = [];\n\n constructor(@Optional() @Inject(CLOUDINARY_CLOUD_NAME) private globalCloudName?: string) {}\n\n ngOnInit(): void {\n this.initImage();\n }\n\n ngOnChanges(): void {\n this.initImage();\n }\n\n @HostBinding('style.--ui-image-ratio')\n get aspectRatioStyle(): string | null {\n if (this.width && this.height) {\n return `${this.width} / ${this.height}`;\n }\n return null;\n }\n\n private initImage(): void {\n const activeCloudName = this.cloudName || this.globalCloudName;\n\n if (this.publicId && activeCloudName) {\n this.img = new CloudinaryImage(this.publicId, { cloudName: activeCloudName })\n .delivery(format(auto()))\n .delivery(quality(qAuto()))\n .resize(limitFit().width(1920));\n\n this.plugins = [responsive({ steps: 200 })];\n\n if (!this.eager) {\n this.plugins.push(lazyload());\n }\n } else if (!activeCloudName) {\n console.warn(\n '[UiImageComponent]: No cloudName provided. Please provide it via @Input() or the CLOUDINARY_CLOUD_NAME InjectionToken.',\n );\n }\n }\n}\n","@if (img) {\n @if (eager) {\n <img [src]=\"img.toURL()\" fetchpriority=\"high\" loading=\"eager\" alt=\"\"\n [attr.width]=\"width ?? null\" [attr.height]=\"height ?? null\" />\n } @else {\n <advanced-image [cldImg]=\"img\" [plugins]=\"plugins\"></advanced-image>\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["qAuto","i1"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lluc_llull/ui-lib",
3
- "version": "0.33.5",
3
+ "version": "0.33.6",
4
4
  "description": "Angular UI component library",
5
5
  "author": "lluc_llull",
6
6
  "license": "MIT",
@@ -59,14 +59,14 @@
59
59
  "types": "./enums/index.d.ts",
60
60
  "default": "./fesm2022/lluc_llull-ui-lib-enums.mjs"
61
61
  },
62
- "./feedback": {
63
- "types": "./feedback/index.d.ts",
64
- "default": "./fesm2022/lluc_llull-ui-lib-feedback.mjs"
65
- },
66
62
  "./footers": {
67
63
  "types": "./footers/index.d.ts",
68
64
  "default": "./fesm2022/lluc_llull-ui-lib-footers.mjs"
69
65
  },
66
+ "./feedback": {
67
+ "types": "./feedback/index.d.ts",
68
+ "default": "./fesm2022/lluc_llull-ui-lib-feedback.mjs"
69
+ },
70
70
  "./headers": {
71
71
  "types": "./headers/index.d.ts",
72
72
  "default": "./fesm2022/lluc_llull-ui-lib-headers.mjs"
@@ -159,10 +159,6 @@
159
159
  "types": "./content/stacked-rows/index.d.ts",
160
160
  "default": "./fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs"
161
161
  },
162
- "./feedback/404": {
163
- "types": "./feedback/404/index.d.ts",
164
- "default": "./fesm2022/lluc_llull-ui-lib-feedback-404.mjs"
165
- },
166
162
  "./footers/columns-footer": {
167
163
  "types": "./footers/columns-footer/index.d.ts",
168
164
  "default": "./fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs"
@@ -183,6 +179,10 @@
183
179
  "types": "./footers/visual-footer/index.d.ts",
184
180
  "default": "./fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs"
185
181
  },
182
+ "./feedback/404": {
183
+ "types": "./feedback/404/index.d.ts",
184
+ "default": "./fesm2022/lluc_llull-ui-lib-feedback-404.mjs"
185
+ },
186
186
  "./headers/header-clear": {
187
187
  "types": "./headers/header-clear/index.d.ts",
188
188
  "default": "./fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs"
@@ -1,6 +1,7 @@
1
+ import { OnChanges } from '@angular/core';
1
2
  import type { SimpleIcon } from 'simple-icons';
2
3
  import * as i0 from "@angular/core";
3
- export declare class UiIconComponent {
4
+ export declare class UiIconComponent implements OnChanges {
4
5
  name: string;
5
6
  size: number;
6
7
  color: string;
@@ -7,12 +7,15 @@ export declare class UiImageComponent implements OnChanges, OnInit {
7
7
  cloudName?: string;
8
8
  transformations?: any;
9
9
  eager: boolean;
10
+ width?: number | null;
11
+ height?: number | null;
10
12
  img: CloudinaryImage;
11
13
  plugins: any[];
12
14
  constructor(globalCloudName?: string);
13
15
  ngOnInit(): void;
14
16
  ngOnChanges(): void;
17
+ get aspectRatioStyle(): string | null;
15
18
  private initImage;
16
19
  static ɵfac: i0.ɵɵFactoryDeclaration<UiImageComponent, [{ optional: true; }]>;
17
- static ɵcmp: i0.ɵɵComponentDeclaration<UiImageComponent, "ui-image", never, { "publicId": { "alias": "publicId"; "required": true; }; "cloudName": { "alias": "cloudName"; "required": false; }; "transformations": { "alias": "transformations"; "required": false; }; "eager": { "alias": "eager"; "required": false; }; }, {}, never, never, true, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<UiImageComponent, "ui-image", never, { "publicId": { "alias": "publicId"; "required": true; }; "cloudName": { "alias": "cloudName"; "required": false; }; "transformations": { "alias": "transformations"; "required": false; }; "eager": { "alias": "eager"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
18
21
  }