/* ============================================================================ * 서명전에 — TDS AlphabetKeypad 컴포넌트 * · 알파벳을 입력하는 커스텀 키패드. 인증번호·코드 입력 화면에서 가상 * 키보드를 쓰지 않고 알파벳만 제한적으로 입력받을 때 사용해요. * · 키 배치는 `alphabets` prop 으로 자유 구성 가능 — 기본은 A~Z(26자). * 배열 길이가 3의 배수가 아니면 빈 셀로 패딩해서 격자를 유지해요. * · 마지막 열 가장 아래는 항상 지우기(Backspace) 아이콘 키 — `onBackspaceClick`. * * · 시각 스펙 (TDS AlphabetKeypad 2026-03): * - 3열 × (ceil(N/3) + Backspace) 행 격자 * - 각 셀 높이 56px, 셀 간 hairline 구분선 `--tds-grey-opacity-200` * - 배경 `var(--bg-default)` = 흰색 (기본), 키 누름 시 `--tds-grey-100` * - 글자 `var(--label)` (grey-900), 타이포 `--ty-5` + bold * - Backspace 아이콘은 검정(`--label`) mono, 24px * * · props (AlphabetKeypadProps): * alphabets? string[] — 표시할 알파벳. 기본 ['A'..'Z'] * onKeyClick* (value: string) => void — 알파벳 키 눌림 * onBackspaceClick* () => void — 지우기 눌림 * disabled? boolean — 전체 비활성 (기본 false) * backspaceAriaLabel? string — 기본 "한 글자 지우기" * className, style — 컨테이너 속성 패스스루 * * · 접근성: 각 키는 role="button" + aria-label=알파벳. Backspace 는 * `aria-label="한 글자 지우기"` 기본. 빈 패딩 셀은 aria-hidden="true". * · 키보드: 각 키는 native ` ); } // 알파벳 키 const value = String(cell); return ( ); })} ); } // 글로벌 등록 window.AlphabetKeypad = AlphabetKeypad;