import { StyledElement } from '../internals/StyledElement.js';
import { default as React } from 'react';
type ElementParts = 'host' | 'icon' | 'title' | 'description' | 'actions';
/**
* 빈 상태 — 목록·검색 결과가 비었을 때.
*
* 🔴★**"데이터가 없다"와 "검색 결과가 없다"는 다른 사실이다.**
* 전자는 *"아직 만들지 않았다"* 이고 다음 행동은 **만들기**다.
* 후자는 *"조건에 맞는 것이 없다"* 이고 다음 행동은 **조건 바꾸기**다.
* 같은 문구로 보여 주면 사용자는 필터가 걸려 있는 줄 모르고 *"데이터가 사라졌다"* 로 읽는다.
* ⇒ `variant` 로 가르고, 기본 문구가 각각 다르다.
*
* ```html
*
* 주문 등록
*
*
*
* ```
*
* ⚠**기본 문구는 영어다** — 이 패키지는 범용 층이라 특정 언어를 기본값으로 가질 수 없다.
* 한국어는 `registerLocale('ko', …)` 로 소비자가 등록하고, 화면별로 덮으려면
* `title`·`description` 을 준다.
*
* ★이 줄은 «한국어다»라고 적혀 있었고 **같은 파일의 `locale` 프로퍼티 주석이 «영어다»라고
* 말하고 있었다** — 로케일 이주(0.9.0) 때 클래스 주석만 낡은 것이다. 이 JSDoc 은
* `dist/**.d.ts` 로 게시되므로, 소비자는 **사실과 반대인 문장**을 읽고 있었다.
*/
export declare class EmptyState extends StyledElement {
static styles: import('lit').CSSResultGroup[];
/** `no-data` = 아직 없음 / `no-results` = 조건에 맞는 것이 없음. */
variant: 'no-data' | 'no-results';
/** 제목. 비우면 variant 기본 문구. */
title: string;
/** 보조 설명. 비우면 variant 기본 문구. */
description: string;
/**
* 언어 태그. 비우면 `setDefaultLocale()` 값, 그것도 없으면 **영어**.
* ⚠기본 문구는 영어다 — 이 패키지는 범용 층이라 특정 언어를 기본값으로 가질 수 없다.
* 한국어는 `registerLocale('ko', …)` 로 소비자가 등록한다.
*/
locale: string;
/** 액션 슬롯 배정 상태 — CSS `:has()` 로는 알 수 없다(`internals/slotted.ts` 참조). */
private hasActions;
private get defaults();
render(): import('lit-html').TemplateResult<1>;
}
declare global {
interface HTMLElementTagNameMap {
'u-empty-state': EmptyState;
}
}
declare module 'react' {
namespace JSX {
interface IntrinsicElements {
'u-empty-state': React.DetailedHTMLProps, HTMLElement> & {
variant?: 'no-data' | 'no-results';
title?: string;
description?: string;
locale?: string;
};
}
}
}
export {};