@lluc_llull/ui-lib 0.34.3 → 0.36.0
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.
- package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs +10 -3
- package/fesm2022/lluc_llull-ui-lib-content-asymmetric-media.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs +18 -5
- package/fesm2022/lluc_llull-ui-lib-content-category-progress.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs +10 -3
- package/fesm2022/lluc_llull-ui-lib-content-columns-media-stacked.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs +18 -5
- package/fesm2022/lluc_llull-ui-lib-content-contact-minimal.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs +6 -13
- package/fesm2022/lluc_llull-ui-lib-content-hero-section.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs +10 -3
- package/fesm2022/lluc_llull-ui-lib-content-media-intro.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs +34 -21
- package/fesm2022/lluc_llull-ui-lib-content-media-split.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs +10 -3
- package/fesm2022/lluc_llull-ui-lib-content-mosaic-grid.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs +8 -1
- package/fesm2022/lluc_llull-ui-lib-content-section-intro.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs +20 -7
- package/fesm2022/lluc_llull-ui-lib-content-split-previewer.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-split-showcase.mjs +12 -5
- package/fesm2022/lluc_llull-ui-lib-content-split-showcase.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs +18 -5
- package/fesm2022/lluc_llull-ui-lib-content-stacked-rows.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-content.mjs +172 -74
- package/fesm2022/lluc_llull-ui-lib-content.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-directives.mjs +230 -11
- package/fesm2022/lluc_llull-ui-lib-directives.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs +10 -4
- package/fesm2022/lluc_llull-ui-lib-feedback-404.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-feedback.mjs +10 -4
- package/fesm2022/lluc_llull-ui-lib-feedback.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs +39 -15
- package/fesm2022/lluc_llull-ui-lib-footers-columns-footer.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs +2 -2
- package/fesm2022/lluc_llull-ui-lib-footers-legal-footer.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs +2 -2
- package/fesm2022/lluc_llull-ui-lib-footers-social-footer.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs +2 -2
- package/fesm2022/lluc_llull-ui-lib-footers-visual-footer.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-footers.mjs +44 -21
- package/fesm2022/lluc_llull-ui-lib-footers.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-forms-contact-form.mjs +254 -0
- package/fesm2022/lluc_llull-ui-lib-forms-contact-form.mjs.map +1 -0
- package/fesm2022/lluc_llull-ui-lib-forms.mjs +443 -0
- package/fesm2022/lluc_llull-ui-lib-forms.mjs.map +1 -0
- package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs +4 -4
- package/fesm2022/lluc_llull-ui-lib-headers-header-clear.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs +2 -2
- package/fesm2022/lluc_llull-ui-lib-headers-header-mobile.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-headers.mjs +6 -6
- package/fesm2022/lluc_llull-ui-lib-headers.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-mapper.mjs +6 -1
- package/fesm2022/lluc_llull-ui-lib-mapper.mjs.map +1 -1
- package/fesm2022/lluc_llull-ui-lib-modals.mjs +4 -4
- package/fesm2022/lluc_llull-ui-lib-modals.mjs.map +1 -1
- package/package.json +10 -1
- package/src/lib/styles/main.css +71 -1
- package/styles/main.css +71 -1
- package/types/lluc_llull-ui-lib-content-category-progress.d.ts +10 -0
- package/types/lluc_llull-ui-lib-content-contact-minimal.d.ts +10 -0
- package/types/lluc_llull-ui-lib-content-split-previewer.d.ts +10 -0
- package/types/lluc_llull-ui-lib-content.d.ts +30 -0
- package/types/lluc_llull-ui-lib-directives.d.ts +51 -2
- package/types/lluc_llull-ui-lib-feedback-404.d.ts +10 -0
- package/types/lluc_llull-ui-lib-feedback.d.ts +10 -0
- package/types/lluc_llull-ui-lib-footers-columns-footer.d.ts +1 -0
- package/types/lluc_llull-ui-lib-footers.d.ts +1 -0
- package/types/lluc_llull-ui-lib-forms-contact-form.d.ts +86 -0
- package/types/lluc_llull-ui-lib-forms.d.ts +220 -0
- package/types/lluc_llull-ui-lib-mapper.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lluc_llull-ui-lib-directives.mjs","names":[],"sources":["../../../projects/ui-lib/directives/link-type.directive.ts","../../../projects/ui-lib/directives/highlight.directive.ts","../../../projects/ui-lib/directives/scroll-reveal.directive.ts","../../../projects/ui-lib/directives/header-scroll.directive.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n PLATFORM_ID,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LinkType } from '@lluc_llull/ui-lib/enums';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class LinkTypeDirective {\n private _linkType?: LinkType;\n private _href?: string;\n\n @Input() \n set linkType(value: LinkType | undefined) {\n this._linkType = value;\n this.updateElementAttributes();\n }\n get linkType(): LinkType | undefined { return this._linkType; }\n\n @Input() \n set href(value: string | undefined) {\n this._href = value;\n this.updateElementAttributes();\n }\n get href(): string { return this._href ?? ''; }\n\n @Output() anchorClicked = new EventEmitter<void>();\n\n constructor(\n private readonly router: Router,\n private readonly elRef: ElementRef<HTMLAnchorElement>,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (!this.linkType || !this.href) return;\n\n switch (this.linkType) {\n case 'internal':\n event.preventDefault();\n const targetUrl = this.elRef.nativeElement.getAttribute('href') ?? this.href;\n this.router.navigateByUrl(targetUrl);\n this.anchorClicked.emit();\n break;\n\n case 'anchor':\n event.preventDefault();\n this.scrollToAnchor(this.href);\n break;\n\n case 'nolink':\n event.preventDefault();\n break;\n\n case 'external':\n case 'pdf':\n default:\n break;\n }\n }\n\n private updateElementAttributes(): void {\n const element = this.elRef.nativeElement;\n if (!this.href) {\n element.removeAttribute('href');\n return;\n }\n\n const resolvedHref = this.resolveHref();\n element.setAttribute('href', resolvedHref);\n\n if (this.linkType === 'external' || this.linkType === 'pdf') {\n element.setAttribute('target', '_blank');\n element.setAttribute('rel', 'noopener noreferrer nofollow');\n } else {\n element.removeAttribute('target');\n element.removeAttribute('rel');\n }\n }\n\n private resolveHref(): string {\n if (this.href.startsWith('/') || this.href.startsWith('http') || this.href.startsWith('#')) {\n return this.href;\n }\n\n if (this.linkType === 'internal') {\n const lang = this.getCurrentLang();\n return `/${lang}/${this.href}`;\n }\n\n return this.href;\n }\n\n private getCurrentLang(): string {\n const url = this.router.url || '';\n const firstSegment = url.split('?')[0].split('#')[0].split('/')[1];\n return firstSegment || 'es';\n }\n\n private scrollToAnchor(id: string): void {\n if (!this.isBrowser) return;\n\n const cleanId = id.replace(/^#/, '');\n const el = document.getElementById(cleanId);\n if (!el) return;\n\n const yOffset = -160;\n const y = el.getBoundingClientRect().top + window.scrollY + yOffset;\n\n window.scrollTo({\n top: y,\n behavior: 'smooth',\n });\n\n this.anchorClicked.emit();\n }\n}\nexport { LinkType };","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[highlight]',\n standalone: true,\n})\nexport class HighlightDirective {\n @Input('highlight') highlightColor: string = '#FFFFFF';\n @Input() highlightThickness: number = 20;\n\n @HostBinding('style.background-image')\n get background() {\n const start = 65;\n const end = start + this.highlightThickness;\n\n return `linear-gradient(to bottom, \n transparent ${start}%, \n ${this.highlightColor} ${start}%, \n ${this.highlightColor} ${end}%, \n transparent ${end}%)`;\n }\n\n @HostBinding('style.background-size') size = '100% 100%';\n @HostBinding('style.display') display = 'inline';\n\n // desplazamiento\n @HostBinding('style.padding') padding = '0 10px';\n @HostBinding('style.margin') margin = '0 -10px'; // Compensa el padding para no mover el texto\n @HostBinding('style.box-decoration-break') break = 'clone';\n @HostBinding('style.-webkit-box-decoration-break') wBreak = 'clone';\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnInit, PLATFORM_ID, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[scrollReveal]',\n standalone: true,\n})\nexport class ScrollRevealDirective implements OnInit {\n @Input() distance = '30px';\n @Input() duration = '0.8s';\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n ngOnInit() {\n this.setupInitialStyles();\n\n const isBrowser = isPlatformBrowser(this.platformId);\n const hasIntersectionObserver =\n typeof globalThis !== 'undefined' && 'IntersectionObserver' in globalThis;\n\n if (!isBrowser || !hasIntersectionObserver) {\n this.reveal();\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.reveal();\n observer.unobserve(this.el.nativeElement);\n }\n });\n },\n { threshold: 0.1 },\n ); // Se dispara cuando el 10% del componente es visible\n\n observer.observe(this.el.nativeElement);\n }\n\n private setupInitialStyles() {\n this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translateY(-${this.distance})`);\n this.renderer.setStyle(\n this.el.nativeElement,\n 'transition',\n `all ${this.duration} ease-out`,\n );\n }\n\n private reveal() {\n this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');\n this.renderer.setStyle(this.el.nativeElement, 'transform', 'translateY(0)');\n }\n}\n","import { Directive, HostListener, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[headerScroll]',\n standalone: true,\n})\nexport class HeaderScrollDirective {\n @Input() scrollThreshold = 60;\n\n @HostBinding('class.is-scrolled') isScrolled = false;\n\n @HostListener('window:scroll', [])\n onScroll(): void {\n this.isScrolled = window.scrollY > this.scrollThreshold;\n }\n}"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lluc_llull-ui-lib-directives.mjs","names":[],"sources":["../../../projects/ui-lib/directives/link-type.directive.ts","../../../projects/ui-lib/directives/highlight.directive.ts","../../../projects/ui-lib/directives/scroll-reveal.directive.ts","../../../projects/ui-lib/directives/scroll-text-reveal.directive.ts","../../../projects/ui-lib/directives/header-scroll.directive.ts"],"sourcesContent":["import { isPlatformBrowser } from '@angular/common';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n HostListener,\n Inject,\n Input,\n Output,\n PLATFORM_ID,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { LinkType } from '@lluc_llull/ui-lib/enums';\n\n@Directive({\n selector: '[linkType]',\n standalone: true,\n})\nexport class LinkTypeDirective {\n private _linkType?: LinkType;\n private _href?: string;\n\n @Input() \n set linkType(value: LinkType | undefined) {\n this._linkType = value;\n this.updateElementAttributes();\n }\n get linkType(): LinkType | undefined { return this._linkType; }\n\n @Input() \n set href(value: string | undefined) {\n this._href = value;\n this.updateElementAttributes();\n }\n get href(): string { return this._href ?? ''; }\n\n @Output() anchorClicked = new EventEmitter<void>();\n\n constructor(\n private readonly router: Router,\n private readonly elRef: ElementRef<HTMLAnchorElement>,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n get isBrowser(): boolean {\n return isPlatformBrowser(this.platformId);\n }\n\n @HostListener('click', ['$event'])\n onClick(event: Event): void {\n if (!this.linkType || !this.href) return;\n\n switch (this.linkType) {\n case 'internal':\n event.preventDefault();\n const targetUrl = this.elRef.nativeElement.getAttribute('href') ?? this.href;\n this.router.navigateByUrl(targetUrl);\n this.anchorClicked.emit();\n break;\n\n case 'anchor':\n event.preventDefault();\n this.scrollToAnchor(this.href);\n break;\n\n case 'nolink':\n event.preventDefault();\n break;\n\n case 'external':\n case 'pdf':\n default:\n break;\n }\n }\n\n private updateElementAttributes(): void {\n const element = this.elRef.nativeElement;\n if (!this.href) {\n element.removeAttribute('href');\n return;\n }\n\n const resolvedHref = this.resolveHref();\n element.setAttribute('href', resolvedHref);\n\n if (this.linkType === 'external' || this.linkType === 'pdf') {\n element.setAttribute('target', '_blank');\n element.setAttribute('rel', 'noopener noreferrer nofollow');\n } else {\n element.removeAttribute('target');\n element.removeAttribute('rel');\n }\n }\n\n private resolveHref(): string {\n if (this.href.startsWith('/') || this.href.startsWith('http') || this.href.startsWith('#')) {\n return this.href;\n }\n\n if (this.linkType === 'internal') {\n const lang = this.getCurrentLang();\n return `/${lang}/${this.href}`;\n }\n\n return this.href;\n }\n\n private getCurrentLang(): string {\n const url = this.router.url || '';\n const firstSegment = url.split('?')[0].split('#')[0].split('/')[1];\n return firstSegment || 'es';\n }\n\n private scrollToAnchor(id: string): void {\n if (!this.isBrowser) return;\n\n const cleanId = id.replace(/^#/, '');\n const el = document.getElementById(cleanId);\n if (!el) return;\n\n const yOffset = -160;\n const y = el.getBoundingClientRect().top + window.scrollY + yOffset;\n\n window.scrollTo({\n top: y,\n behavior: 'smooth',\n });\n\n this.anchorClicked.emit();\n }\n}\nexport { LinkType };","import { Directive, HostBinding, Input } from '@angular/core';\n\n@Directive({\n selector: '[highlight]',\n standalone: true,\n})\nexport class HighlightDirective {\n @Input('highlight') highlightColor: string = '#FFFFFF';\n @Input() highlightThickness: number = 20;\n\n @HostBinding('style.background-image')\n get background() {\n const start = 65;\n const end = start + this.highlightThickness;\n\n return `linear-gradient(to bottom, \n transparent ${start}%, \n ${this.highlightColor} ${start}%, \n ${this.highlightColor} ${end}%, \n transparent ${end}%)`;\n }\n\n @HostBinding('style.background-size') size = '100% 100%';\n @HostBinding('style.display') display = 'inline';\n\n // desplazamiento\n @HostBinding('style.padding') padding = '0 10px';\n @HostBinding('style.margin') margin = '0 -10px'; // Compensa el padding para no mover el texto\n @HostBinding('style.box-decoration-break') break = 'clone';\n @HostBinding('style.-webkit-box-decoration-break') wBreak = 'clone';\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Inject, Input, OnInit, PLATFORM_ID, Renderer2 } from '@angular/core';\n\n@Directive({\n selector: '[scrollReveal]',\n standalone: true,\n})\nexport class ScrollRevealDirective implements OnInit {\n @Input() distance = '30px';\n @Input() duration = '0.8s';\n @Input() from: 'top' | 'bottom' | 'left' | 'right' = 'top';\n @Input() delay = 0;\n @Input() threshold = 0.1;\n @Input() rootMargin = '0px';\n\n constructor(\n private el: ElementRef,\n private renderer: Renderer2,\n @Inject(PLATFORM_ID) private platformId: Object,\n ) {}\n\n ngOnInit() {\n this.setupInitialStyles();\n\n const isBrowser = isPlatformBrowser(this.platformId);\n const hasIntersectionObserver =\n typeof globalThis !== 'undefined' && 'IntersectionObserver' in globalThis;\n const prefersReducedMotion =\n isBrowser &&\n typeof window.matchMedia === 'function' &&\n window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n\n if (!isBrowser || !hasIntersectionObserver || prefersReducedMotion) {\n if (prefersReducedMotion) {\n this.renderer.setStyle(this.el.nativeElement, 'transition', 'none');\n }\n this.reveal();\n return;\n }\n\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n this.reveal();\n observer.unobserve(this.el.nativeElement);\n }\n });\n },\n { threshold: this.threshold, rootMargin: this.rootMargin },\n );\n\n observer.observe(this.el.nativeElement);\n }\n\n private get isHorizontal(): boolean {\n return this.from === 'left' || this.from === 'right';\n }\n\n private setupInitialStyles() {\n const axis = this.isHorizontal ? 'X' : 'Y';\n const offset =\n this.from === 'bottom' || this.from === 'right'\n ? this.distance\n : `-${this.distance}`;\n\n this.renderer.setStyle(this.el.nativeElement, 'opacity', '0');\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translate${axis}(${offset})`);\n this.renderer.setStyle(\n this.el.nativeElement,\n 'transition',\n `opacity ${this.duration} ease-out ${this.delay}ms, transform ${this.duration} ease-out ${this.delay}ms`,\n );\n }\n\n private reveal() {\n const axis = this.isHorizontal ? 'X' : 'Y';\n\n this.renderer.setStyle(this.el.nativeElement, 'opacity', '1');\n this.renderer.setStyle(this.el.nativeElement, 'transform', `translate${axis}(0)`);\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, Inject, OnDestroy, OnInit, PLATFORM_ID } from '@angular/core';\n\nconst CHAR_CLASS = 'text-reveal-char';\nconst PRIMARY_COLOR = 'var(--text-primary)';\nconst SECONDARY_COLOR = 'var(--text-primary-60)';\n\n@Directive({\n selector: '[scrollTextReveal]',\n standalone: true,\n})\nexport class ScrollTextRevealDirective implements OnInit, OnDestroy {\n private chars: HTMLElement[] = [];\n private revealedCount = 0;\n private frame: number | null = null;\n private observer: MutationObserver | null = null;\n private startScrollY: number | null = null;\n\n constructor(\n private readonly el: ElementRef<HTMLElement>,\n @Inject(PLATFORM_ID) private readonly platformId: Object,\n ) {}\n\n ngOnInit() {\n if (!isPlatformBrowser(this.platformId)) return;\n\n const host = this.el.nativeElement;\n const reducedMotion =\n window.matchMedia?.('(prefers-reduced-motion: reduce)')?.matches ?? false;\n\n if (reducedMotion) {\n host.style.color = PRIMARY_COLOR;\n return;\n }\n\n this.observer = new MutationObserver(() => {\n this.observer?.disconnect();\n this.splitText();\n this.updateProgress();\n this.observer?.observe(host, { childList: true });\n });\n this.observer.observe(host, { childList: true });\n\n window.addEventListener('scroll', this.onScroll, { passive: true });\n window.addEventListener('resize', this.onScroll, { passive: true });\n\n requestAnimationFrame(() => {\n this.splitText();\n this.updateProgress();\n });\n }\n\n ngOnDestroy() {\n if (!isPlatformBrowser(this.platformId)) return;\n\n window.removeEventListener('scroll', this.onScroll);\n window.removeEventListener('resize', this.onScroll);\n this.observer?.disconnect();\n\n if (this.frame !== null) {\n cancelAnimationFrame(this.frame);\n this.frame = null;\n }\n }\n\n updateProgress() {\n const total = this.chars.length;\n if (!total) return;\n\n const rect = this.el.nativeElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight || 1;\n\n if (this.startScrollY === null) {\n if (rect.bottom <= 0 || rect.top >= viewportHeight) return;\n this.startScrollY = window.scrollY;\n }\n\n const distance = Math.max(rect.height * 1.5, viewportHeight * 0.5) || 1;\n const progress = (window.scrollY - this.startScrollY) / distance;\n\n this.setRevealedCount(Math.round(Math.min(1, Math.max(0, progress)) * total));\n }\n\n private readonly onScroll = () => {\n if (this.frame !== null) return;\n\n this.frame = requestAnimationFrame(() => {\n this.frame = null;\n this.updateProgress();\n });\n };\n\n private setRevealedCount(target: number) {\n if (target === this.revealedCount) return;\n\n if (target > this.revealedCount) {\n for (let i = this.revealedCount; i < target; i++) {\n this.chars[i].style.color = PRIMARY_COLOR;\n }\n } else {\n for (let i = this.revealedCount - 1; i >= target; i--) {\n this.chars[i].style.color = SECONDARY_COLOR;\n }\n }\n\n this.revealedCount = target;\n }\n\n private splitText() {\n const host = this.el.nativeElement;\n\n if (!host.querySelector(`.${CHAR_CLASS}`)) {\n const walker = document.createTreeWalker(host, NodeFilter.SHOW_TEXT);\n const textNodes: Text[] = [];\n\n while (walker.nextNode()) {\n const node = walker.currentNode as Text;\n if (node.textContent?.trim()) textNodes.push(node);\n }\n\n for (const node of textNodes) {\n const fragment = document.createDocumentFragment();\n\n for (const char of node.textContent ?? '') {\n if (/\\s/.test(char)) {\n fragment.appendChild(document.createTextNode(char));\n continue;\n }\n\n const span = document.createElement('span');\n span.className = CHAR_CLASS;\n span.style.color = SECONDARY_COLOR;\n span.style.transition = 'color 0.18s ease';\n span.textContent = char;\n fragment.appendChild(span);\n }\n\n node.replaceWith(fragment);\n }\n }\n\n this.chars = Array.from(host.querySelectorAll<HTMLElement>(`.${CHAR_CLASS}`));\n this.revealedCount = 0;\n }\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport {\n AfterViewInit,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n inject,\n Input,\n PLATFORM_ID,\n} from '@angular/core';\n\n@Directive({\n selector: '[headerScroll]',\n standalone: true,\n})\nexport class HeaderScrollDirective implements AfterViewInit {\n @Input() scrollThreshold = 60;\n\n @HostBinding('class.is-scrolled') isScrolled = false;\n @HostBinding('class.is-over-light') isOverLight = false;\n @HostBinding('class.is-over-dark') isOverDark = false;\n\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n private readonly isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\n ngAfterViewInit(): void {\n this.updateHeaderState();\n }\n\n @HostListener('window:scroll', [])\n onScroll(): void {\n this.updateHeaderState();\n }\n\n @HostListener('window:resize', [])\n onResize(): void {\n this.updateHeaderState();\n }\n\n private updateHeaderState(): void {\n if (!this.isBrowser) return;\n\n this.isScrolled = window.scrollY > this.scrollThreshold;\n this.updateBackgroundTone();\n }\n\n private updateBackgroundTone(): void {\n const header = this.elementRef.nativeElement;\n const { bottom, height, left, right, top } = header.getBoundingClientRect();\n if (height === 0 || typeof document.elementsFromPoint !== 'function') return;\n\n const pointX = (left + right) / 2;\n const pointY = Math.max(top + 1, bottom - 1);\n const backgroundColor = document\n .elementsFromPoint(pointX, pointY)\n .filter((element) => !header.contains(element))\n .map((element) => getComputedStyle(element).backgroundColor)\n .find((color) => this.getOpaqueRgb(color));\n\n const rgb = backgroundColor && this.getOpaqueRgb(backgroundColor);\n if (!rgb) return;\n\n this.isOverLight = this.isLightColor(rgb);\n this.isOverDark = !this.isOverLight;\n }\n\n private getOpaqueRgb(color: string): [number, number, number] | undefined {\n const channels = color.match(/[\\d.]+/g)?.map(Number);\n if (!channels || channels.length < 3 || (channels[3] !== undefined && channels[3] === 0)) {\n return undefined;\n }\n\n return [channels[0], channels[1], channels[2]];\n }\n\n private isLightColor([red, green, blue]: [number, number, number]): boolean {\n const perceivedBrightness = Math.sqrt(\n 0.299 * red ** 2 + 0.587 * green ** 2 + 0.114 * blue ** 2,\n );\n\n return perceivedBrightness >= 128;\n }\n}\n"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ var NotFoundComponent = class NotFoundComponent {
|
|
|
7
7
|
title;
|
|
8
8
|
subtitle;
|
|
9
9
|
highlight;
|
|
10
|
+
highlightColor = "var(--content-highlight)";
|
|
11
|
+
highlightThickness = 30;
|
|
10
12
|
button;
|
|
11
13
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
12
14
|
minVersion: "12.0.0",
|
|
@@ -26,12 +28,14 @@ var NotFoundComponent = class NotFoundComponent {
|
|
|
26
28
|
title: "title",
|
|
27
29
|
subtitle: "subtitle",
|
|
28
30
|
highlight: "highlight",
|
|
31
|
+
highlightColor: "highlightColor",
|
|
32
|
+
highlightThickness: "highlightThickness",
|
|
29
33
|
button: "button"
|
|
30
34
|
},
|
|
31
35
|
host: { styleAttribute: "display: contents" },
|
|
32
36
|
ngImport: i0,
|
|
33
|
-
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]=\"
|
|
34
|
-
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"],
|
|
37
|
+
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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>",
|
|
38
|
+
styles: ["@keyframes notfound-highlight-in{0%{opacity:0;transform:translate(-50%,18%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes notfound-slide-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes notfound-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}.notfound .btn-primary{border:4px solid var(--border-primary);border-radius:var(--border-radius)}.notfound .btn-primary:hover{color:var(--button-primary-text-hover);background-color:var(--button-primary-bg-hover)}@media(max-width:1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}@media(prefers-reduced-motion:no-preference){.notfound__highlight{animation:notfound-highlight-in 1.1s cubic-bezier(.19,1,.22,1) 80ms both}.notfound__title{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .2s both}.notfound__subtitle{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .32s both}.notfound .btn-group{animation:notfound-rise-in .6s cubic-bezier(.22,1,.36,1) .46s both}}\n"],
|
|
35
39
|
dependencies: [
|
|
36
40
|
{
|
|
37
41
|
kind: "ngmodule",
|
|
@@ -82,14 +86,16 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
82
86
|
],
|
|
83
87
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
84
88
|
host: { style: "display: contents" },
|
|
85
|
-
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]=\"
|
|
86
|
-
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"]
|
|
89
|
+
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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>",
|
|
90
|
+
styles: ["@keyframes notfound-highlight-in{0%{opacity:0;transform:translate(-50%,18%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes notfound-slide-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes notfound-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}.notfound .btn-primary{border:4px solid var(--border-primary);border-radius:var(--border-radius)}.notfound .btn-primary:hover{color:var(--button-primary-text-hover);background-color:var(--button-primary-bg-hover)}@media(max-width:1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}@media(prefers-reduced-motion:no-preference){.notfound__highlight{animation:notfound-highlight-in 1.1s cubic-bezier(.19,1,.22,1) 80ms both}.notfound__title{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .2s both}.notfound__subtitle{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .32s both}.notfound .btn-group{animation:notfound-rise-in .6s cubic-bezier(.22,1,.36,1) .46s both}}\n"]
|
|
87
91
|
}]
|
|
88
92
|
}],
|
|
89
93
|
propDecorators: {
|
|
90
94
|
title: [{ type: Input }],
|
|
91
95
|
subtitle: [{ type: Input }],
|
|
92
96
|
highlight: [{ type: Input }],
|
|
97
|
+
highlightColor: [{ type: Input }],
|
|
98
|
+
highlightThickness: [{ type: Input }],
|
|
93
99
|
button: [{ type: Input }]
|
|
94
100
|
}
|
|
95
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lluc_llull-ui-lib-feedback-404.mjs","names":[],"sources":["../../../projects/ui-lib/feedback/404/404.component.ts","../../../projects/ui-lib/feedback/404/404.component.html"],"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]=\"
|
|
1
|
+
{"version":3,"file":"lluc_llull-ui-lib-feedback-404.mjs","names":[],"sources":["../../../projects/ui-lib/feedback/404/404.component.ts","../../../projects/ui-lib/feedback/404/404.component.html"],"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() highlightColor = 'var(--content-highlight)';\n @Input() highlightThickness = 30;\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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>"],"mappings":";;;;;AAiBA,IAAa,oBAAb,MAAa,kBAAiB;CACjB;CACA;CACA;CACA,iBAAiB;CACjB,qBAAqB;CACrB;CANA,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAiB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAjB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAiB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,OAAA;GAAA,UAAA;GAAA,WAAA;GAAA,gBAAA;GAAA,oBAAA;GAAA,QAAA;EAAA;EAAA,MAAA,EAAA,gBAAA,oBAAA;EAAA,UAAA;EAAA,UCjB9B;EAsCM,QAAA,CAAA,yiDAAA;EAAA,cAAA;GAAA;IAAA,MAAA;IAAA,MD7BQ;GAAY;GAAA;IAAA,MAAA;IAAA,MAAE;IAAiB,UAAA;IAAA,QAAA,CAAA,YAAA,MAAA;IAAA,SAAA,CAAA,eAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAkB,UAAA;IAAA,QAAA,CAAA,aAAA,oBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAe,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;GAAA;EAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAQrE,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAiB,YAAA,CAAA;EAX7B,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAS,YACP;GAAI,SACP;IAAC;IAAc;IAAmB;IAAoB;GAAe;GAAC,iBAG9D,wBAAwB;GAAM,MACzC,EACF,OAAO,oBACV;GAAA,UAAA;GAAA,QAAA,CAAA,yiDAAA;EAAA,CAAA;;;E,UAGA,MAAA,M;E,aACA,MAAA,M;E,cACA,MAAA,M;E,mBACA,MAAA,M;E,uBACA,MAAA,M;E,WACA,MAAA,M"}
|
|
@@ -7,6 +7,8 @@ var NotFoundComponent = class NotFoundComponent {
|
|
|
7
7
|
title;
|
|
8
8
|
subtitle;
|
|
9
9
|
highlight;
|
|
10
|
+
highlightColor = "var(--content-highlight)";
|
|
11
|
+
highlightThickness = 30;
|
|
10
12
|
button;
|
|
11
13
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
12
14
|
minVersion: "12.0.0",
|
|
@@ -26,12 +28,14 @@ var NotFoundComponent = class NotFoundComponent {
|
|
|
26
28
|
title: "title",
|
|
27
29
|
subtitle: "subtitle",
|
|
28
30
|
highlight: "highlight",
|
|
31
|
+
highlightColor: "highlightColor",
|
|
32
|
+
highlightThickness: "highlightThickness",
|
|
29
33
|
button: "button"
|
|
30
34
|
},
|
|
31
35
|
host: { styleAttribute: "display: contents" },
|
|
32
36
|
ngImport: i0,
|
|
33
|
-
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]=\"
|
|
34
|
-
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"],
|
|
37
|
+
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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>",
|
|
38
|
+
styles: ["@keyframes notfound-highlight-in{0%{opacity:0;transform:translate(-50%,18%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes notfound-slide-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes notfound-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}.notfound .btn-primary{border:4px solid var(--border-primary);border-radius:var(--border-radius)}.notfound .btn-primary:hover{color:var(--button-primary-text-hover);background-color:var(--button-primary-bg-hover)}@media(max-width:1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}@media(prefers-reduced-motion:no-preference){.notfound__highlight{animation:notfound-highlight-in 1.1s cubic-bezier(.19,1,.22,1) 80ms both}.notfound__title{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .2s both}.notfound__subtitle{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .32s both}.notfound .btn-group{animation:notfound-rise-in .6s cubic-bezier(.22,1,.36,1) .46s both}}\n"],
|
|
35
39
|
dependencies: [
|
|
36
40
|
{
|
|
37
41
|
kind: "ngmodule",
|
|
@@ -82,14 +86,16 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
82
86
|
],
|
|
83
87
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
84
88
|
host: { style: "display: contents" },
|
|
85
|
-
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]=\"
|
|
86
|
-
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"]
|
|
89
|
+
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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>",
|
|
90
|
+
styles: ["@keyframes notfound-highlight-in{0%{opacity:0;transform:translate(-50%,18%) scale(.96)}to{opacity:1;transform:translate(-50%) scale(1)}}@keyframes notfound-slide-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes notfound-rise-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.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}.notfound .btn-primary{border:4px solid var(--border-primary);border-radius:var(--border-radius)}.notfound .btn-primary:hover{color:var(--button-primary-text-hover);background-color:var(--button-primary-bg-hover)}@media(max-width:1024px){.notfound__highlight{font-size:12rem;bottom:5rem}.notfound .btn-group{width:10rem}}@media(prefers-reduced-motion:no-preference){.notfound__highlight{animation:notfound-highlight-in 1.1s cubic-bezier(.19,1,.22,1) 80ms both}.notfound__title{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .2s both}.notfound__subtitle{animation:notfound-slide-in .7s cubic-bezier(.22,1,.36,1) .32s both}.notfound .btn-group{animation:notfound-rise-in .6s cubic-bezier(.22,1,.36,1) .46s both}}\n"]
|
|
87
91
|
}]
|
|
88
92
|
}],
|
|
89
93
|
propDecorators: {
|
|
90
94
|
title: [{ type: Input }],
|
|
91
95
|
subtitle: [{ type: Input }],
|
|
92
96
|
highlight: [{ type: Input }],
|
|
97
|
+
highlightColor: [{ type: Input }],
|
|
98
|
+
highlightThickness: [{ type: Input }],
|
|
93
99
|
button: [{ type: Input }]
|
|
94
100
|
}
|
|
95
101
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lluc_llull-ui-lib-feedback.mjs","names":[],"sources":["../../../projects/ui-lib/feedback/404/404.component.ts","../../../projects/ui-lib/feedback/404/404.component.html"],"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]=\"
|
|
1
|
+
{"version":3,"file":"lluc_llull-ui-lib-feedback.mjs","names":[],"sources":["../../../projects/ui-lib/feedback/404/404.component.ts","../../../projects/ui-lib/feedback/404/404.component.html"],"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() highlightColor = 'var(--content-highlight)';\n @Input() highlightThickness = 30;\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]=\"highlightColor\" [highlightThickness]=\"highlightThickness\">\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\"\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>"],"mappings":";;;;;AAiBA,IAAa,oBAAb,MAAa,kBAAiB;CACjB;CACA;CACA;CACA,iBAAiB;CACjB,qBAAqB;CACrB;CANA,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAiB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAjB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAiB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,OAAA;GAAA,UAAA;GAAA,WAAA;GAAA,gBAAA;GAAA,oBAAA;GAAA,QAAA;EAAA;EAAA,MAAA,EAAA,gBAAA,oBAAA;EAAA,UAAA;EAAA,UCjB9B;EAsCM,QAAA,CAAA,yiDAAA;EAAA,cAAA;GAAA;IAAA,MAAA;IAAA,MD7BQ;GAAY;GAAA;IAAA,MAAA;IAAA,MAAE;IAAiB,UAAA;IAAA,QAAA,CAAA,YAAA,MAAA;IAAA,SAAA,CAAA,eAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAkB,UAAA;IAAA,QAAA,CAAA,aAAA,oBAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAe,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;GAAA;EAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAQrE,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAiB,YAAA,CAAA;EAX7B,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAS,YACP;GAAI,SACP;IAAC;IAAc;IAAmB;IAAoB;GAAe;GAAC,iBAG9D,wBAAwB;GAAM,MACzC,EACF,OAAO,oBACV;GAAA,UAAA;GAAA,QAAA,CAAA,yiDAAA;EAAA,CAAA;;;E,UAGA,MAAA,M;E,aACA,MAAA,M;E,cACA,MAAA,M;E,mBACA,MAAA,M;E,uBACA,MAAA,M;E,WACA,MAAA,M"}
|
|
@@ -2,9 +2,16 @@ import { CommonModule } from "@angular/common";
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import { ChangeDetectionStrategy, Component, Input } from "@angular/core";
|
|
4
4
|
import { LinkTypeDirective } from "@lluc_llull/ui-lib/directives";
|
|
5
|
+
import { UiIconComponent } from "@lluc_llull/ui-lib/shared";
|
|
5
6
|
var ColumnsFooterComponent = class ColumnsFooterComponent {
|
|
6
7
|
columns;
|
|
7
8
|
copyright;
|
|
9
|
+
scrollToTop() {
|
|
10
|
+
window.scrollTo({
|
|
11
|
+
top: 0,
|
|
12
|
+
behavior: "smooth"
|
|
13
|
+
});
|
|
14
|
+
}
|
|
8
15
|
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
9
16
|
minVersion: "12.0.0",
|
|
10
17
|
version: "22.2.4",
|
|
@@ -25,18 +32,31 @@ var ColumnsFooterComponent = class ColumnsFooterComponent {
|
|
|
25
32
|
},
|
|
26
33
|
host: { styleAttribute: "display: contents" },
|
|
27
34
|
ngImport: i0,
|
|
28
|
-
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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n",
|
|
29
|
-
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)}.columns-footer-wrapper .columns-footer__signature{width:100%;overflow:hidden;color:var(--text-secondary-70);line-height:.72;text-align:center;-webkit-user-select:none;user-select:none}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature{padding-bottom:4rem}}.columns-footer-wrapper .columns-footer__signature span{display:block;width:max-content;margin-inline:auto;font-size:clamp(5rem,22vw,21rem);font-weight:900;white-space:nowrap}.columns-footer-wrapper .columns-footer__signature span em{font-style:italic;margin-right:5rem}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature span em{margin-right:1rem}}.columns-footer-wrapper .columns-footer__signature span strong{font-style:normal}\n"],
|
|
30
|
-
dependencies: [
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
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 <button\n type=\"button\"\n class=\"columns-footer__one-to-top\"\n aria-label=\"Volver arriba\"\n (click)=\"scrollToTop()\"\n >\n <ui-icon name=\"arrow-up-right\" [size]=\"20\" color=\"currentColor\"></ui-icon>\n </button>\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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n",
|
|
36
|
+
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__one-to-top{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-top:2rem;padding:0;border:4px solid var(--text-secondary-70);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .3s ease,background-color .3s ease,border-color .3s ease,transform .3s ease}.columns-footer-wrapper .columns-footer__one-to-top:hover{background-color:var(--text-secondary);border-color:var(--text-secondary);color:var(--content-bg-dark);transform:translateY(-2px)}.columns-footer-wrapper .columns-footer__one-to-top:focus-visible{outline:2px solid var(--text-secondary);outline-offset:3px}.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)}.columns-footer-wrapper .columns-footer__signature{width:100%;overflow:hidden;color:var(--text-secondary-70);line-height:.72;text-align:center;-webkit-user-select:none;user-select:none}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature{padding-bottom:4rem}}.columns-footer-wrapper .columns-footer__signature span{display:block;width:max-content;margin-inline:auto;font-size:clamp(5rem,22vw,21rem);font-weight:900;white-space:nowrap}.columns-footer-wrapper .columns-footer__signature span em{font-style:italic;margin-right:5rem}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature span em{margin-right:1rem}}.columns-footer-wrapper .columns-footer__signature span strong{font-style:normal}\n"],
|
|
37
|
+
dependencies: [
|
|
38
|
+
{
|
|
39
|
+
kind: "ngmodule",
|
|
40
|
+
type: CommonModule
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
kind: "directive",
|
|
44
|
+
type: LinkTypeDirective,
|
|
45
|
+
selector: "[linkType]",
|
|
46
|
+
inputs: ["linkType", "href"],
|
|
47
|
+
outputs: ["anchorClicked"]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
kind: "component",
|
|
51
|
+
type: UiIconComponent,
|
|
52
|
+
selector: "ui-icon",
|
|
53
|
+
inputs: [
|
|
54
|
+
"name",
|
|
55
|
+
"size",
|
|
56
|
+
"color"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
40
60
|
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
41
61
|
});
|
|
42
62
|
};
|
|
@@ -49,11 +69,15 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
49
69
|
type: Component,
|
|
50
70
|
args: [{
|
|
51
71
|
selector: "lib-columns-footer",
|
|
52
|
-
imports: [
|
|
72
|
+
imports: [
|
|
73
|
+
CommonModule,
|
|
74
|
+
LinkTypeDirective,
|
|
75
|
+
UiIconComponent
|
|
76
|
+
],
|
|
53
77
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
54
78
|
host: { style: "display: contents" },
|
|
55
|
-
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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n",
|
|
56
|
-
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)}.columns-footer-wrapper .columns-footer__signature{width:100%;overflow:hidden;color:var(--text-secondary-70);line-height:.72;text-align:center;-webkit-user-select:none;user-select:none}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature{padding-bottom:4rem}}.columns-footer-wrapper .columns-footer__signature span{display:block;width:max-content;margin-inline:auto;font-size:clamp(5rem,22vw,21rem);font-weight:900;white-space:nowrap}.columns-footer-wrapper .columns-footer__signature span em{font-style:italic;margin-right:5rem}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature span em{margin-right:1rem}}.columns-footer-wrapper .columns-footer__signature span strong{font-style:normal}\n"]
|
|
79
|
+
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 <button\n type=\"button\"\n class=\"columns-footer__one-to-top\"\n aria-label=\"Volver arriba\"\n (click)=\"scrollToTop()\"\n >\n <ui-icon name=\"arrow-up-right\" [size]=\"20\" color=\"currentColor\"></ui-icon>\n </button>\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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n",
|
|
80
|
+
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__one-to-top{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-top:2rem;padding:0;border:4px solid var(--text-secondary-70);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .3s ease,background-color .3s ease,border-color .3s ease,transform .3s ease}.columns-footer-wrapper .columns-footer__one-to-top:hover{background-color:var(--text-secondary);border-color:var(--text-secondary);color:var(--content-bg-dark);transform:translateY(-2px)}.columns-footer-wrapper .columns-footer__one-to-top:focus-visible{outline:2px solid var(--text-secondary);outline-offset:3px}.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)}.columns-footer-wrapper .columns-footer__signature{width:100%;overflow:hidden;color:var(--text-secondary-70);line-height:.72;text-align:center;-webkit-user-select:none;user-select:none}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature{padding-bottom:4rem}}.columns-footer-wrapper .columns-footer__signature span{display:block;width:max-content;margin-inline:auto;font-size:clamp(5rem,22vw,21rem);font-weight:900;white-space:nowrap}.columns-footer-wrapper .columns-footer__signature span em{font-style:italic;margin-right:5rem}@media(max-width:480px){.columns-footer-wrapper .columns-footer__signature span em{margin-right:1rem}}.columns-footer-wrapper .columns-footer__signature span strong{font-style:normal}\n"]
|
|
57
81
|
}]
|
|
58
82
|
}],
|
|
59
83
|
propDecorators: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lluc_llull-ui-lib-footers-columns-footer.mjs","names":[],"sources":["../../../projects/ui-lib/footers/columns-footer/columns-footer.component.ts","../../../projects/ui-lib/footers/columns-footer/columns-footer.component.html"],"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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lluc_llull-ui-lib-footers-columns-footer.mjs","names":[],"sources":["../../../projects/ui-lib/footers/columns-footer/columns-footer.component.ts","../../../projects/ui-lib/footers/columns-footer/columns-footer.component.html"],"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';\nimport { UiIconComponent } from '@lluc_llull/ui-lib/shared';\n\n@Component({\n selector: 'lib-columns-footer',\n imports: [CommonModule, LinkTypeDirective, UiIconComponent],\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 scrollToTop(): void {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n }\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 <button\n type=\"button\"\n class=\"columns-footer__one-to-top\"\n aria-label=\"Volver arriba\"\n (click)=\"scrollToTop()\"\n >\n <ui-icon name=\"arrow-up-right\" [size]=\"20\" color=\"currentColor\"></ui-icon>\n </button>\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 @if (copyright?.name; as signature) {\n <div class=\"columns-footer__signature\" aria-label=\"{{ signature }}\">\n @let signatureParts = signature.split(' ');\n <span>\n <em>{{ signatureParts[0] }}</em>\n <strong>{{ signatureParts[1] }}</strong>\n </span>\n </div>\n }\n</div>\n"],"mappings":";;;;;AAgBA,IAAa,yBAAb,MAAa,uBAAsB;CACxB;CACA;CAET,cAAW;EACT,OAAO,SAAS;GAAE,KAAK;GAAG,UAAU;EAAQ,CAAE;CAChD;CANW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAsB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAtB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAsB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,SAAA;GAAA,WAAA;EAAA;EAAA,MAAA,EAAA,gBAAA,oBAAA;EAAA,UAAA;EAAA,UChBnC;EAoFA,QAAA,CAAA,2kHAAA;EAAA,cAAA;GAAA;IAAA,MAAA;IAAA,MD5Ec;GAAY;GAAA;IAAA,MAAA;IAAA,MAAE;IAAiB,UAAA;IAAA,QAAA,CAAA,YAAA,MAAA;IAAA,SAAA,CAAA,eAAA;GAAA;GAAA;IAAA,MAAA;IAAA,MAAE;IAAe,UAAA;IAAA,QAAA;KAAA;KAAA;KAAA;IAAA;GAAA;EAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAQjD,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAsB,YAAA,CAAA;EAVlC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAoB,SACrB;IAAC;IAAc;IAAmB;GAAe;GAAC,iBAG1C,wBAAwB;GAAM,MACzC,EACF,OAAO,oBACV;GAAA,UAAA;GAAA,QAAA,CAAA,2kHAAA;EAAA,CAAA;;;E,YAGF,MAAA,M;E,cACA,MAAA,M"}
|
|
@@ -32,7 +32,7 @@ var LegalFooterComponent = class LegalFooterComponent {
|
|
|
32
32
|
host: { styleAttribute: "display: contents" },
|
|
33
33
|
ngImport: i0,
|
|
34
34
|
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 }} © {{ 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",
|
|
35
|
-
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"],
|
|
35
|
+
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);--content-highlight: #EDCE14;--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;--text-inverse-raw: 12, 12, 12;--text-inverse-10: rgba(var(--text-inverse-raw), .1);--text-inverse-20: rgba(var(--text-inverse-raw), .2);--text-inverse-30: rgba(var(--text-inverse-raw), .3);--text-inverse-40: rgba(var(--text-inverse-raw), .4);--text-inverse-50: rgba(var(--text-inverse-raw), .5);--text-inverse-60: rgba(var(--text-inverse-raw), .6);--text-inverse-70: rgba(var(--text-inverse-raw), .7);--text-inverse-80: rgba(var(--text-inverse-raw), .8);--text-inverse-90: rgba(var(--text-inverse-raw), .9);--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--modal-hover: var(--surface-secondary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-primary-raw: 12, 12, 12;--border-primary-10: rgba(var(--border-primary-raw), .1);--border-primary-20: rgba(var(--border-primary-raw), .2);--border-primary-30: rgba(var(--border-primary-raw), .3);--border-primary-40: rgba(var(--border-primary-raw), .4);--border-primary-50: rgba(var(--border-primary-raw), .5);--border-primary-60: rgba(var(--border-primary-raw), .6);--border-primary-70: rgba(var(--border-primary-raw), .7);--border-primary-80: rgba(var(--border-primary-raw), .8);--border-primary-90: rgba(var(--border-primary-raw), .9);--border-secondary: #343840;--border-secondary-raw: 12, 12, 12;--border-secondary-10: rgba(var(--border-secondary-raw), .1);--border-secondary-20: rgba(var(--border-secondary-raw), .2);--border-secondary-30: rgba(var(--border-secondary-raw), .3);--border-secondary-40: rgba(var(--border-secondary-raw), .4);--border-secondary-50: rgba(var(--border-secondary-raw), .5);--border-secondary-60: rgba(var(--border-secondary-raw), .6);--border-secondary-70: rgba(var(--border-secondary-raw), .7);--border-secondary-80: rgba(var(--border-secondary-raw), .8);--border-secondary-90: rgba(var(--border-secondary-raw), .9);--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;--tag-border: #60a5fa;--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-bg-scrolled-hover: #ffb300b9;--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);--content-highlight: #EDCE14;--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;--text-inverse-raw: 255, 255, 255;--text-inverse-10: rgba(var(--text-inverse-raw), .1);--text-inverse-20: rgba(var(--text-inverse-raw), .2);--text-inverse-30: rgba(var(--text-inverse-raw), .3);--text-inverse-40: rgba(var(--text-inverse-raw), .4);--text-inverse-50: rgba(var(--text-inverse-raw), .5);--text-inverse-60: rgba(var(--text-inverse-raw), .6);--text-inverse-70: rgba(var(--text-inverse-raw), .7);--text-inverse-80: rgba(var(--text-inverse-raw), .8);--text-inverse-90: rgba(var(--text-inverse-raw), .9);--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--modal-hover: var(--surface-secondary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-primary-raw: 12, 12, 12;--border-primary-10: rgba(var(--border-primary-raw), .1);--border-primary-20: rgba(var(--border-primary-raw), .2);--border-primary-30: rgba(var(--border-primary-raw), .3);--border-primary-40: rgba(var(--border-primary-raw), .4);--border-primary-50: rgba(var(--border-primary-raw), .5);--border-primary-60: rgba(var(--border-primary-raw), .6);--border-primary-70: rgba(var(--border-primary-raw), .7);--border-primary-80: rgba(var(--border-primary-raw), .8);--border-primary-90: rgba(var(--border-primary-raw), .9);--border-secondary: #343840;--border-secondary-raw: 12, 12, 12;--border-secondary-10: rgba(var(--border-secondary-raw), .1);--border-secondary-20: rgba(var(--border-secondary-raw), .2);--border-secondary-30: rgba(var(--border-secondary-raw), .3);--border-secondary-40: rgba(var(--border-secondary-raw), .4);--border-secondary-50: rgba(var(--border-secondary-raw), .5);--border-secondary-60: rgba(var(--border-secondary-raw), .6);--border-secondary-70: rgba(var(--border-secondary-raw), .7);--border-secondary-80: rgba(var(--border-secondary-raw), .8);--border-secondary-90: rgba(var(--border-secondary-raw), .9);--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--tag-border: #60a5fa;--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-bg-scrolled-hover: #ffb300b9;--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"],
|
|
36
36
|
dependencies: [{
|
|
37
37
|
kind: "ngmodule",
|
|
38
38
|
type: CommonModule
|
|
@@ -59,7 +59,7 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
59
59
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
60
60
|
host: { style: "display: contents" },
|
|
61
61
|
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 }} © {{ 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",
|
|
62
|
-
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"]
|
|
62
|
+
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);--content-highlight: #EDCE14;--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;--text-inverse-raw: 12, 12, 12;--text-inverse-10: rgba(var(--text-inverse-raw), .1);--text-inverse-20: rgba(var(--text-inverse-raw), .2);--text-inverse-30: rgba(var(--text-inverse-raw), .3);--text-inverse-40: rgba(var(--text-inverse-raw), .4);--text-inverse-50: rgba(var(--text-inverse-raw), .5);--text-inverse-60: rgba(var(--text-inverse-raw), .6);--text-inverse-70: rgba(var(--text-inverse-raw), .7);--text-inverse-80: rgba(var(--text-inverse-raw), .8);--text-inverse-90: rgba(var(--text-inverse-raw), .9);--surface-primary: #1a1d21;--surface-secondary: #22262d;--surface-tertiary: #2a2e36;--modal-bg: var(--surface-primary);--modal-hover: var(--surface-secondary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #2a2e36;--border-primary-raw: 12, 12, 12;--border-primary-10: rgba(var(--border-primary-raw), .1);--border-primary-20: rgba(var(--border-primary-raw), .2);--border-primary-30: rgba(var(--border-primary-raw), .3);--border-primary-40: rgba(var(--border-primary-raw), .4);--border-primary-50: rgba(var(--border-primary-raw), .5);--border-primary-60: rgba(var(--border-primary-raw), .6);--border-primary-70: rgba(var(--border-primary-raw), .7);--border-primary-80: rgba(var(--border-primary-raw), .8);--border-primary-90: rgba(var(--border-primary-raw), .9);--border-secondary: #343840;--border-secondary-raw: 12, 12, 12;--border-secondary-10: rgba(var(--border-secondary-raw), .1);--border-secondary-20: rgba(var(--border-secondary-raw), .2);--border-secondary-30: rgba(var(--border-secondary-raw), .3);--border-secondary-40: rgba(var(--border-secondary-raw), .4);--border-secondary-50: rgba(var(--border-secondary-raw), .5);--border-secondary-60: rgba(var(--border-secondary-raw), .6);--border-secondary-70: rgba(var(--border-secondary-raw), .7);--border-secondary-80: rgba(var(--border-secondary-raw), .8);--border-secondary-90: rgba(var(--border-secondary-raw), .9);--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;--tag-border: #60a5fa;--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-bg-scrolled-hover: #ffb300b9;--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);--content-highlight: #EDCE14;--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;--text-inverse-raw: 255, 255, 255;--text-inverse-10: rgba(var(--text-inverse-raw), .1);--text-inverse-20: rgba(var(--text-inverse-raw), .2);--text-inverse-30: rgba(var(--text-inverse-raw), .3);--text-inverse-40: rgba(var(--text-inverse-raw), .4);--text-inverse-50: rgba(var(--text-inverse-raw), .5);--text-inverse-60: rgba(var(--text-inverse-raw), .6);--text-inverse-70: rgba(var(--text-inverse-raw), .7);--text-inverse-80: rgba(var(--text-inverse-raw), .8);--text-inverse-90: rgba(var(--text-inverse-raw), .9);--surface-primary: #edeae4;--surface-secondary: #e4e0d8;--surface-tertiary: #d8d3c9;--modal-bg: var(--surface-primary);--modal-hover: var(--surface-secondary);--close-btn: var(--text-primary);--item-text: var(--text-primary);--border-primary: #d8d3c9;--border-primary-raw: 12, 12, 12;--border-primary-10: rgba(var(--border-primary-raw), .1);--border-primary-20: rgba(var(--border-primary-raw), .2);--border-primary-30: rgba(var(--border-primary-raw), .3);--border-primary-40: rgba(var(--border-primary-raw), .4);--border-primary-50: rgba(var(--border-primary-raw), .5);--border-primary-60: rgba(var(--border-primary-raw), .6);--border-primary-70: rgba(var(--border-primary-raw), .7);--border-primary-80: rgba(var(--border-primary-raw), .8);--border-primary-90: rgba(var(--border-primary-raw), .9);--border-secondary: #343840;--border-secondary-raw: 12, 12, 12;--border-secondary-10: rgba(var(--border-secondary-raw), .1);--border-secondary-20: rgba(var(--border-secondary-raw), .2);--border-secondary-30: rgba(var(--border-secondary-raw), .3);--border-secondary-40: rgba(var(--border-secondary-raw), .4);--border-secondary-50: rgba(var(--border-secondary-raw), .5);--border-secondary-60: rgba(var(--border-secondary-raw), .6);--border-secondary-70: rgba(var(--border-secondary-raw), .7);--border-secondary-80: rgba(var(--border-secondary-raw), .8);--border-secondary-90: rgba(var(--border-secondary-raw), .9);--border-focus: #0066dd;--divider: rgba(30, 37, 48, .1);--progress-color: var(--text-primary);--progress-bg: #0066dd;--tag-color: #f5f3ef;--tag-bg: #0066dd;--tag-border: #60a5fa;--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-bg-scrolled-hover: #ffb300b9;--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"]
|
|
63
63
|
}]
|
|
64
64
|
}],
|
|
65
65
|
propDecorators: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lluc_llull-ui-lib-footers-legal-footer.mjs","names":[],"sources":["../../../projects/ui-lib/footers/legal-footer/legal-footer.component.ts","../../../projects/ui-lib/footers/legal-footer/legal-footer.component.html"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\n\nexport type LegalFooterVariant = 'simple' | 'extended';\n\n@Component({\n selector: 'lib-legal-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './legal-footer.component.html',\n styleUrl: './legal-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\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"],"mappings":";;;;AAiBA,IAAa,uBAAb,MAAa,qBAAoB;CACpB;CACA;CACA;CACA;CACA,UAA8B;CAL9B,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAoB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAApB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAoB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;GAAA,OAAA;GAAA,SAAA;GAAA,OAAA;GAAA,SAAA;EAAA;EAAA,MAAA,EAAA,gBAAA,oBAAA;EAAA,UAAA;EAAA,UCjBjC;EAiCA,QAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"lluc_llull-ui-lib-footers-legal-footer.mjs","names":[],"sources":["../../../projects/ui-lib/footers/legal-footer/legal-footer.component.ts","../../../projects/ui-lib/footers/legal-footer/legal-footer.component.html"],"sourcesContent":["import { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { UiLibButtonI } from '@lluc_llull/ui-lib/interfaces';\n\nexport type LegalFooterVariant = 'simple' | 'extended';\n\n@Component({\n selector: 'lib-legal-footer',\n standalone: true,\n imports: [CommonModule],\n templateUrl: './legal-footer.component.html',\n styleUrl: './legal-footer.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\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"],"mappings":";;;;AAiBA,IAAa,uBAAb,MAAa,qBAAoB;CACpB;CACA;CACA;CACA;CACA,UAA8B;CAL9B,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAoB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAApB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAoB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;GAAA,OAAA;GAAA,SAAA;GAAA,OAAA;GAAA,SAAA;EAAA;EAAA,MAAA,EAAA,gBAAA,oBAAA;EAAA,UAAA;EAAA,UCjBjC;EAiCA,QAAA,CAAA,gxYAAA;EAAA,cAAA,CAAA;GAAA,MAAA;GAAA,MDxBc;EAAY,GAAA;GAAA,MAAA;GAAA,MAAA,GAAA;GAAA,UAAA;GAAA,QAAA,CAAA,SAAA,SAAA;EAAA,CAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AAQb,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAoB,YAAA,CAAA;EAXhC,MAAA;EACa,MAAA,CAAA;GAAA,UAAA;GAAkB,YAChB;GAAI,SACP,CAAC,YAAY;GAAC,iBAGN,wBAAwB;GAAM,MACzC,EACF,OAAO,oBACV;GAAA,UAAA;GAAA,QAAA,CAAA,gxYAAA;EAAA,CAAA;;;E,SAGA,MAAA,M;E,UACA,MAAA,M;E,YACA,MAAA,M;E,UACA,MAAA,M;E,YACA,MAAA,M"}
|