UNPKG

@progressive-development/pd-page

Version:

Progressive development page helper, teaser, menu, footer.

79 lines 4.31 kB
import { LitElement, CSSResultGroup } from 'lit'; import { PdFooterLink, PdFooterMadeBy, PdFooterSection } from '../types'; import { SocialEntry } from '@progressive-development/pd-composite'; /** * Modern mega-footer with hierarchical sections, social media, and legal links. * * @summary Footer with section columns, social icons, legal links, and slots. * * @tagname pd-footer * * @event footer-link - Fired when a section link or legal link is clicked. * * @slot logo - Company or brand logo, rendered above sections. * @slot extra - Custom content (newsletter, CTA), rendered beside sections on desktop. * * @cssprop --pd-footer-bg-col - Footer background (color or gradient). Default: `var(--pd-default-col)`. * @cssprop --pd-footer-font-col - Footer text color. Default: `var(--pd-on-primary-col)`. * @cssprop --pd-footer-gradient - Gradient overlay for bg-image. Default: `none`. * @cssprop --pd-footer-text-shadow - Text shadow for readability over images. Default: `none`. * @cssprop --pd-footer-bg-size - CSS background-size for the bg image. Default: `cover`. * @cssprop --pd-footer-bg-repeat - CSS background-repeat for the bg image. Default: `no-repeat`. * @cssprop --pd-footer-bg-attachment - CSS background-attachment for the bg image. Default: `scroll`. * @cssprop --pd-footer-bg-position - CSS background-position for the bg image. Default: `center`. * @cssprop --pd-footer-font-family - Footer font family. Default: `var(--pd-default-font-link-family)`. * @cssprop --pd-footer-font-size - Footer font size. Default: `1em`. * @cssprop --pd-footer-max-width - Max width of content area. Default: `var(--pd-content-max-width, 1170px)`. * @cssprop --pd-footer-padding - Main content padding. Default: `var(--pd-spacing-lg) var(--pd-spacing-md)`. * @cssprop --pd-footer-section-gap - Gap between section columns. Default: `var(--pd-spacing-lg)`. * @cssprop --pd-footer-heading-font-size - Section heading size. Default: `1.1em`. * @cssprop --pd-footer-heading-font-weight - Section heading weight. Default: `bold`. * @cssprop --pd-footer-link-font-size - Section link size. Default: `0.95em`. * @cssprop --pd-footer-link-hover-col - Link hover color. Default: `var(--pd-default-hover-col)`. * @cssprop --pd-footer-social-icon-size - Social icon size. Default: `2.5rem`. * @cssprop --pd-footer-social-gap - Social icon spacing. Default: `var(--pd-spacing-sm)`. * @cssprop --pd-footer-divider-col - Divider color. Default: `rgba(255,255,255,0.15)`. * @cssprop --pd-footer-bottom-col - Bottom bar background. Default: `var(--pd-default-light-col)`. * @cssprop --pd-footer-bottom-font-size - Bottom bar font size. Default: `0.9em`. * @cssprop --pd-footer-bottom-font-col - Bottom bar text color. Default: `var(--pd-default-dark-col)`. */ export declare class PdFooter extends LitElement { /** Hierarchical navigation sections (columns on desktop, accordions on mobile). */ sections: PdFooterSection[]; /** Social media links. Resolved against SOCIAL_PROVIDERS for icons and URLs. */ socialLinks: SocialEntry[]; /** Legal / bottom-bar links (e.g., Privacy, Imprint, Terms). */ legalLinks: PdFooterLink[]; /** Copyright text, e.g. "2026 PD Progressive Development UG". */ copyright: string; /** Version string, e.g. "v1.2.3". Hidden by default. */ version: string; /** Whether to show the version string in the bottom bar. */ showVersion: boolean; /** Developer or agency reference with text and email/link. */ madeBy?: PdFooterMadeBy; /** Background image URL for the footer main area. */ bgImage: string; private _isMobile; private _openSections; private _mediaQueryList?; private _boundMediaQueryHandler; static styles: CSSResultGroup; connectedCallback(): void; disconnectedCallback(): void; render(): import('lit').TemplateResult<1>; private _renderSections; private _renderAccordion; private _renderSocialLinks; private _renderBottomBar; private _footerLinkClicked; private _handleLinkKeydown; private _toggleSection; private _handleSectionKeydown; private _clickMadeBy; private _handleMadeByKeydown; private _handleMediaQuery; private _findProvider; private _toSocialUrl; } //# sourceMappingURL=PdFooter.d.ts.map