EditComposer
Data Input
이미 보낸 메시지를 고쳐 다시 보내는 편집창.
Usage
사용자가 이전에 보낸 메시지를 수정해 새 분기로 다시 전송할 때 사용한다.
import
import
EditComposer 하나만 가져오면 EditComposer.Input · EditComposer.Header · EditComposer.Footer · EditComposer.LeadingActions · EditComposer.TrailingActions · EditComposer.Status · EditComposer.Send · EditComposer.Cancel · EditComposer.Attachments · EditComposer.AddAttachment 를 그 아래에서 쓸 수 있다.
예제를 복사해 쓸 때 필요한 준비
• @mildang/icons 를 따로 설치한다. DS 패키지에 아이콘 컴포넌트가 포함되지 않는다.
• @mildang/styled-system 은 이 저장소에서 Panda 가 생성하는 산출물이다. 저장소 안에서는 turbo run ship 이후 쓸 수 있고, 패키지 소비자는 자기 Panda 산출물이나 다른 레이아웃 수단으로 바꿔야 한다.
• 외부 패키지를 따로 설치한다. DS 의 전이 의존성에 기대지 않는다.
Anatomy
tsx
부품
필수 여부
반복
위치
EditComposer.Header
EditComposer.Attachments
EditComposer.Header 안에 둔다.
EditComposer.Input
EditComposer.Footer
EditComposer.Status
표시할 상태가 있을 때만 렌더한다.
EditComposer.Footer 안에 둔다.
EditComposer.LeadingActions
EditComposer.Footer 안에 둔다.
EditComposer.TrailingActions
EditComposer.Footer 안에 둔다.
EditComposer.AddAttachment
EditComposer.Footer 안에 둔다.
EditComposer.Send
EditComposer.Footer 안에 둔다.
EditComposer.Cancel
EditComposer.Footer 안에 둔다.
- 편집을 전송하면 기존 메시지 대신 새 분기가 생기고, BranchPicker로 오갈 수 있다.
- 메시지 컨텍스트가 필요하므로 ThreadPrimitive.Messages 안에서 렌더한다.
API Reference
EditComposer Props
Prop
Type
Default
boolean
지정 안 함
boolean
false
ReactNode
지정 안 함
"raised" | "flat"
raised
ReactElement<unknown, string | JSXElementConstructor<any>>
지정 안 함
"error" | "warning"
지정 안 함
"default" | "edit"
default
EditComposer.Header
편집창 위쪽에 첨부 목록 등 보조 콘텐츠를 두는 영역이다.
공개 Props 없음
EditComposer.Attachments
편집 중인 메시지의 첨부 파일 목록을 렌더한다.
Prop
Type
Default
(value: { attachment: Attachment; }) => ReactNode
지정 안 함
ComposerAttachmentsComponentConfig
지정 안 함
EditComposer.Input
기존 메시지 내용을 채운 텍스트 입력 영역이다.
공개 Props 없음
EditComposer.Footer
편집창 아래쪽에 상태·액션 버튼을 두는 영역이다.
공개 Props 없음
EditComposer.Status
전송 오류·경고 같은 상태 메시지를 보여준다.
Prop
Type
Default
"error" | "warning"
지정 안 함
EditComposer.LeadingActions
편집창 앞쪽에 커스텀 액션 버튼을 두는 영역이다.
공개 Props 없음
EditComposer.TrailingActions
편집창 뒤쪽에 커스텀 액션 버튼을 두는 영역이다.
공개 Props 없음
EditComposer.AddAttachment
파일 첨부를 추가하는 버튼이다.
Prop
Type
Default
boolean
지정 안 함
ReactNode
지정 안 함
string
지정 안 함
boolean
지정 안 함
ReactNode
지정 안 함
boolean
지정 안 함
IconButtonSize
지정 안 함
IconButtonVariant
지정 안 함
EditComposer.Send
수정한 메시지를 새 분기로 전송하는 버튼이다.
Prop
Type
Default
boolean
지정 안 함
ReactNode
지정 안 함
string
지정 안 함
boolean
지정 안 함
ReactNode
지정 안 함
boolean
지정 안 함
IconButtonSize
지정 안 함
IconButtonVariant
지정 안 함
EditComposer.Cancel
편집을 취소하고 원래 메시지로 되돌리는 버튼이다.
Prop
Type
Default
boolean
지정 안 함
ReactNode
지정 안 함
string
지정 안 함
boolean
지정 안 함
ReactNode
지정 안 함
boolean
지정 안 함
IconButtonSize
지정 안 함
IconButtonVariant
지정 안 함
같은 패밀리
@mildang/design-system/unofficial/Chat 에서 같이 내보내는 컴포넌트다.
예제
기본 사용
사용자 메시지를 편집 모드로 전환해 다시 전송하는 예시다.
코드