@lluc_llull/ui-lib 0.28.3 → 0.28.4

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 (35) hide show
  1. package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs +31 -0
  2. package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs.map +1 -0
  3. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs +38 -0
  4. package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs.map +1 -0
  5. package/fesm2022/lluc_llull-ui-lib-content-content-document.mjs +27 -0
  6. package/fesm2022/lluc_llull-ui-lib-content-content-document.mjs.map +1 -0
  7. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs +112 -0
  8. package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs.map +1 -0
  9. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs +77 -0
  10. package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs.map +1 -0
  11. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs +58 -0
  12. package/fesm2022/lluc_llull-ui-lib-content-mosaic-parallax.mjs.map +1 -0
  13. package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs +38 -0
  14. package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs.map +1 -0
  15. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs +62 -0
  16. package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs.map +1 -0
  17. package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs +30 -0
  18. package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs.map +1 -0
  19. package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs +35 -0
  20. package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs.map +1 -0
  21. package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs +28 -0
  22. package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs.map +1 -0
  23. package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs +38 -0
  24. package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs.map +1 -0
  25. package/fesm2022/lluc_llull-ui-lib-footers-links-footer.mjs +25 -0
  26. package/fesm2022/lluc_llull-ui-lib-footers-links-footer.mjs.map +1 -0
  27. package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs +33 -0
  28. package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs.map +1 -0
  29. package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs +46 -0
  30. package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs.map +1 -0
  31. package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs +79 -0
  32. package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs.map +1 -0
  33. package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs +79 -0
  34. package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs.map +1 -0
  35. package/package.json +69 -1
