@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
56 lines • 2.33 kB
TypeScript
/**
* @license
* Copyright 2026 Kai-Orion & Sandlada
* SPDX-License-Identifier: MIT
*/
import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
import { AppBarAlignment, AppBarVariant, type IAppBar } from '../appbar.interface';
declare const BaseAppBar_base: Omit<typeof LitElement, "prototype"> & (new () => LitElement & import("../../../utils/behaviors/element-internals").WithElementInternals & import("../../elevation/elevation-options.mixin").IMixinElevationOptions);
/**
* Base app bar class providing structure, slots, and scroll tracking.
*
* Implements Material Design 3 and MD3 Expressive app bar specifications:
* - Small
* - Center-aligned
* - Medium flexible
* - Large flexible
* - Search app bar
*/
export declare abstract class BaseAppBar extends BaseAppBar_base implements IAppBar {
variant: AppBarVariant;
alignment: AppBarAlignment;
headline: string;
subtitle: string;
scrolled: boolean;
scrollTarget: HTMLElement | Window | string | null;
protected hasLeading: boolean;
protected hasTrailing: boolean;
protected hasHeadline: boolean;
protected hasSubtitle: boolean;
protected hasSearch: boolean;
private boundScrollHandler;
private currentScrollElement;
connectedCallback(): void;
disconnectedCallback(): void;
protected updated(changedProperties: PropertyValues<this>): void;
protected get normalizedVariant(): string;
protected get isCentered(): boolean;
protected getRenderClasses(): Record<string, boolean>;
protected handleLeadingSlotChange(e: Event): void;
protected handleTrailingSlotChange(e: Event): void;
protected handleHeadlineSlotChange(e: Event): void;
protected handleSubtitleSlotChange(e: Event): void;
protected handleSearchSlotChange(e: Event): void;
protected handleDefaultSlotChange(e: Event): void;
private setupScrollTarget;
private cleanupScrollTarget;
protected renderLeading(): TemplateResult;
protected renderTrailing(): TemplateResult;
protected renderTitleContent(): TemplateResult;
protected renderSmallLayout(): TemplateResult;
protected renderFlexibleLayout(): TemplateResult;
protected renderSearchLayout(): TemplateResult;
protected render(): TemplateResult;
}
export {};
//# sourceMappingURL=base-appbar.d.ts.map