import type { Style } from 'leviar'; import type { VarResolvable } from '../types/utils'; /** * 대화상자 내부 간격 레이아웃 설정. * `defineInitial` 또는 커맨드의 `layout` 필드로 씬/커맨드별 지정 가능. */ export interface DialogBoxLayout { /** * 패널 내부 좌측(수평) 패딩 (px). * @default 28 */ panelPaddingLeft?: number; /** * 패널 내부 우측(수평) 패딩 (px). * @default 28 */ panelPaddingRight?: number; /** * 패널 내부 상단(수직) 패딩 (px). * @default 28 */ panelPaddingTop?: number; /** * 패널 내부 하단(수직) 패딩 (px). * @default 28 */ panelPaddingBottom?: number; /** * title과 content 사이 간격 (px). title/content 모두 있을 때만 적용. * @default 12 */ titleContentGap?: number; /** * content 영역과 버튼 영역 사이 간격 (px). * @default 30 */ contentButtonGap?: number; /** * 버튼 행 간 세로 간격 (px). * @default 10 */ buttonRowGap?: number; /** * 같은 행 버튼 간 가로 간격 (px). * @default 8 */ buttonColumnGap?: number; /** * 버튼 내부 좌측 패딩 (px). 버튼 너비 추정 시 사용. * @default 24 */ buttonPaddingLeft?: number; /** * 버튼 내부 우측 패딩 (px). 버튼 너비 추정 시 사용. * @default 24 */ buttonPaddingRight?: number; /** * 버튼 내부 상단 패딩 (px). 버튼 높이 계산 시 사용. * @default 10 */ buttonPaddingTop?: number; /** * 버튼 내부 하단 패딩 (px). 버튼 높이 계산 시 사용. * @default 10 */ buttonPaddingBottom?: number; } /** * dialogBoxModule이 공유하는 데이터 스키마. * 스타일 필드는 `defineInitial`로 씬별 커스터마이징 가능. */ export interface DialogBoxSchema { /** 전체 화면 오버레이(반투명 배경) 스타일 */ overlay?: Partial