import { StyledElement } from '../internals/StyledElement.js'; import { default as React } from 'react'; type ElementParts = 'host' | 'back' | 'heading' | 'title' | 'subtitle' | 'status' | 'actions'; /** * 페이지 헤더 — 모든 LOB 화면 최상단의 같은 골격. * * ★**왜 이것이 라이브러리에 있나**: 이 골격은 화면마다 손으로 다시 짜인다. 손으로 짜면 * ⑴제목 크기가 화면마다 달라지고 ⑵액션 정렬이 미묘하게 어긋나고 ⑶좁은 화면 규칙이 * 빠진다. 셋 다 개별로는 사소해 보이지만, 화면을 옮겨 다니는 사용자에게는 *"제품이 * 하나로 만들어지지 않았다"* 로 읽힌다. * * ```html * * * * * ``` * * 오버라이드: `part`(host·back·heading·title·subtitle·status·actions) + slot 치환. * 값은 전부 토큰을 경유한다 — 리터럴을 두면 소비자가 밀도를 바꿀 수 없다. */ export declare class PageHeader extends StyledElement { static styles: import('lit').CSSResultGroup[]; /** 페이지 제목. 타입 스케일의 `display` 단을 쓴다. */ title: string; /** 제목 아래 보조 설명. 없으면 렌더하지 않는다. */ subtitle?: string; /** * 뒤로가기 링크 주소. 주면 제목 왼쪽에 `← 목록` 형태로 나온다. * ⚠텍스트는 `backLabel` 또는 locale 레지스트리로 바꾼다. */ back?: string; /** * 뒤로가기 링크 문구. 비우면 locale 레지스트리 값, 그것도 없으면 **영어**(`Back`). * ⚠이 패키지는 범용 층이라 특정 언어를 기본값으로 가질 수 없다 — * 한국어는 `registerLocale('ko', { back: '뒤로' })` 로 소비자가 등록한다. */ backLabel: string; /** 언어 태그. 비우면 `setDefaultLocale()` 값, 그것도 없으면 영어. */ locale: string; /** * 슬롯 배정 상태. ★CSS 로는 알 수 없다 — `` 자신이 자식이라 `:has(*)` 가 * 항상 참이다(실브라우저로 확인). 빈 배지 자리가 남으면 제목 위치가 화면마다 달라진다. */ private hasStatus; private hasActions; render(): import('lit-html').TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'u-page-header': PageHeader; } } declare module 'react' { namespace JSX { interface IntrinsicElements { 'u-page-header': React.DetailedHTMLProps, HTMLElement> & { title?: string; subtitle?: string; back?: string; 'back-label'?: string; locale?: string; }; } } } export {};