Web - ChatBubbleListItem (Added in 1.4)
Added in 1.4
Definition
정의 | ChatBubbleListItem |
최적화 대상 | Desktop Mobile |
기획 배포 | 완료 |
디자인 가이드 배포 | 완료 |
개발 코드 배포 | 완료 |
Principle
채팅에 사용하는 말풍선 형태의 리스트 아이템입니다.
ChatBubbleListItem을 호버했을 시, 더 보기 아이콘 버튼이 뜨고 해당 아이콘을 클릭하면 ContextMenu로 채팅 메세지나 메세지 전송자에 대한 역할을 추가할 수 있습니다. ContextMenu가 떴을 때 화면 스크롤이 되지 않습니다.

기획의도
채팅 메세지 종류
(styleTheme 참고)
채팅 메세지 구성
프로필 이미지, 프로필 닉네임(#distinctId), 내용(텍스트, 이미지, 동영상), 채팅 메세지 전송 시간
프로필 이미지와 닉네임은 다른 구독자나 셀러가 작성한 채팅 메세지일 경우 해당
말풍선의 꼬리
‘같은 시간’ 내에 ‘연속적’으로 메세지를 전송했을 시, 첫 말풍선엔 꼬리가 존재 하나 그 다음 말풍선부터는 꼬리가 존재하지 않음
우선 '분' 단위
(채팅 날짜는 따로 가저갈 예정)
말풍선의 min-width : 32px
1자부터 전송됨 - 이를 고려한 min-width 정해주기 (보장하는 모양)
max-width는 960px > SW, UW 화면에서 채팅 영역이 넓기 때문
단지, hover 시 더보기 아이콘이 뜰 수 있으므로 전송시간 옆 padding 48px는 보장되어야 함! → 작은 화면에서 특히 더보기가 잘 표현되어야하니까
말풍선 안에 들어갈 수 있는 이미지/영상의 경우 width 240px로 표현
이거는 기획서상 표현하면 됨 / 해당 컴포넌트에서 지정하는 건 아니다.
커스텀 컬러 적용 범위
primary : 셀러 프로필 이미지 border, 셀러 닉네임, 본인 말풍선
secondary : 본인 말풍선의 텍스트
말풍선 안에 들어가는 메세지 종류 prop → children prop을 사용
text
1. 우선 말풍선 안에 구멍을 뚫고 그 안에 무엇이든 넣을 수 있게 제공 + TextLabel을 쓰지 않는다. (Editor에서 작성된 텍스트는 TextLabel이 아닌 것 처럼) → 2. 추후에 새로운 TextLabel 제작!
link(밑줄, 클릭액션 존재, 추후 미리보기도 있을 수 있음)
텍스트와 링크가 공존하는 경우가 있을텐데 현재의 TextLabel은 이를 제공해주고 있지 않음 → 새로운 TextLabel을 추후 제작해야 한다.
TextLabel~~~~
<a>~~~</a>
TextLabel~~~
media (image, video)

각 colorTheme의 기획 의도
구성

Spec
Guide

ContextMenu 떴을 시

*ChatBubbleListItem에서 뜨는 ContextMenu가 이 가장 ChatList의 Footer 영역에 닿을경우, 해당 ChatBubbleListItem의 위에서 뜨게 합니다.
Size, Property
(color와 관련한 사항은 하단에 기술)
구성 | 내용 |
---|---|
말풍선 |
*hover 시 더보기 아이콘이 뜰 수 있으므로 전송시간(timeMode) 옆 padding 48px는 항상 보장되어야 합니다. |
radius : 8px | |
profile Image |
|
titleText |
|
children | 말풍선 안에 들어가는 여러가지 요소들 (텍스트, 링크, 이미지 및 영상 썸네일 등) |
timeMode | 전송시간 정보
|
countMode |
Added in 2.2 메세지 남은 조회수 정보
|
iconButton | 더보기 아이콘
Added in 2.2 다운로드 아이콘
|
contextMenu |
|
Color Key
구성 | 내용 |
---|---|
말풍선 | 배경 Added in 1.8
Added in 2.2
Deprecated in 1.8
|
텍스트 (배경 위에 올라가는 색상) Added in 1.8
Deprecated in 1.8
| |
profile Image (avatar) | Border (프로필 이미지를 두르고 있는 라인)
Added in 1.8
Deprecated in 1.8
|
titleText | colorTheme Added in 1.8
Deprecated in 1.8
|
timeMode | 전송시간 정보
|
countMode |
Added in 2.2 메세지 남은 조회수 정보 (colorTheme에 따라 다름)
|
iconButton |
|
Properties
titleText
주요 텍스트입니다. 주로 Chat을 보내는 대상을 표시하는 역할을 합니다.
기획 지시사항
기획서 상 작성 방법 : 텍스트만 기술
Type |
|
---|---|
Default | - |
children
말풍선 메세지의 내용을 표시하는 용도로 사용됩니다.
기획 지시사항
기획서 상 작성 방법 : 기획자가 직접 prop을 기술하지 않음
Type |
|
---|---|
Default | - |
imageMode
이미지 사용 여부를 결정합니다. (프로필 이미지에 대한 사용 여부)
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 아무 것도 표시하지 않습니다. |
| 이미지를 표시합니다. |
imageSrc
이미지 사용 시 주소 값입니다.
기획 지시사항
기획서 상 작성 방법 : 텍스트만 기술
Type |
|
---|---|
Default | - |
timeMode
메세지 전송 시간을 보여줍니다.
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 아무 것도 표시하지 않습니다. |
| 전송 시간을 표시합니다. |
timeText
메세지 전송시간에 대한 텍스트입니다.
기획 지시사항
기획서 상 작성 방법 : 텍스트만 기술
Type |
|
---|---|
Default | - |
countMode
Added 2.2
채팅방의 인원들중 메세지를 읽지 않은 인원 숫자를 표시합니다.
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 아무 것도 표시하지 않습니다. |
| 읽지 않은 인원의 숫자를 표시합니다. |
countText
Added 2.2
채팅방의 인원들중 메세지를 읽지 않은 인원 숫자에 대한 텍스트입니다.
기획 지시사항
기획서 상 작성 방법 : 텍스트만 기술
Type |
|
---|---|
Default | - |
hoverMode
호버 시, 더 보기 아이콘 버튼 노출 여부를 결정합니다. (셀러나 다른 구독자가 전송한 경우에만 표시)
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 호버 시, 더 보기 아이콘을 표시합니다. |
| 호버 시, 더 보기 아이콘을 표시하지 않습니다. |
downloadIBtnMode
Added 2.2
미디어(이미지, 비디오)를 올렸을 때, 다운로드 버튼의 표시 유무를 결정합니다.
*이미지나 비디오 메시지일 때만 사용해야합니다.
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 아무 것도 표시하지 않습니다. |
| 읽지 않은 인원의 숫자를 표시합니다. |
styleTheme*
아이템의 외관 형태를 결정합니다.
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
기획서 작성할때, 아래 두 대상에 대해 괄호를 이용하여 명시해주세요.
예.)
other_avatar_impact : (채널의 셀러가 보낸 메세지일 경우)
other_avatar : (다른 구독자가 보낸 메세지일 경우)
me : (본인이 보낸 메세지일 경우)
“sub”이 붙은 value은 붙지 않은 value들과 함께 쓰이는것임으로, 함께 명시해주세요.
예.)
other_avatar_impact : (채널의 셀러가 보낸 메세지일 경우)
other_avatar_sub : (채널의 셀러가 보낸 메세지일 경우)
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
|
Added in 1.8 상대방이 보내는 유형의 아이템입니다.
채팅방에서 특별히 차별되어야 하는 사용자에게 적용하는것을 권장합니다. ![]() |
|
Added in 1.8 상대방이 보내는 유형의 아이템입니다.
![]() |
|
Added in 1.8 상대방이 보내는 유형의 아이템입니다.
other_avatar와 같이 사용하는것을 권장합니다. ![]() |
|
Added in 1.8 상대방이 보내는 유형의 아이템입니다.
![]() |
|
Added in 1.8 상대방이 보내는 유형의 아이템입니다.
other와 같이 사용하는것을 권장합니다. ![]() |
|
Added in 1.8 본인이 보내는 유형의 아이템입니다.
![]() |
|
Added in 1.8 본인이 보내는 유형의 아이템입니다.
me와 같이 사용하는것을 권장합니다. ![]() |
|
Deprecated in 1.8 메세지 보내는 대상이 셀러일 경우 |
|
Deprecated in 1.8 셀러가 전송한 메세지 말풍선에 꼬리가 있는 경우 |
|
Deprecated in 1.8 메세지 보내는 대상이 다른 구독자일 경우 |
|
Deprecated in 1.8 다른 구독자가 전송한 메세지 말풍선에 꼬리가 있는 경우 |
|
Deprecated in 1.8 메세지 보내는 대상이 본인일 경우 |
|
Deprecated in 1.8 본인이 전송한 메세지 말풍선에 꼬리가 있는 경우 |
|
Deprecated in 1.8 메세지 보내는 대상이 상대방일 경우 |
|
Deprecated in 1.8 상대방이 전송한 메세지 말풍선에 꼬리가 있는 경우 |
styleTheme | 위치 | Image 유무 | 간격 유뮤 | Image Border | 메세지 꼬리 유무 | titleText 유무 |
---|---|---|---|---|---|---|
| 왼쪽 | 유 | 왼쪽 간격 유 | 2 | 유 | 유 |
| 왼쪽 | 유 | 왼쪽 간격 유 | 1 | 유 | 유 |
| 왼쪽 | 무 | 왼쪽 간격 유 | 1 | 무 | 무 |
| 왼쪽 | 무 | 왼쪽 간격 무 | 0 | 유 | 유 |
| 왼쪽 | 무 | 왼쪽 간격 무 | 0 | 무 | 무 |
| 오른쪽 | 무 | 오른쪽 간격 무 | 0 | 유 | 무 |
| 오른쪽 | 무 | 오른쪽 간격 무 | 0 | 무 | 무 |
colorTheme
Added in 1.8
아이템의 색상 테마를 결정합니다.
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 채널의 brand color로 표시됩니다. |
| 기본 grey색으로 표시됩니다. |
| 반투명 흰색으로 표시됩니다. 채널의 톤을 타지 않아야 할 때 사용하는 것을 권장합니다. |
| 반투명 검정색으로 표시됩니다. 채널의 톤을 타지 않아야 할 때 사용하는 것을 권장합니다. |
|
Added in 2.2 투명한 배경으로 표시됩니다. |
contextMenuOptionArray
iBtn 클릭 시, 표시되는 ContextMenu 속 텍스트와 고유값 객체입니다.
기획 지시사항
기획서 상 작성 방법 : 기획자가 직접 prop을 기술하지 않음
Type |
CODE
|
---|---|
Default |
|
contextMenuState
ContextMenu의 상태를 결정합니다.
기획 지시사항
기획서 상 작성 방법 : Enum Values 중 하나를 사용함
Type |
|
---|---|
Default |
|
Enum Values Description | |
---|---|
| 기본 상태 입니다. |
| 비활성화 상태입니다. |
onClickContextMenuItem
ContextMenuItem이 클릭이 된 시점에 이벤트를 부여합니다.
기획 지시사항
기획서 상 작성 방법 : 기획자가 직접 prop을 기술하지 않음
Type |
CODE
|
---|---|
Default | - |
onClickDownloadIBtn
DownloadIcon이 클릭이 된 시점에 이벤트를 부여합니다.
기획 지시사항
기획서 상 작성 방법 : 기획자가 직접 prop을 기술하지 않음
Type |
CODE
|
---|---|
Default | - |
문서 작성 정보
소유자 / 관리자 | 김혜진, 박윤규 |
---|---|
변경 이력 |
|