Files
ai-code-app/docs/components/popup.md

1.2 KiB

Popup Input

목적

[input][button][readonly input] 형태로 검색어 입력, 버튼 액션, 선택 결과 표시를 한 줄에서 처리하는 입력 컴포넌트입니다.

공통 설계 원칙

  • 샘플(samples)을 제외한 컴포넌트에는 API 호출이나 화면 전용 로직을 직접 넣지 않습니다.
  • 컴포넌트는 최대한 멍청하게 설계하고, 직관적인 props를 받아 직관적인 UI 동작만 수행합니다.
  • 기능 처리와 비즈니스 로직은 src/features 또는 해당 화면 전용 패키지 레벨에서 담당합니다.
  • 공통 컴포넌트는 여러 곳에서 재사용되므로, 수정 시에는 기존 동작을 바꾸지 않는 범위에서만 보완합니다.

폴더 구조

src/components/inputs/popup
├─ PopupUI.tsx
├─ index.ts
├─ plugins/
├─ samples/
└─ types/

주요 props

  • value, defaultValue
  • resultValue
  • onChange
  • onButtonClick
  • buttonText
  • inputPlaceholder
  • resultPlaceholder

plugins

  • createPopupButtonTextPlugin
  • createPopupResultPlaceholderPlugin

샘플

  • 대표 샘플: src/components/inputs/popup/samples/Sample.tsx