import { nothing, PropertyValues } from 'lit'; import { UProgressBar } from '@iyulab/components/dist/components/progress-bar/UProgressBar.js'; import { RouteContext } from '@iyulab/router'; import { StyledElement } from '../internals/StyledElement.js'; import { SidebarLayoutConfig, SidebarState, SidebarParts } from './SidebarLayout.types'; /** * 반응형 사이드바 레이아웃 컴포넌트 * * 화면 크기에 따른 사이드바 모드 전환: * - large: default / slim * - medium: slim / modal * - small: mobile / mobile-open * * 사이드바 모드: * - default: 사이드바가 펼침 상태로 표시됨 * - slim: 아이콘만 표시되는 슬림 모드 * - modal: 오버레이로 사이드바가 펼침 상태로 표시되는 모달 모드, 백드롭 클릭 시 닫힘 * - mobile: 모바일에서 헤더만 표시되는 상태, 사이드바는 숨겨짐 * - mobile-open: 모바일에서 사이드바가 펼침 상태로 표시되는 모드 */ export declare class SidebarLayout extends StyledElement { static styles: import('lit').CSSResultGroup[]; /** 사이드바 상태 */ state: SidebarState; /** 사이드바 레이아웃 설정 */ config?: SidebarLayoutConfig; progressBarEl: UProgressBar; /** 현재 라우터 컨텍스트 */ context: RouteContext | null; connectedCallback(): void; disconnectedCallback(): void; protected willUpdate(changedProperties: PropertyValues): void; render(): import('lit-html').TemplateResult<1> | typeof nothing; /** 사이드바 아이템 렌더링 */ private renderItem; /** 현재 경로와 패턴 매칭 여부 확인 */ private isMatchedLink; /** 브랜드 로고 클릭 핸들러 */ private handleBrandLogoClick; /** 사이드바 토글 핸들러 */ private handleToggleButtonClick; /** * 모달 상태에서 사이드바 닫기 */ private handleBackdropClick; /** 라우트 변경 시작 핸들러 */ private handleRouteBegin; /** 라우트 변경 진행 핸들러 */ private handleRouteProgress; /** 라우트 변경 완료 핸들러 */ private handleRouteDone; /** 라우트 에러 핸들러 */ private handleRouteError; /** .main 키보드 스크롤 핸들러 (WCAG 2.1 SC 2.1.1) */ private _handleMainKeydown; /** 화면 크기 변경에 따른 사이드바 상태 업데이트 */ private handleScreenResize; }