@@ -0,0 +1,62 @@
1
+ import { isPlatformBrowser, CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { signal, PLATFORM_ID, Input, Inject, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { HighlightDirective, ScrollRevealDirective, LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
5
+ import { UiImageComponent } from '@lluc_llull/ui-lib/shared';
6
+
7
+ class SplitPreviewerComponent {
8
+ platformId;
9
+ title;
10
+ items;
11
+ imageDefault;
12
+ direction = 'right';
13
+ activeImage = signal(undefined);
14
+ get count() {
15
+ return this.items?.length || 0;
16
+ }
17
+ constructor(platformId) {
18
+ this.platformId = platformId;
19
+ }
20
+ ngOnInit() {
21
+ if (!this.items)
22
+ return;
23
+ if (!isPlatformBrowser(this.platformId))
24
+ return;
25
+ if ('requestIdleCallback' in window) {
26
+ window.requestIdleCallback(() => {
27
+ this.items?.forEach((item) => {
28
+ if (item.image?.url) {
29
+ const img = new Image();
30
+ img.src = item.image.url;
31
+ }
32
+ });
33
+ });
34
+ }
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SplitPreviewerComponent, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SplitPreviewerComponent, isStandalone: true, selector: "lib-split-previewer", inputs: { title: "title", items: "items", imageDefault: "imageDefault", direction: "direction" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div\n class=\"split-previewer col-span-full md:col-span-12 md:col-start-1\"\n [class]=\"'split-previewer--' + direction\"\n scrollReveal\n>\n <div class=\"split-previewer__text-column\">\n <div class=\"split-previewer__header\">\n @if (title) {\n <h1 class=\"title\">{{ title }}</h1>\n }\n @if (count) {\n <span class=\"count\">{{ count }}</span>\n }\n </div>\n\n <div class=\"split-previewer__items\" (mouseleave)=\"activeImage.set(undefined)\">\n @for (item of items; track item.title) {\n <a\n [href]=\"item.link?.url\"\n (mouseenter)=\"activeImage.set(item.image)\"\n class=\"split-previewer__item-link\"\n >\n <div class=\"split-previewer__item\">\n <h2 class=\"split-previewer__item-title\" [highlight]=\"'#FFFFFF'\">{{ item.title }}</h2>\n <p class=\"split-previewer__item-text\">{{ item.description }}</p>\n @if (item.tags?.length) {\n <div class=\"split-previewer__item-tags\">\n @for (tag of item.tags; track tag) {\n <span class=\"split-previewer__item-tag\">{{ tag }}</span>\n }\n </div>\n }\n </div>\n </a>\n }\n </div>\n </div>\n\n <div class=\"split-previewer__media\">\n <div class=\"split-previewer__media-inner\">\n @if ((activeImage() || imageDefault)?.publicId) {\n <ui-image \n [publicId]=\"(activeImage() || imageDefault)!.publicId!\" \n [eager]=\"true\"\n class=\"preview-img\"\n ></ui-image>\n } @else {\n <img\n [src]=\"(activeImage() || imageDefault)?.url\"\n [alt]=\"(activeImage() || imageDefault)?.alt\"\n class=\"preview-img\"\n loading=\"eager\"\n fetchpriority=\"high\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n</div>\n", styles: [".split-previewer{display:flex;gap:5rem;min-width:0;padding-bottom:5rem}.split-previewer--left{flex-direction:row-reverse}.split-previewer--right{flex-direction:row}.split-previewer__text-column{flex:1;display:flex;flex-direction:column;min-width:0}.split-previewer__header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-width:0}.split-previewer__header .title{margin:0 0 1rem;text-transform:uppercase;min-width:0}.split-previewer__header .count{font-family:var(--font-base);font-size:1rem;font-weight:500;flex-shrink:0}.split-previewer__items{display:flex;flex-direction:column;min-width:0}.split-previewer__item-link{text-decoration:none;color:inherit;display:block;min-width:0}.split-previewer__item{transition:all .4s cubic-bezier(.25,.46,.45,.94);min-width:0}.split-previewer__item-title{margin-bottom:.5rem;display:inline-block;min-width:0}.split-previewer__item-text{line-height:1.6;max-width:min(1000px,100%);opacity:.8;overflow-wrap:break-word;font-size:1.2rem}.split-previewer__item-tags{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1rem;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.split-previewer__item-tag{font-size:1rem;font-weight:600;letter-spacing:.05em;padding:.3rem .8rem;background-color:var(--tag-bg);color:var(--tag-color);border-radius:2px}.split-previewer__item-link:hover .split-previewer__item{padding-left:1rem}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:1;transform:translateY(0)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:1}.split-previewer__media{flex:1;min-width:0;position:relative}.split-previewer__media-inner{position:sticky;top:4rem;height:fit-content;display:flex;justify-content:center;align-items:center}.split-previewer__media .preview-img{display:block;width:100%;aspect-ratio:5/4;max-width:100%;height:auto;object-fit:contain;animation:fadeInMedia .5s ease-out;filter:contrast(1.1) grayscale(.2)}@media (max-width: 1280px){.split-previewer{gap:3rem}}@media (max-width: 1024px){.split-previewer{display:block;width:100%;min-width:0}.split-previewer--left,.split-previewer--right{flex-direction:unset}.split-previewer__media{display:none}.split-previewer__header{display:block}.split-previewer__header .title{margin-bottom:.75rem}.split-previewer__header .count{display:inline-block}.split-previewer__item-link:hover .split-previewer__item{padding-left:0}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:0;transform:translateY(10px)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:.8}.split-previewer__item-text{max-width:100%}.split-previewer__item-tags{display:none}}@media (hover: none) and (pointer: coarse){.split-previewer__item-link:hover .split-previewer__item{padding-left:0}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:0;transform:translateY(10px)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:.8}}@keyframes fadeInMedia{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: HighlightDirective, selector: "[highlight]", inputs: ["highlight", "highlightThickness"] }, { kind: "directive", type: ScrollRevealDirective, selector: "[scrollReveal]", inputs: ["distance", "duration"] }, { kind: "component", type: UiImageComponent, selector: "ui-image", inputs: ["publicId", "cloudName", "transformations", "eager"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SplitPreviewerComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'lib-split-previewer', imports: [CommonModule, LinkTypeDirective, HighlightDirective, ScrollRevealDirective, UiImageComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
42
+ style: 'display: contents',
43
+ }, template: "<div\n class=\"split-previewer col-span-full md:col-span-12 md:col-start-1\"\n [class]=\"'split-previewer--' + direction\"\n scrollReveal\n>\n <div class=\"split-previewer__text-column\">\n <div class=\"split-previewer__header\">\n @if (title) {\n <h1 class=\"title\">{{ title }}</h1>\n }\n @if (count) {\n <span class=\"count\">{{ count }}</span>\n }\n </div>\n\n <div class=\"split-previewer__items\" (mouseleave)=\"activeImage.set(undefined)\">\n @for (item of items; track item.title) {\n <a\n [href]=\"item.link?.url\"\n (mouseenter)=\"activeImage.set(item.image)\"\n class=\"split-previewer__item-link\"\n >\n <div class=\"split-previewer__item\">\n <h2 class=\"split-previewer__item-title\" [highlight]=\"'#FFFFFF'\">{{ item.title }}</h2>\n <p class=\"split-previewer__item-text\">{{ item.description }}</p>\n @if (item.tags?.length) {\n <div class=\"split-previewer__item-tags\">\n @for (tag of item.tags; track tag) {\n <span class=\"split-previewer__item-tag\">{{ tag }}</span>\n }\n </div>\n }\n </div>\n </a>\n }\n </div>\n </div>\n\n <div class=\"split-previewer__media\">\n <div class=\"split-previewer__media-inner\">\n @if ((activeImage() || imageDefault)?.publicId) {\n <ui-image \n [publicId]=\"(activeImage() || imageDefault)!.publicId!\" \n [eager]=\"true\"\n class=\"preview-img\"\n ></ui-image>\n } @else {\n <img\n [src]=\"(activeImage() || imageDefault)?.url\"\n [alt]=\"(activeImage() || imageDefault)?.alt\"\n class=\"preview-img\"\n loading=\"eager\"\n fetchpriority=\"high\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n</div>\n", styles: [".split-previewer{display:flex;gap:5rem;min-width:0;padding-bottom:5rem}.split-previewer--left{flex-direction:row-reverse}.split-previewer--right{flex-direction:row}.split-previewer__text-column{flex:1;display:flex;flex-direction:column;min-width:0}.split-previewer__header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-width:0}.split-previewer__header .title{margin:0 0 1rem;text-transform:uppercase;min-width:0}.split-previewer__header .count{font-family:var(--font-base);font-size:1rem;font-weight:500;flex-shrink:0}.split-previewer__items{display:flex;flex-direction:column;min-width:0}.split-previewer__item-link{text-decoration:none;color:inherit;display:block;min-width:0}.split-previewer__item{transition:all .4s cubic-bezier(.25,.46,.45,.94);min-width:0}.split-previewer__item-title{margin-bottom:.5rem;display:inline-block;min-width:0}.split-previewer__item-text{line-height:1.6;max-width:min(1000px,100%);opacity:.8;overflow-wrap:break-word;font-size:1.2rem}.split-previewer__item-tags{display:flex;flex-wrap:wrap;gap:1rem;margin-block:1rem;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease}.split-previewer__item-tag{font-size:1rem;font-weight:600;letter-spacing:.05em;padding:.3rem .8rem;background-color:var(--tag-bg);color:var(--tag-color);border-radius:2px}.split-previewer__item-link:hover .split-previewer__item{padding-left:1rem}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:1;transform:translateY(0)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:1}.split-previewer__media{flex:1;min-width:0;position:relative}.split-previewer__media-inner{position:sticky;top:4rem;height:fit-content;display:flex;justify-content:center;align-items:center}.split-previewer__media .preview-img{display:block;width:100%;aspect-ratio:5/4;max-width:100%;height:auto;object-fit:contain;animation:fadeInMedia .5s ease-out;filter:contrast(1.1) grayscale(.2)}@media (max-width: 1280px){.split-previewer{gap:3rem}}@media (max-width: 1024px){.split-previewer{display:block;width:100%;min-width:0}.split-previewer--left,.split-previewer--right{flex-direction:unset}.split-previewer__media{display:none}.split-previewer__header{display:block}.split-previewer__header .title{margin-bottom:.75rem}.split-previewer__header .count{display:inline-block}.split-previewer__item-link:hover .split-previewer__item{padding-left:0}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:0;transform:translateY(10px)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:.8}.split-previewer__item-text{max-width:100%}.split-previewer__item-tags{display:none}}@media (hover: none) and (pointer: coarse){.split-previewer__item-link:hover .split-previewer__item{padding-left:0}.split-previewer__item-link:hover .split-previewer__item-tags{opacity:0;transform:translateY(10px)}.split-previewer__item-link:hover .split-previewer__item-text{opacity:.8}}@keyframes fadeInMedia{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}\n"] }]
44
+ }], ctorParameters: () => [{ type: Object, decorators: [{
45
+ type: Inject,
46
+ args: [PLATFORM_ID]
47
+ }] }], propDecorators: { title: [{
48
+ type: Input
49
+ }], items: [{
50
+ type: Input
51
+ }], imageDefault: [{
52
+ type: Input
53
+ }], direction: [{
54
+ type: Input
55
+ }] } });
56
+
57
+ /**
58
+ * Generated bundle index. Do not edit.
59
+ */
60
+
61
+ export { SplitPreviewerComponent };
62
+ //# sourceMappingURL=lluc_llull-ui-lib-content-split-previewer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-content-split-previewer.mjs","sources":["../../../projects/ui-lib/content/split-previewer/split-previewer.component.ts","../../../projects/ui-lib/content/split-previewer/split-previewer.component.html","../../../projects/ui-lib/content/split-previewer/lluc_llull-ui-lib-content-split-previewer.ts"],"sourcesContent":["import { CommonModule, isPlatformBrowser } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Inject, Input, OnInit, PLATFORM_ID, signal } from '@angular/core';\nimport {\n HighlightDirective,\n LinkTypeDirective,\n ScrollRevealDirective,\n} from '@lluc_llull/ui-lib/directives';\nimport { UiLibButtonI, UiLibImageI } from '@lluc_llull/ui-lib/interfaces';\nimport { UiImageComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-split-previewer',\n imports: [CommonModule, LinkTypeDirective, HighlightDirective, ScrollRevealDirective, UiImageComponent],\n templateUrl: './split-previewer.component.html',\n styleUrl: './split-previewer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class SplitPreviewerComponent implements OnInit {\n @Input() title?: string;\n @Input() items?: SplitPreviewerItemI[];\n @Input() imageDefault?: UiLibImageI;\n @Input() direction: 'left' | 'right' = 'right';\n\n activeImage = signal<UiLibImageI | undefined>(undefined);\n\n get count(): number {\n return this.items?.length || 0;\n }\n\n constructor(@Inject(PLATFORM_ID) private readonly platformId: Object) {}\n\n ngOnInit() {\n if (!this.items) return;\n if (!isPlatformBrowser(this.platformId)) return;\n if ('requestIdleCallback' in window) {\n (window as any).requestIdleCallback(() => {\n this.items?.forEach((item) => {\n if (item.image?.url) {\n const img = new Image();\n img.src = item.image.url;\n }\n });\n });\n }\n }\n}\n\nexport interface SplitPreviewerItemI {\n title?: string;\n type?: string;\n description?: string;\n tags?: string[];\n link?: UiLibButtonI;\n image?: UiLibImageI;\n}\n","<div\n class=\"split-previewer col-span-full md:col-span-12 md:col-start-1\"\n [class]=\"'split-previewer--' + direction\"\n scrollReveal\n>\n <div class=\"split-previewer__text-column\">\n <div class=\"split-previewer__header\">\n @if (title) {\n <h1 class=\"title\">{{ title }}</h1>\n }\n @if (count) {\n <span class=\"count\">{{ count }}</span>\n }\n </div>\n\n <div class=\"split-previewer__items\" (mouseleave)=\"activeImage.set(undefined)\">\n @for (item of items; track item.title) {\n <a\n [href]=\"item.link?.url\"\n (mouseenter)=\"activeImage.set(item.image)\"\n class=\"split-previewer__item-link\"\n >\n <div class=\"split-previewer__item\">\n <h2 class=\"split-previewer__item-title\" [highlight]=\"'#FFFFFF'\">{{ item.title }}</h2>\n <p class=\"split-previewer__item-text\">{{ item.description }}</p>\n @if (item.tags?.length) {\n <div class=\"split-previewer__item-tags\">\n @for (tag of item.tags; track tag) {\n <span class=\"split-previewer__item-tag\">{{ tag }}</span>\n }\n </div>\n }\n </div>\n </a>\n }\n </div>\n </div>\n\n <div class=\"split-previewer__media\">\n <div class=\"split-previewer__media-inner\">\n @if ((activeImage() || imageDefault)?.publicId) {\n <ui-image \n [publicId]=\"(activeImage() || imageDefault)!.publicId!\" \n [eager]=\"true\"\n class=\"preview-img\"\n ></ui-image>\n } @else {\n <img\n [src]=\"(activeImage() || imageDefault)?.url\"\n [alt]=\"(activeImage() || imageDefault)?.alt\"\n class=\"preview-img\"\n loading=\"eager\"\n fetchpriority=\"high\"\n decoding=\"async\"\n />\n }\n </div>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAoBa,uBAAuB,CAAA;AAYkB,IAAA,UAAA;AAXzC,IAAA,KAAK;AACL,IAAA,KAAK;AACL,IAAA,YAAY;IACZ,SAAS,GAAqB,OAAO;AAE9C,IAAA,WAAW,GAAG,MAAM,CAA0B,SAAS,CAAC;AAExD,IAAA,IAAI,KAAK,GAAA;AACL,QAAA,OAAO,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClC;AAEA,IAAA,WAAA,CAAkD,UAAkB,EAAA;QAAlB,IAAA,CAAA,UAAU,GAAV,UAAU;IAAW;IAEvE,QAAQ,GAAA;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE;AACjB,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE;AACzC,QAAA,IAAI,qBAAqB,IAAI,MAAM,EAAE;AAChC,YAAA,MAAc,CAAC,mBAAmB,CAAC,MAAK;gBACrC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,KAAI;AACzB,oBAAA,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE;AACjB,wBAAA,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE;wBACvB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG;oBAC5B;AACJ,gBAAA,CAAC,CAAC;AACN,YAAA,CAAC,CAAC;QACN;IACJ;AA3BS,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,kBAYZ,WAAW,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAZtB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBpC,k5DA2DA,EAAA,MAAA,EAAA,CAAA,q/FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED/Cc,YAAY,+BAAqB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQ7F,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,WACtB,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,CAAC,EAAA,eAAA,EAGtF,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,k5DAAA,EAAA,MAAA,EAAA,CAAA,q/FAAA,CAAA,EAAA;;0BAcY,MAAM;2BAAC,WAAW;yCAXtB,KAAK,EAAA,CAAA;sBAAb;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,YAAY,EAAA,CAAA;sBAApB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;AExBL;;AAEG;;;;"}
@@ -0,0 +1,30 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
+
5
+ class StackedRowsComponent {
6
+ title;
7
+ text;
8
+ items;
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: StackedRowsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: StackedRowsComponent, isStandalone: true, selector: "lib-stacked-rows", inputs: { title: "title", text: "text", items: "items" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div class=\"stacked-rows main-grid col-span-full md:col-span-12 md:col-start-1\" scrollReveal>\n <!-- INTRO -->\n <div class=\"stacked-rows__intro main-grid col-span-full\">\n @if (title) {\n <h1 class=\"subtitle col-span-full md:col-span-3 md:col-start-1\">\n {{ title }}\n </h1>\n }\n\n @if (text) {\n <p class=\"text col-span-full md:col-span-9 md:col-start-4\">\n {{ text }}\n </p>\n }\n </div>\n\n <!-- ITEMS -->\n @if (items) {\n <div class=\"stacked-rows__items col-span-full\">\n @for (item of items; track $index) {\n <div class=\"stacked-rows__items--item main-grid\">\n <h2 class=\"stacked-rows__items--item_title col-span-full md:col-span-3 md:col-start-1\">\n {{ item.title }}\n </h2>\n\n <p class=\"stacked-rows__items--item_text col-span-full md:col-span-7 md:col-start-6\">\n {{ item.text }}\n </p>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".stacked-rows{background-color:var(--content-bg-dark);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);padding-block:10rem 1rem}.stacked-rows .subtitle,.stacked-rows .text{color:var(--text-secondary)}.stacked-rows__intro{border-bottom:1px solid var(--border-secondary);padding-block:0rem}.stacked-rows__intro .text{font-size:2.4rem;font-weight:600;margin-bottom:3rem}.stacked-rows__items--item{border-bottom:1px solid var(--border-secondary);padding-bottom:4.5rem}.stacked-rows__items--item:last-child{border-bottom:none}.stacked-rows__items--item_title{margin:0;font-size:2rem;color:var(--text-secondary);font-weight:100}.stacked-rows__items--item_text{margin:0;font-size:1.2rem;color:var(--text-secondary)}@media (max-width: 1024px){.stacked-rows{padding-block:6rem 2rem}.stacked-rows__intro .text{font-size:1.6rem}.stacked-rows__items--item{padding-block:2rem}.stacked-rows__items--item_title{font-size:1.6rem}.stacked-rows__items--item_text{font-size:1.1rem;margin-top:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: StackedRowsComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'lib-stacked-rows', imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
+ style: 'display: contents',
16
+ }, template: "<div class=\"stacked-rows main-grid col-span-full md:col-span-12 md:col-start-1\" scrollReveal>\n <!-- INTRO -->\n <div class=\"stacked-rows__intro main-grid col-span-full\">\n @if (title) {\n <h1 class=\"subtitle col-span-full md:col-span-3 md:col-start-1\">\n {{ title }}\n </h1>\n }\n\n @if (text) {\n <p class=\"text col-span-full md:col-span-9 md:col-start-4\">\n {{ text }}\n </p>\n }\n </div>\n\n <!-- ITEMS -->\n @if (items) {\n <div class=\"stacked-rows__items col-span-full\">\n @for (item of items; track $index) {\n <div class=\"stacked-rows__items--item main-grid\">\n <h2 class=\"stacked-rows__items--item_title col-span-full md:col-span-3 md:col-start-1\">\n {{ item.title }}\n </h2>\n\n <p class=\"stacked-rows__items--item_text col-span-full md:col-span-7 md:col-start-6\">\n {{ item.text }}\n </p>\n </div>\n }\n </div>\n }\n</div>\n", styles: [".stacked-rows{background-color:var(--content-bg-dark);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);padding-block:10rem 1rem}.stacked-rows .subtitle,.stacked-rows .text{color:var(--text-secondary)}.stacked-rows__intro{border-bottom:1px solid var(--border-secondary);padding-block:0rem}.stacked-rows__intro .text{font-size:2.4rem;font-weight:600;margin-bottom:3rem}.stacked-rows__items--item{border-bottom:1px solid var(--border-secondary);padding-bottom:4.5rem}.stacked-rows__items--item:last-child{border-bottom:none}.stacked-rows__items--item_title{margin:0;font-size:2rem;color:var(--text-secondary);font-weight:100}.stacked-rows__items--item_text{margin:0;font-size:1.2rem;color:var(--text-secondary)}@media (max-width: 1024px){.stacked-rows{padding-block:6rem 2rem}.stacked-rows__intro .text{font-size:1.6rem}.stacked-rows__items--item{padding-block:2rem}.stacked-rows__items--item_title{font-size:1.6rem}.stacked-rows__items--item_text{font-size:1.1rem;margin-top:0}}\n"] }]
17
+ }], propDecorators: { title: [{
18
+ type: Input
19
+ }], text: [{
20
+ type: Input
21
+ }], items: [{
22
+ type: Input
23
+ }] } });
24
+
25
+ /**
26
+ * Generated bundle index. Do not edit.
27
+ */
28
+
29
+ export { StackedRowsComponent };
30
+ //# sourceMappingURL=lluc_llull-ui-lib-content-stacked-rows.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-content-stacked-rows.mjs","sources":["../../../projects/ui-lib/content/stacked-rows/stacked-rows.component.ts","../../../projects/ui-lib/content/stacked-rows/stacked-rows.component.html","../../../projects/ui-lib/content/stacked-rows/lluc_llull-ui-lib-content-stacked-rows.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\n\n@Component({\n selector: 'lib-stacked-rows',\n imports: [CommonModule],\n templateUrl: './stacked-rows.component.html',\n styleUrl: './stacked-rows.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class StackedRowsComponent {\n @Input() title?: string;\n @Input() text?: string;\n @Input() items?: StackedRowItemI[];\n}\n\nexport interface StackedRowItemI {\n title: string;\n text: string;\n}\n","<div class=\"stacked-rows main-grid col-span-full md:col-span-12 md:col-start-1\" scrollReveal>\n <!-- INTRO -->\n <div class=\"stacked-rows__intro main-grid col-span-full\">\n @if (title) {\n <h1 class=\"subtitle col-span-full md:col-span-3 md:col-start-1\">\n {{ title }}\n </h1>\n }\n\n @if (text) {\n <p class=\"text col-span-full md:col-span-9 md:col-start-4\">\n {{ text }}\n </p>\n }\n </div>\n\n <!-- ITEMS -->\n @if (items) {\n <div class=\"stacked-rows__items col-span-full\">\n @for (item of items; track $index) {\n <div class=\"stacked-rows__items--item main-grid\">\n <h2 class=\"stacked-rows__items--item_title col-span-full md:col-span-3 md:col-start-1\">\n {{ item.title }}\n </h2>\n\n <p class=\"stacked-rows__items--item_text col-span-full md:col-span-7 md:col-start-6\">\n {{ item.text }}\n </p>\n </div>\n }\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAaa,oBAAoB,CAAA;AACpB,IAAA,KAAK;AACL,IAAA,IAAI;AACJ,IAAA,KAAK;wGAHL,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbjC,i+BAiCA,EAAA,MAAA,EAAA,CAAA,6hCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5Bc,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQb,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;+BACI,kBAAkB,EAAA,OAAA,EACnB,CAAC,YAAY,CAAC,mBAGN,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,i+BAAA,EAAA,MAAA,EAAA,CAAA,6hCAAA,CAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;;;AEhBL;;AAEG;;;;"}
@@ -0,0 +1,35 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { LinkTypeDirective, HighlightDirective } from '@lluc_llull/ui-lib/directives';
5
+ import { UiIconComponent } from '@lluc_llull/ui-lib/shared';
6
+
7
+ class NotFoundComponent {
8
+ title;
9
+ subtitle;
10
+ highlight;
11
+ button;
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NotFoundComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: NotFoundComponent, isStandalone: true, selector: "lib-404", inputs: { title: "title", subtitle: "subtitle", highlight: "highlight", button: "button" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div class=\"notfound main-grid col-span-full md:col-span-12 md:col-start-1\">\n \n <!-- CONTENT -->\n <div class=\"notfound__content col-span-full md:col-span-5 md:col-start-1\">\n @if (title) {\n <h1 class=\"notfound__title\">{{ title }}</h1>\n }\n\n @if (subtitle) {\n <h2 class=\"notfound__subtitle\" [highlight]=\"'#FFFFFF'\">\n {{ subtitle }}\n </h2>\n }\n\n @if (button) {\n <div class=\"btn-group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn-primary btn-primary--outline\"\n >\n <ui-icon\n [name]=\"button.icon!\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n {{ button.label }}\n </a>\n </div>\n }\n </div>\n\n <!-- BIG NUMBER -->\n @if (highlight) {\n <div class=\"notfound__highlight col-span-full\">\n {{ highlight }}\n </div>\n }\n</div>", styles: [".notfound{min-height:84dvh;overflow:hidden}.notfound__content{position:relative;z-index:2}.notfound__title{font-size:3rem;font-weight:600;font-family:var(--font-base);margin:0}.notfound__subtitle{font-size:3rem;font-weight:600;line-height:1.2;font-family:var(--font-base);padding-block:0 1rem;margin:0}.notfound__highlight{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:38rem;line-height:.8;color:var(--color-primary);font-family:var(--font-titles);z-index:1;pointer-events:none}@media (max-width: 1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }, { kind: "directive", type: HighlightDirective, selector: "[highlight]", inputs: ["highlight", "highlightThickness"] }, { kind: "component", type: UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: NotFoundComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'lib-404', standalone: true, imports: [CommonModule, LinkTypeDirective, HighlightDirective, UiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
+ style: 'display: contents',
19
+ }, template: "<div class=\"notfound main-grid col-span-full md:col-span-12 md:col-start-1\">\n \n <!-- CONTENT -->\n <div class=\"notfound__content col-span-full md:col-span-5 md:col-start-1\">\n @if (title) {\n <h1 class=\"notfound__title\">{{ title }}</h1>\n }\n\n @if (subtitle) {\n <h2 class=\"notfound__subtitle\" [highlight]=\"'#FFFFFF'\">\n {{ subtitle }}\n </h2>\n }\n\n @if (button) {\n <div class=\"btn-group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn-primary btn-primary--outline\"\n >\n <ui-icon\n [name]=\"button.icon!\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n {{ button.label }}\n </a>\n </div>\n }\n </div>\n\n <!-- BIG NUMBER -->\n @if (highlight) {\n <div class=\"notfound__highlight col-span-full\">\n {{ highlight }}\n </div>\n }\n</div>", styles: [".notfound{min-height:84dvh;overflow:hidden}.notfound__content{position:relative;z-index:2}.notfound__title{font-size:3rem;font-weight:600;font-family:var(--font-base);margin:0}.notfound__subtitle{font-size:3rem;font-weight:600;line-height:1.2;font-family:var(--font-base);padding-block:0 1rem;margin:0}.notfound__highlight{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:38rem;line-height:.8;color:var(--color-primary);font-family:var(--font-titles);z-index:1;pointer-events:none}@media (max-width: 1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}\n"] }]
20
+ }], propDecorators: { title: [{
21
+ type: Input
22
+ }], subtitle: [{
23
+ type: Input
24
+ }], highlight: [{
25
+ type: Input
26
+ }], button: [{
27
+ type: Input
28
+ }] } });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { NotFoundComponent };
35
+ //# sourceMappingURL=lluc_llull-ui-lib-feedback-404.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-feedback-404.mjs","sources":["../../../projects/ui-lib/feedback/404/404.component.ts","../../../projects/ui-lib/feedback/404/404.component.html","../../../projects/ui-lib/feedback/404/lluc_llull-ui-lib-feedback-404.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\nimport { LinkTypeDirective, HighlightDirective } from '@lluc_llull/ui-lib/directives';\nimport { UiIconComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-404',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective, HighlightDirective, UiIconComponent],\n templateUrl: './404.component.html',\n styleUrl: './404.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class NotFoundComponent {\n @Input() title?: string;\n @Input() subtitle?: string;\n @Input() highlight?: string;\n @Input() button?: UiLibButtonI;\n}\n","<div class=\"notfound main-grid col-span-full md:col-span-12 md:col-start-1\">\n \n <!-- CONTENT -->\n <div class=\"notfound__content col-span-full md:col-span-5 md:col-start-1\">\n @if (title) {\n <h1 class=\"notfound__title\">{{ title }}</h1>\n }\n\n @if (subtitle) {\n <h2 class=\"notfound__subtitle\" [highlight]=\"'#FFFFFF'\">\n {{ subtitle }}\n </h2>\n }\n\n @if (button) {\n <div class=\"btn-group\">\n <a\n [href]=\"button.url\"\n [linkType]=\"button.linkType\"\n class=\"btn btn-primary btn-primary--outline\"\n >\n <ui-icon\n [name]=\"button.icon!\"\n [size]=\"17\"\n [color]=\"'var(--color-primary)'\"\n ></ui-icon>\n {{ button.label }}\n </a>\n </div>\n }\n </div>\n\n <!-- BIG NUMBER -->\n @if (highlight) {\n <div class=\"notfound__highlight col-span-full\">\n {{ highlight }}\n </div>\n }\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAiBa,iBAAiB,CAAA;AACjB,IAAA,KAAK;AACL,IAAA,QAAQ;AACR,IAAA,SAAS;AACT,IAAA,MAAM;wGAJN,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB9B,69BAsCM,EAAA,MAAA,EAAA,CAAA,0mBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED7BQ,YAAY,+BAAE,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQrE,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAX7B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,SAAS,cACP,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,CAAC,EAAA,eAAA,EAG9D,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,69BAAA,EAAA,MAAA,EAAA,CAAA,0mBAAA,CAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,QAAQ,EAAA,CAAA;sBAAhB;gBACQ,SAAS,EAAA,CAAA;sBAAjB;gBACQ,MAAM,EAAA,CAAA;sBAAd;;;AErBL;;AAEG;;;;"}
@@ -0,0 +1,28 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
5
+
6
+ class ColumnsFooterComponent {
7
+ columns;
8
+ copyright;
9
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ColumnsFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: ColumnsFooterComponent, isStandalone: true, selector: "lib-columns-footer", inputs: { columns: "columns", copyright: "copyright" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div class=\"columns-footer-wrapper col-span-full\">\n <div class=\"columns-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n @if (columns?.[0]; as column1) {\n <div class=\"columns-footer__one col-span-full sm:col-span-3 sm:col-start-1\">\n @if (column1.title) {\n <h4 class=\"columns-footer__one-title\">\n {{ column1.title }}\n </h4>\n }\n @if (column1.items && column1.items.length > 0) {\n <ul class=\"columns-footer__one-list\">\n @for (item of column1.items; track $index) {\n <li class=\"columns-footer__one-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[1]; as column2) {\n <div class=\"columns-footer__two col-span-full sm:col-span-6 sm:col-start-4\">\n @if (column2.title) {\n <h4 class=\"columns-footer__two-title\">\n {{ column2.title }}\n </h4>\n }\n @if (column2.items && column2.items.length > 0) {\n <ul class=\"columns-footer__two-list\">\n @for (item of column2.items; track $index) {\n <li class=\"columns-footer__two-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[2]; as column3) {\n <div class=\"columns-footer__three col-span-full sm:col-span-3 sm:col-start-10\">\n @if (column3.title) {\n <h4 class=\"columns-footer__three-title\">\n {{ column3.title }}\n </h4>\n }\n @if (column3.items && column3.items.length > 0) {\n <ul class=\"columns-footer__three-list\">\n @for (item of column3.items; track $index) {\n <li class=\"columns-footer__three-item\" [class.mt-separator]=\"$index > 0 && item.linkType !== column3.items[$index - 1].linkType\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n <div class=\"columns-footer__copyright col-span-full sm:col-span-12 sm:col-start-1\">\n @if (copyright) {\n <div class=\"columns-footer__copyright-text\">\n <span>{{ copyright.year }}</span>\n <span>{{ copyright.name }}</span>\n <span>{{ copyright.rights }}</span>\n </div>\n }\n </div>\n</div>\n", styles: [".columns-footer-wrapper{background-color:var(--content-bg-dark);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}.columns-footer-wrapper .columns-footer__one-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__one-item a{color:var(--text-secondary-70);text-transform:capitalize;font-size:1.1rem}.columns-footer-wrapper .columns-footer__one-item a:hover{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__two{justify-items:center}@media (max-width: 480px){.columns-footer-wrapper .columns-footer__two{justify-items:start}}.columns-footer-wrapper .columns-footer__two-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__two-item{margin-bottom:1rem;justify-items:center;justify-self:center}@media (max-width: 480px){.columns-footer-wrapper .columns-footer__two-item{justify-items:start;justify-self:start}}.columns-footer-wrapper .columns-footer__two-item a{color:var(--text-secondary-70);text-transform:uppercase;font-size:1.1rem}.columns-footer-wrapper .columns-footer__two-item a:hover,.columns-footer-wrapper .columns-footer__three-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__three-item.mt-separator{margin-top:1.5rem}.columns-footer-wrapper .columns-footer__three-item a{color:var(--text-secondary-70);text-decoration:none;font-size:1.1rem;display:inline-block;padding-bottom:2px;background-image:linear-gradient(var(--text-secondary-70),var(--text-secondary-70));background-size:100% 1px;background-position:0% 100%;background-repeat:no-repeat;transition:background-size .3s ease-in-out,background-position .3s ease-in-out}.columns-footer-wrapper .columns-footer__three-item a:hover{background-size:0% 1px;background-position:100% 100%;animation:linkMove .4s forwards}@keyframes linkMove{0%{background-size:100% 1px;background-position:0% 100%}50%{background-size:0% 1px;background-position:100% 100%}51%{background-size:0% 1px;background-position:0% 100%}to{background-size:100% 1px;background-position:0% 100%}}.columns-footer-wrapper .columns-footer__copyright-text{display:flex;flex-direction:column;align-items:center;margin-block:6rem 2rem;color:var(--text-secondary-70)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: ColumnsFooterComponent, decorators: [{
13
+ type: Component,
14
+ args: [{ selector: 'lib-columns-footer', imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
15
+ style: 'display: contents',
16
+ }, template: "<div class=\"columns-footer-wrapper col-span-full\">\n <div class=\"columns-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n @if (columns?.[0]; as column1) {\n <div class=\"columns-footer__one col-span-full sm:col-span-3 sm:col-start-1\">\n @if (column1.title) {\n <h4 class=\"columns-footer__one-title\">\n {{ column1.title }}\n </h4>\n }\n @if (column1.items && column1.items.length > 0) {\n <ul class=\"columns-footer__one-list\">\n @for (item of column1.items; track $index) {\n <li class=\"columns-footer__one-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[1]; as column2) {\n <div class=\"columns-footer__two col-span-full sm:col-span-6 sm:col-start-4\">\n @if (column2.title) {\n <h4 class=\"columns-footer__two-title\">\n {{ column2.title }}\n </h4>\n }\n @if (column2.items && column2.items.length > 0) {\n <ul class=\"columns-footer__two-list\">\n @for (item of column2.items; track $index) {\n <li class=\"columns-footer__two-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[2]; as column3) {\n <div class=\"columns-footer__three col-span-full sm:col-span-3 sm:col-start-10\">\n @if (column3.title) {\n <h4 class=\"columns-footer__three-title\">\n {{ column3.title }}\n </h4>\n }\n @if (column3.items && column3.items.length > 0) {\n <ul class=\"columns-footer__three-list\">\n @for (item of column3.items; track $index) {\n <li class=\"columns-footer__three-item\" [class.mt-separator]=\"$index > 0 && item.linkType !== column3.items[$index - 1].linkType\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n <div class=\"columns-footer__copyright col-span-full sm:col-span-12 sm:col-start-1\">\n @if (copyright) {\n <div class=\"columns-footer__copyright-text\">\n <span>{{ copyright.year }}</span>\n <span>{{ copyright.name }}</span>\n <span>{{ copyright.rights }}</span>\n </div>\n }\n </div>\n</div>\n", styles: [".columns-footer-wrapper{background-color:var(--content-bg-dark);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%)}.columns-footer-wrapper .columns-footer__one-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__one-item a{color:var(--text-secondary-70);text-transform:capitalize;font-size:1.1rem}.columns-footer-wrapper .columns-footer__one-item a:hover{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__two{justify-items:center}@media (max-width: 480px){.columns-footer-wrapper .columns-footer__two{justify-items:start}}.columns-footer-wrapper .columns-footer__two-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__two-item{margin-bottom:1rem;justify-items:center;justify-self:center}@media (max-width: 480px){.columns-footer-wrapper .columns-footer__two-item{justify-items:start;justify-self:start}}.columns-footer-wrapper .columns-footer__two-item a{color:var(--text-secondary-70);text-transform:uppercase;font-size:1.1rem}.columns-footer-wrapper .columns-footer__two-item a:hover,.columns-footer-wrapper .columns-footer__three-title{color:var(--text-secondary)}.columns-footer-wrapper .columns-footer__three-item.mt-separator{margin-top:1.5rem}.columns-footer-wrapper .columns-footer__three-item a{color:var(--text-secondary-70);text-decoration:none;font-size:1.1rem;display:inline-block;padding-bottom:2px;background-image:linear-gradient(var(--text-secondary-70),var(--text-secondary-70));background-size:100% 1px;background-position:0% 100%;background-repeat:no-repeat;transition:background-size .3s ease-in-out,background-position .3s ease-in-out}.columns-footer-wrapper .columns-footer__three-item a:hover{background-size:0% 1px;background-position:100% 100%;animation:linkMove .4s forwards}@keyframes linkMove{0%{background-size:100% 1px;background-position:0% 100%}50%{background-size:0% 1px;background-position:100% 100%}51%{background-size:0% 1px;background-position:0% 100%}to{background-size:100% 1px;background-position:0% 100%}}.columns-footer-wrapper .columns-footer__copyright-text{display:flex;flex-direction:column;align-items:center;margin-block:6rem 2rem;color:var(--text-secondary-70)}\n"] }]
17
+ }], propDecorators: { columns: [{
18
+ type: Input
19
+ }], copyright: [{
20
+ type: Input
21
+ }] } });
22
+
23
+ /**
24
+ * Generated bundle index. Do not edit.
25
+ */
26
+
27
+ export { ColumnsFooterComponent };
28
+ //# sourceMappingURL=lluc_llull-ui-lib-footers-columns-footer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-footers-columns-footer.mjs","sources":["../../../projects/ui-lib/footers/columns-footer/columns-footer.component.ts","../../../projects/ui-lib/footers/columns-footer/columns-footer.component.html","../../../projects/ui-lib/footers/columns-footer/lluc_llull-ui-lib-footers-columns-footer.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\n\n@Component({\n selector: 'lib-columns-footer',\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './columns-footer.component.html',\n styleUrl: './columns-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class ColumnsFooterComponent {\n @Input() columns?: ColumnsFooterItemI[];\n @Input() copyright?: ColumnsFooterCopyRightI;\n}\n\nexport interface ColumnsFooterItemI {\n title: string;\n items: UiLibButtonI[];\n}\n\nexport interface ColumnsFooterCopyRightI {\n year: string;\n name?: string;\n rights?: string;\n}\n","<div class=\"columns-footer-wrapper col-span-full\">\n <div class=\"columns-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n @if (columns?.[0]; as column1) {\n <div class=\"columns-footer__one col-span-full sm:col-span-3 sm:col-start-1\">\n @if (column1.title) {\n <h4 class=\"columns-footer__one-title\">\n {{ column1.title }}\n </h4>\n }\n @if (column1.items && column1.items.length > 0) {\n <ul class=\"columns-footer__one-list\">\n @for (item of column1.items; track $index) {\n <li class=\"columns-footer__one-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[1]; as column2) {\n <div class=\"columns-footer__two col-span-full sm:col-span-6 sm:col-start-4\">\n @if (column2.title) {\n <h4 class=\"columns-footer__two-title\">\n {{ column2.title }}\n </h4>\n }\n @if (column2.items && column2.items.length > 0) {\n <ul class=\"columns-footer__two-list\">\n @for (item of column2.items; track $index) {\n <li class=\"columns-footer__two-item\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n @if (columns?.[2]; as column3) {\n <div class=\"columns-footer__three col-span-full sm:col-span-3 sm:col-start-10\">\n @if (column3.title) {\n <h4 class=\"columns-footer__three-title\">\n {{ column3.title }}\n </h4>\n }\n @if (column3.items && column3.items.length > 0) {\n <ul class=\"columns-footer__three-list\">\n @for (item of column3.items; track $index) {\n <li class=\"columns-footer__three-item\" [class.mt-separator]=\"$index > 0 && item.linkType !== column3.items[$index - 1].linkType\">\n <a [href]=\"item.url\" [linkType]=\"item.linkType\">{{ item.label }}</a>\n </li>\n }\n </ul>\n }\n </div>\n }\n </div>\n <div class=\"columns-footer__copyright col-span-full sm:col-span-12 sm:col-start-1\">\n @if (copyright) {\n <div class=\"columns-footer__copyright-text\">\n <span>{{ copyright.year }}</span>\n <span>{{ copyright.name }}</span>\n <span>{{ copyright.rights }}</span>\n </div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAea,sBAAsB,CAAA;AACxB,IAAA,OAAO;AACP,IAAA,SAAS;wGAFP,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECfnC,6hFAmEA,EAAA,MAAA,EAAA,CAAA,4sEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED5Dc,YAAY,+BAAE,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQhC,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;+BACI,oBAAoB,EAAA,OAAA,EACrB,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,6hFAAA,EAAA,MAAA,EAAA,CAAA,4sEAAA,CAAA,EAAA;8BAGM,OAAO,EAAA,CAAA;sBAAf;gBACQ,SAAS,EAAA,CAAA;sBAAjB;;;AEjBH;;AAEG;;;;"}
@@ -0,0 +1,38 @@
1
+ import * as i1 from '@angular/common';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from '@angular/core';
4
+ import { Input, Component } from '@angular/core';
5
+ import { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
6
+
7
+ class LegalFooterComponent {
8
+ year;
9
+ brand;
10
+ credits;
11
+ links;
12
+ variant = 'simple';
13
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LegalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LegalFooterComponent, isStandalone: true, selector: "lib-legal-footer", inputs: { year: "year", brand: "brand", credits: "credits", links: "links", variant: "variant" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div class=\"legal-footer col-span-full sm:col-span-12 sm:col-start-1\" [ngClass]=\"variant\">\n <!-- Variante simple -->\n @if (variant === 'simple') {\n <div class=\"legal-footer__simple main-grid col-span-full\">\n <span class=\"legal-footer__simple-brand col-span-full sm:col-span-6 sm:col-start-1\">\n <b>{{ brand }} \u00A9 {{ year }}</b>\n </span>\n <span class=\"legal-footer__simple-credits col-span-full sm:col-span-6 sm:col-start-7\">{{ credits }}</span>\n </div>\n }\n\n <!-- Variante extendida -->\n @if (variant === 'extended') {\n <div class=\"legal-footer__extended col-span-full\">\n <span class=\"legal-footer__year col-span-full sm:col-span-3 sm:col-start-1\">\n <b>{{ brand }} \u00A9 {{ year }}</b>\n </span>\n\n <div class=\"legal-footer__right col-span-full sm:col-span-9 sm:col-start-4\">\n @if (links?.length) {\n <ul class=\"legal-footer__links\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\">{{ link.label }}</a>\n </li>\n }\n <li class=\"legal-footer__credits\">{{ credits }}</li>\n </ul>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-primary-raw: 0, 123, 255;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #e2e8f0;--color-secondary-raw: 226, 232, 240;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #1a1d21;--header-bg-fixed-light: #e2e8f0;--header-mobile-bg: #1a1d21;--header-logo-text: #e2e8f0;--header-logo-text-dark: #e2e8f0;--header-logo-text-light: #1a1d21;--header-link: #e2e8f0;--header-link-hover: #60a5fa;--footer-bg: #0f1117;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #e2e8f0;--footer-arrows-hover: #0f1117;--footer-arrows-bg: #2a2d35;--footer-arrows-bg-hover: #3a3d45;--content-bg: #0f1117;--content-bg-light: #0f1117;--content-bg-dark: #f5f5f5;--content-overlay: rgba(0, 0, 0, .6);--text-primary: #e2e8f0;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(226, 232, 240, .3);--text-inverse: #0f1117;--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-secondary: #343840;--border-focus: #60a5fa;--divider: rgba(226, 232, 240, .08);--progress-color: var(--text-primary);--progress-bg: #60a5fa;--tag-color: var(--text-primary);--tag-bg: #1e3a5f;--button-primary-bg: #007bff;--button-primary-text: #ffffff;--button-primary-bg-hover: #1a6fd4;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #60a5fa;--button-primary-outline-text: #60a5fa;--button-primary-outline-bg-hover: #007bff;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #60a5fa;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(226, 232, 240, .06);--button-header-text-hover: var(--text-primary)}:root[data-theme=light]{color-scheme:light;--color-primary: #0066dd;--color-primary-raw: 0, 102, 221;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #334155;--color-secondary-raw: 51, 65, 85;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #0a0a0a;--header-bg-fixed-light: #f5f3ef;--header-mobile-bg: #f5f3ef;--header-logo-text: #1e2530;--header-logo-text-dark: #f5f3ef;--header-logo-text-light: #0a0a0a;--header-link: #1e2530;--header-link-hover: #0066dd;--footer-bg: #1e2530;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #1e2530;--footer-arrows-hover: #f5f3ef;--footer-arrows-bg: #e2e8f0;--footer-arrows-bg-hover: #cbd5e1;--content-bg: #f5f3ef;--content-bg-light: #f5f5f5;--content-bg-dark: #0f1117;--content-overlay: rgba(0, 0, 0, .35);--text-primary: #1e2530;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(30, 37, 48, .3);--text-inverse: #f5f3ef;--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-secondary: #c8c2b6;--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--button-primary-bg: #0066dd;--button-primary-text: #ffffff;--button-primary-bg-hover: #0052b3;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #0066dd;--button-primary-outline-text: #0066dd;--button-primary-outline-bg-hover: #0066dd;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #0066dd;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(30, 37, 48, .06);--button-header-text-hover: var(--text-primary)}.legal-footer{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);font-size:var(--font-size-base);background-color:var(--footer-bg);color:var(--footer-text)}.legal-footer__simple{color:var(--footer-text)}.legal-footer__simple-credits{text-align:right}@media (max-width: 768px){.legal-footer__simple,.legal-footer__simple-credits{text-align:center}}.legal-footer .legal-footer__links{list-style:none;margin:0;padding:0}.legal-footer .legal-footer__links a{text-decoration:none;color:var(--footer-links)}.legal-footer .legal-footer__links a:hover{color:var(--footer-links-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LegalFooterComponent, decorators: [{
17
+ type: Component,
18
+ args: [{ selector: 'lib-legal-footer', standalone: true, imports: [CommonModule, LinkTypeDirective], host: {
19
+ style: 'display: contents',
20
+ }, template: "<div class=\"legal-footer col-span-full sm:col-span-12 sm:col-start-1\" [ngClass]=\"variant\">\n <!-- Variante simple -->\n @if (variant === 'simple') {\n <div class=\"legal-footer__simple main-grid col-span-full\">\n <span class=\"legal-footer__simple-brand col-span-full sm:col-span-6 sm:col-start-1\">\n <b>{{ brand }} \u00A9 {{ year }}</b>\n </span>\n <span class=\"legal-footer__simple-credits col-span-full sm:col-span-6 sm:col-start-7\">{{ credits }}</span>\n </div>\n }\n\n <!-- Variante extendida -->\n @if (variant === 'extended') {\n <div class=\"legal-footer__extended col-span-full\">\n <span class=\"legal-footer__year col-span-full sm:col-span-3 sm:col-start-1\">\n <b>{{ brand }} \u00A9 {{ year }}</b>\n </span>\n\n <div class=\"legal-footer__right col-span-full sm:col-span-9 sm:col-start-4\">\n @if (links?.length) {\n <ul class=\"legal-footer__links\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\">{{ link.label }}</a>\n </li>\n }\n <li class=\"legal-footer__credits\">{{ credits }}</li>\n </ul>\n }\n </div>\n </div>\n }\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-primary-raw: 0, 123, 255;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #e2e8f0;--color-secondary-raw: 226, 232, 240;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #1a1d21;--header-bg-fixed-light: #e2e8f0;--header-mobile-bg: #1a1d21;--header-logo-text: #e2e8f0;--header-logo-text-dark: #e2e8f0;--header-logo-text-light: #1a1d21;--header-link: #e2e8f0;--header-link-hover: #60a5fa;--footer-bg: #0f1117;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #e2e8f0;--footer-arrows-hover: #0f1117;--footer-arrows-bg: #2a2d35;--footer-arrows-bg-hover: #3a3d45;--content-bg: #0f1117;--content-bg-light: #0f1117;--content-bg-dark: #f5f5f5;--content-overlay: rgba(0, 0, 0, .6);--text-primary: #e2e8f0;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(226, 232, 240, .3);--text-inverse: #0f1117;--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-secondary: #343840;--border-focus: #60a5fa;--divider: rgba(226, 232, 240, .08);--progress-color: var(--text-primary);--progress-bg: #60a5fa;--tag-color: var(--text-primary);--tag-bg: #1e3a5f;--button-primary-bg: #007bff;--button-primary-text: #ffffff;--button-primary-bg-hover: #1a6fd4;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #60a5fa;--button-primary-outline-text: #60a5fa;--button-primary-outline-bg-hover: #007bff;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #60a5fa;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(226, 232, 240, .06);--button-header-text-hover: var(--text-primary)}:root[data-theme=light]{color-scheme:light;--color-primary: #0066dd;--color-primary-raw: 0, 102, 221;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #334155;--color-secondary-raw: 51, 65, 85;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #0a0a0a;--header-bg-fixed-light: #f5f3ef;--header-mobile-bg: #f5f3ef;--header-logo-text: #1e2530;--header-logo-text-dark: #f5f3ef;--header-logo-text-light: #0a0a0a;--header-link: #1e2530;--header-link-hover: #0066dd;--footer-bg: #1e2530;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #1e2530;--footer-arrows-hover: #f5f3ef;--footer-arrows-bg: #e2e8f0;--footer-arrows-bg-hover: #cbd5e1;--content-bg: #f5f3ef;--content-bg-light: #f5f5f5;--content-bg-dark: #0f1117;--content-overlay: rgba(0, 0, 0, .35);--text-primary: #1e2530;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(30, 37, 48, .3);--text-inverse: #f5f3ef;--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-secondary: #c8c2b6;--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--button-primary-bg: #0066dd;--button-primary-text: #ffffff;--button-primary-bg-hover: #0052b3;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #0066dd;--button-primary-outline-text: #0066dd;--button-primary-outline-bg-hover: #0066dd;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #0066dd;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(30, 37, 48, .06);--button-header-text-hover: var(--text-primary)}.legal-footer{margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);font-size:var(--font-size-base);background-color:var(--footer-bg);color:var(--footer-text)}.legal-footer__simple{color:var(--footer-text)}.legal-footer__simple-credits{text-align:right}@media (max-width: 768px){.legal-footer__simple,.legal-footer__simple-credits{text-align:center}}.legal-footer .legal-footer__links{list-style:none;margin:0;padding:0}.legal-footer .legal-footer__links a{text-decoration:none;color:var(--footer-links)}.legal-footer .legal-footer__links a:hover{color:var(--footer-links-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}\n"] }]
21
+ }], propDecorators: { year: [{
22
+ type: Input
23
+ }], brand: [{
24
+ type: Input
25
+ }], credits: [{
26
+ type: Input
27
+ }], links: [{
28
+ type: Input
29
+ }], variant: [{
30
+ type: Input
31
+ }] } });
32
+
33
+ /**
34
+ * Generated bundle index. Do not edit.
35
+ */
36
+
37
+ export { LegalFooterComponent };
38
+ //# sourceMappingURL=lluc_llull-ui-lib-footers-legal-footer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-footers-legal-footer.mjs","sources":["../../../projects/ui-lib/footers/legal-footer/legal-footer.component.ts","../../../projects/ui-lib/footers/legal-footer/legal-footer.component.html","../../../projects/ui-lib/footers/legal-footer/lluc_llull-ui-lib-footers-legal-footer.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\nimport { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\n\nexport type LegalFooterVariant = 'simple' | 'extended';\n\n@Component({\n selector: 'lib-legal-footer',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './legal-footer.component.html',\n styleUrl: './legal-footer.component.scss',\n host: {\n style: 'display: contents',\n },\n})\nexport class LegalFooterComponent {\n @Input() year?: number;\n @Input() brand?: string;\n @Input() credits?: string;\n @Input() links?: UiLibButtonI[];\n @Input() variant: LegalFooterVariant = 'simple';\n}\n","<div class=\"legal-footer col-span-full sm:col-span-12 sm:col-start-1\" [ngClass]=\"variant\">\n <!-- Variante simple -->\n @if (variant === 'simple') {\n <div class=\"legal-footer__simple main-grid col-span-full\">\n <span class=\"legal-footer__simple-brand col-span-full sm:col-span-6 sm:col-start-1\">\n <b>{{ brand }} © {{ year }}</b>\n </span>\n <span class=\"legal-footer__simple-credits col-span-full sm:col-span-6 sm:col-start-7\">{{ credits }}</span>\n </div>\n }\n\n <!-- Variante extendida -->\n @if (variant === 'extended') {\n <div class=\"legal-footer__extended col-span-full\">\n <span class=\"legal-footer__year col-span-full sm:col-span-3 sm:col-start-1\">\n <b>{{ brand }} © {{ year }}</b>\n </span>\n\n <div class=\"legal-footer__right col-span-full sm:col-span-9 sm:col-start-4\">\n @if (links?.length) {\n <ul class=\"legal-footer__links\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\">{{ link.label }}</a>\n </li>\n }\n <li class=\"legal-footer__credits\">{{ credits }}</li>\n </ul>\n }\n </div>\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAiBa,oBAAoB,CAAA;AACpB,IAAA,IAAI;AACJ,IAAA,KAAK;AACL,IAAA,OAAO;AACP,IAAA,KAAK;IACL,OAAO,GAAuB,QAAQ;wGALtC,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAApB,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBjC,muCAiCA,EAAA,MAAA,EAAA,CAAA,mzRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvBc,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;4FAOb,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;+BACI,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAA,IAAA,EAGpC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,muCAAA,EAAA,MAAA,EAAA,CAAA,mzRAAA,CAAA,EAAA;8BAGQ,IAAI,EAAA,CAAA;sBAAZ;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,KAAK,EAAA,CAAA;sBAAb;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;AEtBL;;AAEG;;;;"}
@@ -0,0 +1,25 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
5
+
6
+ class LinksFooterComponent {
7
+ links;
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LinksFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: LinksFooterComponent, isStandalone: true, selector: "lib-links-footer", inputs: { links: "links" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "@if (links) {\n <div class=\"links-footer main-grid col-span-full\">\n <ul class=\"col-span-full\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\" [linkType]=\"link.linkType\" class=\"btn btn-link\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n}\n", styles: [".links-footer ul{display:flex;gap:6rem;list-style:none;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.links-footer ul{gap:1rem}}.links-footer ul li{position:relative}.links-footer ul li:before{content:\"\";position:absolute;display:block;height:15px;width:1px;background-color:var(--button-link-text);left:-3rem;top:50%;transform:translateY(-50%)}@media (max-width: 768px){.links-footer ul li:before{left:-.5rem}}.links-footer ul li:first-child:before{content:none}.links-footer a.btn-link{font-weight:400;font-size:.9rem;text-decoration:none;color:var(--button-link-text)}.links-footer a.btn-link:after{content:none!important}.links-footer a.btn-link:hover{color:var(--button-link-text-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: LinksFooterComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'lib-links-footer', standalone: true, imports: [CommonModule, LinkTypeDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
14
+ style: 'display: contents',
15
+ }, template: "@if (links) {\n <div class=\"links-footer main-grid col-span-full\">\n <ul class=\"col-span-full\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\" [linkType]=\"link.linkType\" class=\"btn btn-link\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n}\n", styles: [".links-footer ul{display:flex;gap:6rem;list-style:none;justify-content:center;flex-wrap:wrap}@media (max-width: 768px){.links-footer ul{gap:1rem}}.links-footer ul li{position:relative}.links-footer ul li:before{content:\"\";position:absolute;display:block;height:15px;width:1px;background-color:var(--button-link-text);left:-3rem;top:50%;transform:translateY(-50%)}@media (max-width: 768px){.links-footer ul li:before{left:-.5rem}}.links-footer ul li:first-child:before{content:none}.links-footer a.btn-link{font-weight:400;font-size:.9rem;text-decoration:none;color:var(--button-link-text)}.links-footer a.btn-link:after{content:none!important}.links-footer a.btn-link:hover{color:var(--button-link-text-hover);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}\n"] }]
16
+ }], propDecorators: { links: [{
17
+ type: Input
18
+ }] } });
19
+
20
+ /**
21
+ * Generated bundle index. Do not edit.
22
+ */
23
+
24
+ export { LinksFooterComponent };
25
+ //# sourceMappingURL=lluc_llull-ui-lib-footers-links-footer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-footers-links-footer.mjs","sources":["../../../projects/ui-lib/footers/links-footer/links-footer.component.ts","../../../projects/ui-lib/footers/links-footer/links-footer.component.html","../../../projects/ui-lib/footers/links-footer/lluc_llull-ui-lib-footers-links-footer.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\nimport { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\n\n@Component({\n selector: 'lib-links-footer',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective],\n templateUrl: './links-footer.component.html',\n styleUrl: './links-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class LinksFooterComponent {\n @Input() links?: UiLibButtonI[];\n}\n","@if (links) {\n <div class=\"links-footer main-grid col-span-full\">\n <ul class=\"col-span-full\">\n @for (link of links; track $index) {\n <li>\n <a [href]=\"link.url\" [linkType]=\"link.linkType\" class=\"btn btn-link\">\n {{ link.label }}\n </a>\n </li>\n }\n </ul>\n </div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAgBa,oBAAoB,CAAA;AACpB,IAAA,KAAK;wGADL,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAApB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChBjC,0VAaA,EAAA,MAAA,EAAA,CAAA,8xBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDLc,YAAY,+BAAE,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQhC,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,CAAC,EAAA,eAAA,EAGzB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,0VAAA,EAAA,MAAA,EAAA,CAAA,8xBAAA,CAAA,EAAA;8BAGQ,KAAK,EAAA,CAAA;sBAAb;;;AEjBL;;AAEG;;;;"}
@@ -0,0 +1,33 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { Input, ChangeDetectionStrategy, Component } from '@angular/core';
4
+ import { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';
5
+ import { SwiperDirective } from '@lluc_llull/ui-lib/sliders';
6
+ import { UiIconComponent } from '@lluc_llull/ui-lib/shared';
7
+
8
+ class SocialFooterComponent {
9
+ images;
10
+ socials;
11
+ hashtag;
12
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SocialFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: SocialFooterComponent, isStandalone: true, selector: "lib-social-footer", inputs: { images: "images", socials: "socials", hashtag: "hashtag" }, host: { styleAttribute: "display: contents" }, ngImport: i0, template: "<div class=\"social-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n <div class=\"social-footer__slider-images swiper col-span-full\" appSwiper>\n <div class=\"swiper-wrapper\">\n @for (image of images; track $index) {\n <div class=\"swiper-slide\">\n <img [src]=\"image?.url\" [alt]=\"image?.alt || ''\" />\n </div>\n }\n </div>\n <div class=\"swiper-button-prev\">\n <ui-icon name=\"arrow-left\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n <div class=\"swiper-button-next\">\n <ui-icon name=\"arrow-right\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n </div>\n\n <div class=\"social-footer__bottom-section main-grid col-span-full\">\n @if (hashtag) {\n <div class=\"social-footer__hashtag col-span-full sm:col-span-6 sm:col-start-1\">\n <span>{{ hashtag }}</span>\n </div>\n }\n @if (socials) {\n <div class=\"social-footer__socials col-span-full sm:col-span-6 sm:col-start-7\">\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [attr.aria-label]=\"social.label\" [linkType]=\"social.linkType\">\n @if (social.icon) {\n <ui-icon [name]=\"social.icon\" [size]=\"28\"></ui-icon>\n }\n </a>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-primary-raw: 0, 123, 255;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #e2e8f0;--color-secondary-raw: 226, 232, 240;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #1a1d21;--header-bg-fixed-light: #e2e8f0;--header-mobile-bg: #1a1d21;--header-logo-text: #e2e8f0;--header-logo-text-dark: #e2e8f0;--header-logo-text-light: #1a1d21;--header-link: #e2e8f0;--header-link-hover: #60a5fa;--footer-bg: #0f1117;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #e2e8f0;--footer-arrows-hover: #0f1117;--footer-arrows-bg: #2a2d35;--footer-arrows-bg-hover: #3a3d45;--content-bg: #0f1117;--content-bg-light: #0f1117;--content-bg-dark: #f5f5f5;--content-overlay: rgba(0, 0, 0, .6);--text-primary: #e2e8f0;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(226, 232, 240, .3);--text-inverse: #0f1117;--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-secondary: #343840;--border-focus: #60a5fa;--divider: rgba(226, 232, 240, .08);--progress-color: var(--text-primary);--progress-bg: #60a5fa;--tag-color: var(--text-primary);--tag-bg: #1e3a5f;--button-primary-bg: #007bff;--button-primary-text: #ffffff;--button-primary-bg-hover: #1a6fd4;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #60a5fa;--button-primary-outline-text: #60a5fa;--button-primary-outline-bg-hover: #007bff;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #60a5fa;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(226, 232, 240, .06);--button-header-text-hover: var(--text-primary)}:root[data-theme=light]{color-scheme:light;--color-primary: #0066dd;--color-primary-raw: 0, 102, 221;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #334155;--color-secondary-raw: 51, 65, 85;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #0a0a0a;--header-bg-fixed-light: #f5f3ef;--header-mobile-bg: #f5f3ef;--header-logo-text: #1e2530;--header-logo-text-dark: #f5f3ef;--header-logo-text-light: #0a0a0a;--header-link: #1e2530;--header-link-hover: #0066dd;--footer-bg: #1e2530;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #1e2530;--footer-arrows-hover: #f5f3ef;--footer-arrows-bg: #e2e8f0;--footer-arrows-bg-hover: #cbd5e1;--content-bg: #f5f3ef;--content-bg-light: #f5f5f5;--content-bg-dark: #0f1117;--content-overlay: rgba(0, 0, 0, .35);--text-primary: #1e2530;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(30, 37, 48, .3);--text-inverse: #f5f3ef;--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-secondary: #c8c2b6;--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--button-primary-bg: #0066dd;--button-primary-text: #ffffff;--button-primary-bg-hover: #0052b3;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #0066dd;--button-primary-outline-text: #0066dd;--button-primary-outline-bg-hover: #0066dd;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #0066dd;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(30, 37, 48, .06);--button-header-text-hover: var(--text-primary)}.social-footer{text-align:center}.social-footer__slider-images{position:relative}.social-footer__slider-images .swiper-wrapper{display:flex;align-items:center}.social-footer__slider-images .swiper-slide{flex:0 0 auto;width:auto}.social-footer__slider-images .swiper-slide img{display:block;border-radius:.75rem;width:160px;height:auto;object-fit:cover}.social-footer__slider-images .swiper-button-prev,.social-footer__slider-images .swiper-button-next{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:32px;height:32px;border-radius:50%;background:var(--footer-arrows-bg);color:var(--footer-arrows)}.social-footer__slider-images .swiper-button-prev ui-icon,.social-footer__slider-images .swiper-button-prev lucide-icon,.social-footer__slider-images .swiper-button-prev svg,.social-footer__slider-images .swiper-button-next ui-icon,.social-footer__slider-images .swiper-button-next lucide-icon,.social-footer__slider-images .swiper-button-next svg{display:block;width:18px;height:18px}.social-footer__slider-images .swiper-button-prev:hover,.social-footer__slider-images .swiper-button-next:hover{background:var(--footer-arrows-bg-hover);color:var(--footer-arrows-hover)}.social-footer__slider-images .swiper-button-prev{left:1rem}.social-footer__slider-images .swiper-button-next{right:1rem}.social-footer__slider-images .swiper-button-prev:after,.social-footer__slider-images .swiper-button-next:after{content:none!important}.social-footer__bottom-section{gap:1rem}.social-footer__hashtag{font-size:2rem;font-weight:700;text-align:left}.social-footer__socials{justify-content:right;display:flex;gap:1.5rem}.social-footer__socials a{font-size:1.25rem;color:var(--footer-text, #999);transition:color .3s ease}.social-footer__socials a:hover{color:var(--footer-link-hover, #000)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: LinkTypeDirective, selector: "[linkType]", inputs: ["linkType", "href"], outputs: ["anchorClicked"] }, { kind: "directive", type: SwiperDirective, selector: "[appSwiper]", inputs: ["swiperConfig"] }, { kind: "component", type: UiIconComponent, selector: "ui-icon", inputs: ["name", "size", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: SocialFooterComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'lib-social-footer', standalone: true, imports: [CommonModule, LinkTypeDirective, SwiperDirective, UiIconComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: {
18
+ style: 'display: contents',
19
+ }, template: "<div class=\"social-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n <div class=\"social-footer__slider-images swiper col-span-full\" appSwiper>\n <div class=\"swiper-wrapper\">\n @for (image of images; track $index) {\n <div class=\"swiper-slide\">\n <img [src]=\"image?.url\" [alt]=\"image?.alt || ''\" />\n </div>\n }\n </div>\n <div class=\"swiper-button-prev\">\n <ui-icon name=\"arrow-left\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n <div class=\"swiper-button-next\">\n <ui-icon name=\"arrow-right\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n </div>\n\n <div class=\"social-footer__bottom-section main-grid col-span-full\">\n @if (hashtag) {\n <div class=\"social-footer__hashtag col-span-full sm:col-span-6 sm:col-start-1\">\n <span>{{ hashtag }}</span>\n </div>\n }\n @if (socials) {\n <div class=\"social-footer__socials col-span-full sm:col-span-6 sm:col-start-7\">\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [attr.aria-label]=\"social.label\" [linkType]=\"social.linkType\">\n @if (social.icon) {\n <ui-icon [name]=\"social.icon\" [size]=\"28\"></ui-icon>\n }\n </a>\n }\n </div>\n }\n </div>\n</div>\n", styles: [":root[data-theme=dark]{color-scheme:dark;--color-primary: #007bff;--color-primary-raw: 0, 123, 255;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #e2e8f0;--color-secondary-raw: 226, 232, 240;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #1a1d21;--header-bg-fixed-light: #e2e8f0;--header-mobile-bg: #1a1d21;--header-logo-text: #e2e8f0;--header-logo-text-dark: #e2e8f0;--header-logo-text-light: #1a1d21;--header-link: #e2e8f0;--header-link-hover: #60a5fa;--footer-bg: #0f1117;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #e2e8f0;--footer-arrows-hover: #0f1117;--footer-arrows-bg: #2a2d35;--footer-arrows-bg-hover: #3a3d45;--content-bg: #0f1117;--content-bg-light: #0f1117;--content-bg-dark: #f5f5f5;--content-overlay: rgba(0, 0, 0, .6);--text-primary: #e2e8f0;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(226, 232, 240, .3);--text-inverse: #0f1117;--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-secondary: #343840;--border-focus: #60a5fa;--divider: rgba(226, 232, 240, .08);--progress-color: var(--text-primary);--progress-bg: #60a5fa;--tag-color: var(--text-primary);--tag-bg: #1e3a5f;--button-primary-bg: #007bff;--button-primary-text: #ffffff;--button-primary-bg-hover: #1a6fd4;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #60a5fa;--button-primary-outline-text: #60a5fa;--button-primary-outline-bg-hover: #007bff;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #60a5fa;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(226, 232, 240, .06);--button-header-text-hover: var(--text-primary)}:root[data-theme=light]{color-scheme:light;--color-primary: #0066dd;--color-primary-raw: 0, 102, 221;--color-primary-10: rgba(var(--color-primary-raw), .1);--color-primary-20: rgba(var(--color-primary-raw), .2);--color-primary-30: rgba(var(--color-primary-raw), .3);--color-primary-40: rgba(var(--color-primary-raw), .4);--color-primary-50: rgba(var(--color-primary-raw), .5);--color-primary-60: rgba(var(--color-primary-raw), .6);--color-primary-70: rgba(var(--color-primary-raw), .7);--color-primary-80: rgba(var(--color-primary-raw), .8);--color-primary-90: rgba(var(--color-primary-raw), .9);--color-secondary: #334155;--color-secondary-raw: 51, 65, 85;--color-secondary-10: rgba(var(--color-secondary-raw), .1);--color-secondary-20: rgba(var(--color-secondary-raw), .2);--color-secondary-30: rgba(var(--color-secondary-raw), .3);--color-secondary-40: rgba(var(--color-secondary-raw), .4);--color-secondary-50: rgba(var(--color-secondary-raw), .5);--color-secondary-60: rgba(var(--color-secondary-raw), .6);--color-secondary-70: rgba(var(--color-secondary-raw), .7);--color-secondary-80: rgba(var(--color-secondary-raw), .8);--color-secondary-90: rgba(var(--color-secondary-raw), .9);--header-bg: transparent;--header-bg-fixed-dark: #0a0a0a;--header-bg-fixed-light: #f5f3ef;--header-mobile-bg: #f5f3ef;--header-logo-text: #1e2530;--header-logo-text-dark: #f5f3ef;--header-logo-text-light: #0a0a0a;--header-link: #1e2530;--header-link-hover: #0066dd;--footer-bg: #1e2530;--footer-text: #e2e8f0;--footer-text-hover: #60a5fa;--footer-links: #e2e8f0;--footer-links-hover: #60a5fa;--footer-arrows: #1e2530;--footer-arrows-hover: #f5f3ef;--footer-arrows-bg: #e2e8f0;--footer-arrows-bg-hover: #cbd5e1;--content-bg: #f5f3ef;--content-bg-light: #f5f5f5;--content-bg-dark: #0f1117;--content-overlay: rgba(0, 0, 0, .35);--text-primary: #1e2530;--text-primary-raw: 30, 37, 48;--text-primary-10: rgba(var(--text-primary-raw), .1);--text-primary-20: rgba(var(--text-primary-raw), .2);--text-primary-30: rgba(var(--text-primary-raw), .3);--text-primary-40: rgba(var(--text-primary-raw), .4);--text-primary-50: rgba(var(--text-primary-raw), .5);--text-primary-60: rgba(var(--text-primary-raw), .6);--text-primary-70: rgba(var(--text-primary-raw), .7);--text-primary-80: rgba(var(--text-primary-raw), .8);--text-primary-90: rgba(var(--text-primary-raw), .9);--text-secondary: rgba(30, 37, 48, .6);--text-secondary-raw: 30, 37, 48;--text-secondary-10: rgba(var(--text-secondary-raw), .1);--text-secondary-20: rgba(var(--text-secondary-raw), .2);--text-secondary-30: rgba(var(--text-secondary-raw), .3);--text-secondary-40: rgba(var(--text-secondary-raw), .4);--text-secondary-50: rgba(var(--text-secondary-raw), .5);--text-secondary-60: rgba(var(--text-secondary-raw), .6);--text-secondary-70: rgba(var(--text-secondary-raw), .7);--text-secondary-80: rgba(var(--text-secondary-raw), .8);--text-secondary-90: rgba(var(--text-secondary-raw), .9);--text-disabled: rgba(30, 37, 48, .3);--text-inverse: #f5f3ef;--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-secondary: #c8c2b6;--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--button-primary-bg: #0066dd;--button-primary-text: #ffffff;--button-primary-bg-hover: #0052b3;--button-primary-text-hover: #ffffff;--button-primary-outline-border: #0066dd;--button-primary-outline-text: #0066dd;--button-primary-outline-bg-hover: #0066dd;--button-primary-outline-text-hover: #ffffff;--button-secondary-bg: var(--surface-secondary);--button-secondary-text: var(--text-primary);--button-secondary-bg-hover: var(--surface-tertiary);--button-secondary-text-hover: var(--text-primary);--button-link-text: var(--text-primary);--button-link-text-hover: #0066dd;--button-header-bg: transparent;--button-header-text: var(--text-primary);--button-header-bg-hover: rgba(30, 37, 48, .06);--button-header-text-hover: var(--text-primary)}.social-footer{text-align:center}.social-footer__slider-images{position:relative}.social-footer__slider-images .swiper-wrapper{display:flex;align-items:center}.social-footer__slider-images .swiper-slide{flex:0 0 auto;width:auto}.social-footer__slider-images .swiper-slide img{display:block;border-radius:.75rem;width:160px;height:auto;object-fit:cover}.social-footer__slider-images .swiper-button-prev,.social-footer__slider-images .swiper-button-next{display:flex;align-items:center;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:32px;height:32px;border-radius:50%;background:var(--footer-arrows-bg);color:var(--footer-arrows)}.social-footer__slider-images .swiper-button-prev ui-icon,.social-footer__slider-images .swiper-button-prev lucide-icon,.social-footer__slider-images .swiper-button-prev svg,.social-footer__slider-images .swiper-button-next ui-icon,.social-footer__slider-images .swiper-button-next lucide-icon,.social-footer__slider-images .swiper-button-next svg{display:block;width:18px;height:18px}.social-footer__slider-images .swiper-button-prev:hover,.social-footer__slider-images .swiper-button-next:hover{background:var(--footer-arrows-bg-hover);color:var(--footer-arrows-hover)}.social-footer__slider-images .swiper-button-prev{left:1rem}.social-footer__slider-images .swiper-button-next{right:1rem}.social-footer__slider-images .swiper-button-prev:after,.social-footer__slider-images .swiper-button-next:after{content:none!important}.social-footer__bottom-section{gap:1rem}.social-footer__hashtag{font-size:2rem;font-weight:700;text-align:left}.social-footer__socials{justify-content:right;display:flex;gap:1.5rem}.social-footer__socials a{font-size:1.25rem;color:var(--footer-text, #999);transition:color .3s ease}.social-footer__socials a:hover{color:var(--footer-link-hover, #000)}\n"] }]
20
+ }], propDecorators: { images: [{
21
+ type: Input
22
+ }], socials: [{
23
+ type: Input
24
+ }], hashtag: [{
25
+ type: Input
26
+ }] } });
27
+
28
+ /**
29
+ * Generated bundle index. Do not edit.
30
+ */
31
+
32
+ export { SocialFooterComponent };
33
+ //# sourceMappingURL=lluc_llull-ui-lib-footers-social-footer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lluc_llull-ui-lib-footers-social-footer.mjs","sources":["../../../projects/ui-lib/footers/social-footer/social-footer.component.ts","../../../projects/ui-lib/footers/social-footer/social-footer.component.html","../../../projects/ui-lib/footers/social-footer/lluc_llull-ui-lib-footers-social-footer.ts"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI, UiLibImageI } from '@lluc_llull/ui-lib/interfaces';\nimport { LinkTypeDirective } from '@lluc_llull/ui-lib/directives';\nimport { SwiperDirective } from '@lluc_llull/ui-lib/sliders';\nimport { UiIconComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-social-footer',\n standalone: true,\n imports: [CommonModule, LinkTypeDirective, SwiperDirective, UiIconComponent],\n templateUrl: './social-footer.component.html',\n styleUrl: './social-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n style: 'display: contents',\n },\n})\nexport class SocialFooterComponent {\n @Input() images?: UiLibImageI[];\n @Input() socials?: UiLibButtonI[];\n @Input() hashtag?: string;\n}\n","<div class=\"social-footer main-grid col-span-full sm:col-span-12 sm:col-start-1\">\n <div class=\"social-footer__slider-images swiper col-span-full\" appSwiper>\n <div class=\"swiper-wrapper\">\n @for (image of images; track $index) {\n <div class=\"swiper-slide\">\n <img [src]=\"image?.url\" [alt]=\"image?.alt || ''\" />\n </div>\n }\n </div>\n <div class=\"swiper-button-prev\">\n <ui-icon name=\"arrow-left\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n <div class=\"swiper-button-next\">\n <ui-icon name=\"arrow-right\" [size]=\"17\" color=\"#fff\"></ui-icon>\n </div>\n </div>\n\n <div class=\"social-footer__bottom-section main-grid col-span-full\">\n @if (hashtag) {\n <div class=\"social-footer__hashtag col-span-full sm:col-span-6 sm:col-start-1\">\n <span>{{ hashtag }}</span>\n </div>\n }\n @if (socials) {\n <div class=\"social-footer__socials col-span-full sm:col-span-6 sm:col-start-7\">\n @for (social of socials; track $index) {\n <a [href]=\"social.url\" [attr.aria-label]=\"social.label\" [linkType]=\"social.linkType\">\n @if (social.icon) {\n <ui-icon [name]=\"social.icon\" [size]=\"28\"></ui-icon>\n }\n </a>\n }\n </div>\n }\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAkBa,qBAAqB,CAAA;AACrB,IAAA,MAAM;AACN,IAAA,OAAO;AACP,IAAA,OAAO;wGAHP,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;4FAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClBlC,q0CAoCA,EAAA,MAAA,EAAA,CAAA,s5TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1Bc,YAAY,+BAAE,iBAAiB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FAQlE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAXjC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,cACjB,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC,EAAA,eAAA,EAG3D,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,mBAAmB;AAC7B,qBAAA,EAAA,QAAA,EAAA,q0CAAA,EAAA,MAAA,EAAA,CAAA,s5TAAA,CAAA,EAAA;8BAGQ,MAAM,EAAA,CAAA;sBAAd;gBACQ,OAAO,EAAA,CAAA;sBAAf;gBACQ,OAAO,EAAA,CAAA;sBAAf;;;AErBL;;AAEG;;;;"}