pds-dev-kit-web 1.4.25 → 1.4.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/components/BoxLayout/Row.js +1 -1
- package/dist/src/common/components/Navigations/ContextTextLabelNav.d.ts +2 -2
- package/dist/src/common/components/Navigations/ContextTextLabelNav.js +9 -4
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +3 -3
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +30 -43
- package/dist/src/desktop/components/BasicChatListItem/Popup.d.ts +19 -0
- package/dist/src/desktop/components/BasicChatListItem/Popup.js +238 -0
- package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.d.ts +4 -1
- package/dist/src/desktop/components/BodyTextGroup/BodyTextGroup.js +4 -4
- package/dist/src/desktop/components/ChatList/Body.d.ts +2 -2
- package/dist/src/desktop/components/ChatList/Body.js +11 -12
- package/dist/src/desktop/components/ChatList/ChatList.d.ts +6 -5
- package/dist/src/desktop/components/ChatList/ChatList.js +6 -6
- package/dist/src/desktop/components/ChatList/Header.d.ts +2 -2
- package/dist/src/desktop/components/ChatList/Header.js +2 -2
- package/dist/src/desktop/components/ContextMenu/ContextMenu.js +8 -2
- package/dist/src/desktop/components/ContextMenuItem/ContextMenuItem.js +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ContextMenuNavs/ContextMenuItemNav.js +4 -38
- package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/ContentsContainer.js +2 -1
- package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/variation/WSG.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWS/Containers/ContentsContainer/variation/WSG.js +16 -10
- package/dist/src/desktop/layout/LayoutWS/ContainersBox/ContainersBox.d.ts +1 -1
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +3 -3
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +30 -43
- package/dist/src/mobile/components/BasicChatListItem/Popup.d.ts +19 -0
- package/dist/src/mobile/components/BasicChatListItem/Popup.js +238 -0
- package/dist/src/mobile/components/BodyTextGroup/BodyTextGroup.d.ts +4 -1
- package/dist/src/mobile/components/BodyTextGroup/BodyTextGroup.js +4 -4
- package/dist/src/mobile/components/ChatList/Body.d.ts +2 -2
- package/dist/src/mobile/components/ChatList/Body.js +4 -3
- package/dist/src/mobile/components/ChatList/ChatList.d.ts +6 -5
- package/dist/src/mobile/components/ChatList/ChatList.js +7 -7
- package/dist/src/mobile/components/ChatList/Header.d.ts +2 -2
- package/dist/src/mobile/components/ChatList/Header.js +2 -2
- package/dist/src/mobile/components/ContextMenu/ContextMenu.js +8 -2
- package/dist/src/mobile/components/ContextMenuItem/ContextMenuItem.js +1 -1
- package/package.json +1 -1
- package/release-note.md +4 -7
|
@@ -4,7 +4,10 @@ declare type BodyTextGroupProps = {
|
|
|
4
4
|
titleText: PDSTextType;
|
|
5
5
|
descText?: PDSTextType;
|
|
6
6
|
contentText?: PDSTextType;
|
|
7
|
+
titleTextWordBreak?: 'normal' | 'break_all' | 'keep_all' | 'break_word';
|
|
8
|
+
descTextWordBreak?: 'normal' | 'break_all' | 'keep_all' | 'break_word';
|
|
9
|
+
contentTextWordBreak?: 'normal' | 'break_all' | 'keep_all' | 'break_word';
|
|
7
10
|
contentFontWeight?: 'regular' | 'bold';
|
|
8
11
|
};
|
|
9
|
-
declare function BodyTextGroup({ titleText, descText, contentText, contentFontWeight }: BodyTextGroupProps): JSX.Element;
|
|
12
|
+
declare function BodyTextGroup({ titleText, descText, contentText, titleTextWordBreak, descTextWordBreak, contentTextWordBreak, contentFontWeight }: BodyTextGroupProps): JSX.Element;
|
|
10
13
|
export default BodyTextGroup;
|
|
@@ -7,14 +7,14 @@ var react_1 = __importDefault(require("react"));
|
|
|
7
7
|
var hybrid_1 = require("../../../hybrid");
|
|
8
8
|
var TextLabel_1 = require("../TextLabel");
|
|
9
9
|
function BodyTextGroup(_a) {
|
|
10
|
-
var titleText = _a.titleText, descText = _a.descText, contentText = _a.contentText, _b = _a.contentFontWeight, contentFontWeight =
|
|
10
|
+
var titleText = _a.titleText, descText = _a.descText, contentText = _a.contentText, _b = _a.titleTextWordBreak, titleTextWordBreak = _b === void 0 ? 'keep_all' : _b, _c = _a.descTextWordBreak, descTextWordBreak = _c === void 0 ? 'keep_all' : _c, _d = _a.contentTextWordBreak, contentTextWordBreak = _d === void 0 ? 'keep_all' : _d, _e = _a.contentFontWeight, contentFontWeight = _e === void 0 ? 'regular' : _e;
|
|
11
11
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
12
|
-
react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, styleTheme: "subTitleBold", colorTheme: "sysTextPrimary" }),
|
|
12
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, wordBreak: titleTextWordBreak, styleTheme: "subTitleBold", colorTheme: "sysTextPrimary" }),
|
|
13
13
|
descText && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
14
14
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d" }),
|
|
15
|
-
react_1.default.createElement(TextLabel_1.TextLabel, { text: descText, styleTheme: "caption1Regular", colorTheme: "sysTextSecondary" }))),
|
|
15
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: descText, wordBreak: descTextWordBreak, styleTheme: "caption1Regular", colorTheme: "sysTextSecondary" }))),
|
|
16
16
|
contentText && (react_1.default.createElement("div", null,
|
|
17
17
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d" }),
|
|
18
|
-
react_1.default.createElement(TextLabel_1.TextLabel, { text: contentText, styleTheme: contentFontWeight === 'regular' ? 'body2Regular' : 'body2Bold', colorTheme: "sysTextPrimary" })))));
|
|
18
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: contentText, wordBreak: contentTextWordBreak, styleTheme: contentFontWeight === 'regular' ? 'body2Regular' : 'body2Bold', colorTheme: "sysTextPrimary" })))));
|
|
19
19
|
}
|
|
20
20
|
exports.default = BodyTextGroup;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Props as ChatListProps } from './ChatList';
|
|
3
|
-
declare type Props = Pick<ChatListProps, 'scrollVisibleType' | 'children' | '
|
|
3
|
+
declare type Props = Pick<ChatListProps, 'scrollVisibleType' | 'children' | 'bodyMBtnText'> & {
|
|
4
4
|
isSubmitted: boolean;
|
|
5
5
|
};
|
|
6
|
-
declare function Body({ scrollVisibleType, children, isSubmitted,
|
|
6
|
+
declare function Body({ scrollVisibleType, children, isSubmitted, bodyMBtnText }: Props): JSX.Element;
|
|
7
7
|
export default Body;
|
|
@@ -32,10 +32,11 @@ var MainButton_1 = require("../MainButton");
|
|
|
32
32
|
var useAutoScrollToBottom_1 = __importDefault(require("./useAutoScrollToBottom"));
|
|
33
33
|
var useTimeout_1 = __importDefault(require("./useTimeout"));
|
|
34
34
|
function Body(_a) {
|
|
35
|
-
var scrollVisibleType = _a.scrollVisibleType, children = _a.children, isSubmitted = _a.isSubmitted,
|
|
35
|
+
var scrollVisibleType = _a.scrollVisibleType, children = _a.children, isSubmitted = _a.isSubmitted, bodyMBtnText = _a.bodyMBtnText;
|
|
36
36
|
var _b = (0, react_1.useState)(false), isButtonShow = _b[0], setIsButtonShow = _b[1];
|
|
37
37
|
var _c = (0, useAutoScrollToBottom_1.default)(), triggerScrollToBottom = _c.triggerScrollToBottom, EndOfList = _c.EndOfList;
|
|
38
38
|
var scrollRef = (0, react_1.useRef)(null);
|
|
39
|
+
var childrenLength = react_1.default.Children.count(children);
|
|
39
40
|
var handleTriggerScroll = function () {
|
|
40
41
|
if (isButtonShow) {
|
|
41
42
|
if (isSubmitted) {
|
|
@@ -50,7 +51,7 @@ function Body(_a) {
|
|
|
50
51
|
* @expected 채팅 리스트의 맨 밑으로 스크롤 내린다.
|
|
51
52
|
* @clear -
|
|
52
53
|
*/
|
|
53
|
-
(0, useTimeout_1.default)({ callback: handleTriggerScroll, target:
|
|
54
|
+
(0, useTimeout_1.default)({ callback: handleTriggerScroll, target: childrenLength }, 200);
|
|
54
55
|
var handleClickMBtn = function () {
|
|
55
56
|
triggerScrollToBottom();
|
|
56
57
|
};
|
|
@@ -70,7 +71,7 @@ function Body(_a) {
|
|
|
70
71
|
children,
|
|
71
72
|
react_1.default.createElement(EndOfList, null)),
|
|
72
73
|
isButtonShow && (react_1.default.createElement(S_BottomButtonWrapper, null,
|
|
73
|
-
react_1.default.createElement(MainButton_1.MainButton, { text:
|
|
74
|
+
react_1.default.createElement(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn })))));
|
|
74
75
|
}
|
|
75
76
|
var S_Body = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n flex: 1;\n overflow-x: hidden;\n overflow-y: hidden;\n position: relative;\n"], ["\n flex: 1;\n overflow-x: hidden;\n overflow-y: hidden;\n position: relative;\n"])));
|
|
76
77
|
var scrollVisibleStyle = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ::-webkit-scrollbar {\n display: block;\n }\n"], ["\n ::-webkit-scrollbar {\n display: block;\n }\n"])));
|
|
@@ -6,8 +6,8 @@ export declare type Props = {
|
|
|
6
6
|
titleText?: PDSTextType;
|
|
7
7
|
captionText?: PDSTextType;
|
|
8
8
|
headerDisplayType?: 'none' | 'ibtn1';
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
headerIBtn1IconName?: FillIconNameKeys | LineIconNameKeys;
|
|
10
|
+
headerIBtn1IconFillType?: 'line' | 'fill';
|
|
11
11
|
children?: React.ReactNode;
|
|
12
12
|
textFieldState?: 'normal' | 'read_only' | 'disabled';
|
|
13
13
|
textFieldHintText?: PDSTextType;
|
|
@@ -15,9 +15,10 @@ export declare type Props = {
|
|
|
15
15
|
textFieldMaxLength?: number;
|
|
16
16
|
scrollVisibleType?: 'moving' | 'hidden' | 'visible';
|
|
17
17
|
footerChildren?: React.ReactNode;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
submitIBtnState?: 'disabled' | 'normal';
|
|
19
|
+
bodyMBtnText?: PDSTextType;
|
|
20
20
|
onSubmit: (value: string) => void;
|
|
21
|
+
onClickHeaderIBtn1?: () => void;
|
|
21
22
|
};
|
|
22
|
-
declare function ChatList({ styleTheme, headerMode, titleText, captionText, headerDisplayType,
|
|
23
|
+
declare function ChatList({ styleTheme, headerMode, titleText, captionText, headerDisplayType, headerIBtn1IconName, headerIBtn1IconFillType, children, textFieldState, textFieldHintText, textFieldDefaultText, textFieldMaxLength, scrollVisibleType, footerChildren, submitIBtnState, bodyMBtnText, onSubmit, onClickHeaderIBtn1 }: Props): JSX.Element;
|
|
23
24
|
export default ChatList;
|
|
@@ -50,21 +50,21 @@ var baseBackgroundColors = {
|
|
|
50
50
|
transparent: 'ui_cpnt_list_base_area_translucent'
|
|
51
51
|
};
|
|
52
52
|
function ChatList(_a) {
|
|
53
|
-
var _b = _a.styleTheme, styleTheme = _b === void 0 ? 'solid' : _b, _c = _a.headerMode, headerMode = _c === void 0 ? 'use' : _c, titleText = _a.titleText, captionText = _a.captionText, _d = _a.headerDisplayType, headerDisplayType = _d === void 0 ? 'none' : _d, _e = _a.
|
|
53
|
+
var _b = _a.styleTheme, styleTheme = _b === void 0 ? 'solid' : _b, _c = _a.headerMode, headerMode = _c === void 0 ? 'use' : _c, titleText = _a.titleText, captionText = _a.captionText, _d = _a.headerDisplayType, headerDisplayType = _d === void 0 ? 'none' : _d, _e = _a.headerIBtn1IconName, headerIBtn1IconName = _e === void 0 ? 'ic_xmark' : _e, _f = _a.headerIBtn1IconFillType, headerIBtn1IconFillType = _f === void 0 ? 'line' : _f, children = _a.children, _g = _a.textFieldState, textFieldState = _g === void 0 ? 'normal' : _g, textFieldHintText = _a.textFieldHintText, textFieldDefaultText = _a.textFieldDefaultText, textFieldMaxLength = _a.textFieldMaxLength, _h = _a.scrollVisibleType, scrollVisibleType = _h === void 0 ? 'moving' : _h, footerChildren = _a.footerChildren, _j = _a.submitIBtnState, submitIBtnState = _j === void 0 ? 'normal' : _j, bodyMBtnText = _a.bodyMBtnText, onSubmit = _a.onSubmit, onClickHeaderIBtn1 = _a.onClickHeaderIBtn1;
|
|
54
54
|
var methods = (0, react_hook_form_1.useForm)({
|
|
55
55
|
mode: 'onChange',
|
|
56
56
|
defaultValues: {
|
|
57
57
|
chat: ''
|
|
58
58
|
}
|
|
59
59
|
});
|
|
60
|
-
var reset = methods.reset, handleSubmit = methods.handleSubmit, control = methods.control,
|
|
60
|
+
var reset = methods.reset, handleSubmit = methods.handleSubmit, control = methods.control, _k = methods.formState, isSubmitted = _k.isSubmitted, isValid = _k.isValid, isDirty = _k.isDirty;
|
|
61
61
|
var inputValue = (0, react_hook_form_1.useWatch)({ name: 'chat', control: control });
|
|
62
62
|
var isSubmitButtonActive = (0, react_1.useMemo)(function () {
|
|
63
|
-
if (!
|
|
63
|
+
if (!submitIBtnState) {
|
|
64
64
|
return false;
|
|
65
65
|
}
|
|
66
|
-
return isDirty && isValid && inputValue.length > 0 &&
|
|
67
|
-
}, [isDirty, isValid, inputValue,
|
|
66
|
+
return isDirty && isValid && inputValue.length > 0 && submitIBtnState === 'normal';
|
|
67
|
+
}, [isDirty, isValid, inputValue, submitIBtnState]);
|
|
68
68
|
var handleSubmitChat = function (_a) {
|
|
69
69
|
var chat = _a.chat;
|
|
70
70
|
if (!chat || !isSubmitButtonActive) {
|
|
@@ -75,9 +75,9 @@ function ChatList(_a) {
|
|
|
75
75
|
};
|
|
76
76
|
return (react_1.default.createElement(S_ChatList, { backgroundColor: baseBackgroundColors[styleTheme], id: "chatList" },
|
|
77
77
|
headerMode === 'use' && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
78
|
-
react_1.default.createElement(Header_1.default, { styleTheme: styleTheme, titleText: titleText, captionText: captionText, headerDisplayType: headerDisplayType,
|
|
78
|
+
react_1.default.createElement(Header_1.default, { styleTheme: styleTheme, titleText: titleText, captionText: captionText, headerDisplayType: headerDisplayType, headerIBtn1IconName: headerIBtn1IconName, headerIBtn1IconFillType: headerIBtn1IconFillType, onClickHeaderIBtn1: onClickHeaderIBtn1 }),
|
|
79
79
|
react_1.default.createElement(hybrid_1.Divider, null))),
|
|
80
|
-
react_1.default.createElement(Body_1.default, { scrollVisibleType: scrollVisibleType, isSubmitted: isSubmitted,
|
|
80
|
+
react_1.default.createElement(Body_1.default, { scrollVisibleType: scrollVisibleType, isSubmitted: isSubmitted, bodyMBtnText: bodyMBtnText }, children),
|
|
81
81
|
react_1.default.createElement(hybrid_1.Divider, null),
|
|
82
82
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d" }),
|
|
83
83
|
react_1.default.createElement(react_hook_form_1.FormProvider, __assign({}, methods),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { Props as ChatListProps } from './ChatList';
|
|
3
|
-
declare type Props = Required<Pick<ChatListProps, 'styleTheme'>> & Pick<ChatListProps, 'titleText' | 'captionText' | 'headerDisplayType' | '
|
|
4
|
-
declare function Header({ styleTheme, titleText, captionText, headerDisplayType,
|
|
3
|
+
declare type Props = Required<Pick<ChatListProps, 'styleTheme'>> & Pick<ChatListProps, 'titleText' | 'captionText' | 'headerDisplayType' | 'headerIBtn1IconName' | 'headerIBtn1IconFillType' | 'onClickHeaderIBtn1'>;
|
|
4
|
+
declare function Header({ styleTheme, titleText, captionText, headerDisplayType, headerIBtn1IconName, headerIBtn1IconFillType, onClickHeaderIBtn1 }: Props): JSX.Element;
|
|
5
5
|
export default Header;
|
|
@@ -23,14 +23,14 @@ var iconColors = {
|
|
|
23
23
|
transparent: 'ui_cpnt_button_icon_white'
|
|
24
24
|
};
|
|
25
25
|
function Header(_a) {
|
|
26
|
-
var styleTheme = _a.styleTheme, titleText = _a.titleText, captionText = _a.captionText, headerDisplayType = _a.headerDisplayType,
|
|
26
|
+
var styleTheme = _a.styleTheme, titleText = _a.titleText, captionText = _a.captionText, headerDisplayType = _a.headerDisplayType, headerIBtn1IconName = _a.headerIBtn1IconName, headerIBtn1IconFillType = _a.headerIBtn1IconFillType, onClickHeaderIBtn1 = _a.onClickHeaderIBtn1;
|
|
27
27
|
return (react_1.default.createElement(S_HeaderContentWrapper, null,
|
|
28
28
|
react_1.default.createElement(S_HeaderLeftBox, null,
|
|
29
29
|
titleText && (react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, styleTheme: "body1Bold", colorTheme: titleTextColors[styleTheme] })),
|
|
30
30
|
captionText && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
31
31
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_a" }),
|
|
32
32
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: captionText, styleTheme: "caption1Regular", colorTheme: "sysTextSecondary", colorOverride: styleTheme === 'translucent' ? 'ui_cpnt_list_text_caption_02' : undefined })))),
|
|
33
|
-
headerDisplayType === 'ibtn1' &&
|
|
33
|
+
headerDisplayType === 'ibtn1' && headerIBtn1IconName && (react_1.default.createElement(IconButton_1.IconButton, { iconName: headerIBtn1IconName, baseSize: "large", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColors[styleTheme], iconSize: 24, iconFillType: headerIBtn1IconFillType, onClick: onClickHeaderIBtn1 }))));
|
|
34
34
|
}
|
|
35
35
|
var S_HeaderContentWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n align-items: center;\n display: flex;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
|
|
36
36
|
var theme = _a.theme;
|
|
@@ -26,8 +26,14 @@ var S_ContextMenu = styled_components_1.default.ul(templateObject_1 || (template
|
|
|
26
26
|
var theme = _a.theme;
|
|
27
27
|
return theme.spacing.spacingB;
|
|
28
28
|
}, function (_a) {
|
|
29
|
-
var autoWidth = _a.autoWidth;
|
|
30
|
-
|
|
29
|
+
var autoWidth = _a.autoWidth, customWidth = _a.customWidth;
|
|
30
|
+
if (autoWidth) {
|
|
31
|
+
return 'inherit';
|
|
32
|
+
}
|
|
33
|
+
if (customWidth) {
|
|
34
|
+
return 'auto';
|
|
35
|
+
}
|
|
36
|
+
return 'max-content';
|
|
31
37
|
}, function (_a) {
|
|
32
38
|
var maxHeight = _a.maxHeight;
|
|
33
39
|
return (maxHeight ? maxHeight + "px" : 'none');
|
|
@@ -53,7 +53,7 @@ function ContextMenuItem(_a) {
|
|
|
53
53
|
textColorTheme = 'sysTextTertiary';
|
|
54
54
|
}
|
|
55
55
|
return (react_1.default.createElement(S_ContextMenuItem, { size: size, onClick: handleClick, selected: isSelected, disabled: state === 'disabled' },
|
|
56
|
-
react_1.default.createElement(TextLabel_1.TextLabel, { text: (option === null || option === void 0 ? void 0 : option.text) || text, styleTheme: "form2Regular", singleLineMode: "use", colorTheme: textColorTheme })));
|
|
56
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: (option === null || option === void 0 ? void 0 : option.text) || text, styleTheme: "form2Regular", singleLineMode: "use", colorTheme: textColorTheme, lineLimit: 1, ellipsisMode: "use", wordBreak: "break_all" })));
|
|
57
57
|
}
|
|
58
58
|
var large = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 48px;\n padding: 0 ", ";\n"], ["\n height: 48px;\n padding: 0 ", ";\n"])), function (_a) {
|
|
59
59
|
var theme = _a.theme;
|
package/package.json
CHANGED
package/release-note.md
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
# PDS-DEV-KIT-WEB Release Notes
|
|
2
|
-
## [v1.4.
|
|
2
|
+
## [v1.4.28]
|
|
3
3
|
|
|
4
4
|
### Component
|
|
5
|
-
* ChatList
|
|
6
|
-
*
|
|
7
|
-
* Spacing
|
|
8
|
-
* size prop의 default value 제거
|
|
5
|
+
* ChatList
|
|
6
|
+
* onClickHeaderIBtn1 prop 추가
|
|
9
7
|
|
|
10
8
|
### Layout
|
|
11
|
-
|
|
12
|
-
* WTT-2 생성
|
|
9
|
+
* WSG_5 생성
|