pds-dev-kit-web 1.4.24 → 1.4.27
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/README.md +2 -2
- 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/AdminListHeader/HeaderBar.js +1 -1
- 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 +5 -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.d.ts +2 -1
- package/dist/src/desktop/components/ContextMenu/ContextMenu.js +14 -5
- package/dist/src/desktop/components/ContextMenuItem/ContextMenuItem.js +1 -1
- package/dist/src/desktop/components/Dropdown/Dropdown.js +1 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ContextMenuNavs/ContextMenuItemNav.js +4 -38
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/ContentsContainer.js +2 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFE.d.ts +2 -1
- package/dist/src/desktop/layout/LayoutWF/Containers/ContentsContainer/variation/WFE.js +41 -11
- package/dist/src/desktop/layout/LayoutWF/ContainersBox/ContainersBox.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWF/ContainersBox/ContainersBox.js +2 -0
- 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 +5 -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.d.ts +2 -1
- package/dist/src/mobile/components/ContextMenu/ContextMenu.js +14 -5
- package/dist/src/mobile/components/ContextMenuItem/ContextMenuItem.js +1 -1
- package/dist/src/mobile/components/Dropdown/Dropdown.js +1 -1
- package/package.json +1 -1
- package/release-note.md +11 -9
package/README.md
CHANGED
|
@@ -43,6 +43,6 @@ function Row(_a, ref) {
|
|
|
43
43
|
var children = _a.children, style = _a.style;
|
|
44
44
|
return (react_1.default.createElement(S_Row, { ref: ref, style: __assign({}, style) }, children));
|
|
45
45
|
}
|
|
46
|
-
var S_Row = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 100%;\n"], ["\n width: 100%;\n"])));
|
|
46
|
+
var S_Row = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n width: 100%;\n"], ["\n display: flex;\n width: 100%;\n"])));
|
|
47
47
|
exports.default = (0, react_1.forwardRef)(Row);
|
|
48
48
|
var templateObject_1;
|
|
@@ -8,5 +8,5 @@ declare type Props = {
|
|
|
8
8
|
preventLineChange?: boolean;
|
|
9
9
|
onClick?: () => void;
|
|
10
10
|
};
|
|
11
|
-
declare function
|
|
12
|
-
export default
|
|
11
|
+
declare function ContextTextLabelNav({ to, text, openNewTab, isActive, preventLineChange, onClick }: Props, ref: ForwardedRefType<HTMLAnchorElement>): JSX.Element;
|
|
12
|
+
export default ContextTextLabelNav;
|
|
@@ -5,11 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var react_1 = __importDefault(require("react"));
|
|
7
7
|
var desktop_1 = require("../../../desktop");
|
|
8
|
+
var hybrid_1 = require("../../../hybrid");
|
|
9
|
+
var BoxLayout_1 = require("../BoxLayout");
|
|
8
10
|
var NavLink_1 = __importDefault(require("./NavLink"));
|
|
9
|
-
function
|
|
11
|
+
function ContextTextLabelNav(_a, ref) {
|
|
10
12
|
var to = _a.to, text = _a.text, openNewTab = _a.openNewTab, _b = _a.isActive, isActive = _b === void 0 ? false : _b, _c = _a.preventLineChange, preventLineChange = _c === void 0 ? false : _c, onClick = _a.onClick;
|
|
11
|
-
return preventLineChange ? (react_1.default.createElement(NavLink_1.default, { onClick: onClick, ref: ref, to: to, openNewTab: openNewTab, style: { width: 'max-content' } },
|
|
12
|
-
react_1.default.createElement(
|
|
13
|
+
return preventLineChange ? (react_1.default.createElement(NavLink_1.default, { onClick: onClick, ref: ref, to: to, openNewTab: openNewTab, style: { minWidth: '100%', width: 'max-content' } },
|
|
14
|
+
react_1.default.createElement(BoxLayout_1.Row, null,
|
|
15
|
+
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d", spacingType: "width" }),
|
|
16
|
+
react_1.default.createElement(desktop_1.D_TextLabel, { text: text, styleTheme: "form2Regular", ellipsisMode: "use", lineLimit: 1 }),
|
|
17
|
+
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d", spacingType: "width" })))) : (react_1.default.createElement(NavLink_1.default, { onClick: onClick, ref: ref, to: to, openNewTab: openNewTab },
|
|
13
18
|
react_1.default.createElement(desktop_1.D_TextLabel, { text: text, styleTheme: "form2Regular" })));
|
|
14
19
|
}
|
|
15
|
-
exports.default =
|
|
20
|
+
exports.default = ContextTextLabelNav;
|
|
@@ -48,7 +48,7 @@ function HeaderBar(_a) {
|
|
|
48
48
|
react_1.default.createElement(S_ListCount, null,
|
|
49
49
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: t('str_rows_per_page', '목록 개수'), styleTheme: "caption1Regular" }),
|
|
50
50
|
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_b", spacingType: "width" }),
|
|
51
|
-
react_1.default.createElement(Dropdown_1.Dropdown, { size: "small", valueArray: dropdownTextArray, onChange: handleDropdown, defaultValue: dropdownDefaultValue !== null && dropdownDefaultValue !== void 0 ? dropdownDefaultValue : dropdownTextArray[0] })),
|
|
51
|
+
react_1.default.createElement(Dropdown_1.Dropdown, { customWidth: "88px", size: "small", valueArray: dropdownTextArray, onChange: handleDropdown, defaultValue: dropdownDefaultValue !== null && dropdownDefaultValue !== void 0 ? dropdownDefaultValue : dropdownTextArray[0] })),
|
|
52
52
|
react_1.default.createElement(S_Page, null,
|
|
53
53
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: currentPage, styleTheme: "caption1Regular", colorTheme: "sysTextPrimary" }),
|
|
54
54
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: " / ", styleTheme: "caption1Regular", colorTheme: "sysTextPrimary" }),
|
|
@@ -5,11 +5,11 @@ declare type Props = {
|
|
|
5
5
|
contentText?: PDSTextType;
|
|
6
6
|
leftImageMode?: 'none' | 'use';
|
|
7
7
|
imageSrc?: string;
|
|
8
|
-
|
|
8
|
+
hoverMode?: 'none' | 'use';
|
|
9
9
|
contextMenuOptionArray?: PDSValueOption[];
|
|
10
10
|
contextMenuState?: 'normal' | 'disabled';
|
|
11
11
|
colorTheme?: 'seller' | 'subscriber';
|
|
12
|
-
|
|
12
|
+
onClickContextMenuItem?: (option: PDSValueOption) => void;
|
|
13
13
|
};
|
|
14
|
-
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc,
|
|
14
|
+
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
|
|
15
15
|
export default BasicChatListItem;
|
|
@@ -33,6 +33,7 @@ var ContextMenu_1 = require("../ContextMenu");
|
|
|
33
33
|
var ContextMenuItem_1 = require("../ContextMenuItem");
|
|
34
34
|
var IconButton_1 = require("../IconButton");
|
|
35
35
|
var TextLabel_1 = require("../TextLabel");
|
|
36
|
+
var Popup_1 = require("./Popup");
|
|
36
37
|
var titleTextColors = {
|
|
37
38
|
seller: 'usrTextBrandPrimary',
|
|
38
39
|
subscriber: 'sysTextSecondary'
|
|
@@ -42,9 +43,11 @@ var backgroundColorTheme = {
|
|
|
42
43
|
subscriber: 'ui_cpnt_list_base_area'
|
|
43
44
|
};
|
|
44
45
|
function BasicChatListItem(_a) {
|
|
45
|
-
var titleText = _a.titleText, contentText = _a.contentText, _b = _a.leftImageMode, leftImageMode = _b === void 0 ? 'none' : _b, imageSrc = _a.imageSrc, _c = _a.
|
|
46
|
+
var titleText = _a.titleText, contentText = _a.contentText, _b = _a.leftImageMode, leftImageMode = _b === void 0 ? 'none' : _b, imageSrc = _a.imageSrc, _c = _a.hoverMode, hoverMode = _c === void 0 ? 'use' : _c, contextMenuOptionArray = _a.contextMenuOptionArray, onClickContextMenuItem = _a.onClickContextMenuItem, _d = _a.contextMenuState, contextMenuState = _d === void 0 ? 'normal' : _d, _e = _a.colorTheme, colorTheme = _e === void 0 ? 'subscriber' : _e;
|
|
46
47
|
var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
|
|
47
48
|
var contextMenuRef = (0, react_1.useRef)(null);
|
|
49
|
+
var chatBody = document.querySelector('#chatMessageBox');
|
|
50
|
+
var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
|
|
48
51
|
/**
|
|
49
52
|
* @when contextMenu가 열려 있을 때
|
|
50
53
|
* @expected ChatList body의 스크롤을 숨기고, contextMenu의 외부를 클릭하면 contextMenu가 닫히도록 합니다.
|
|
@@ -52,57 +55,45 @@ function BasicChatListItem(_a) {
|
|
|
52
55
|
*/
|
|
53
56
|
(0, react_1.useEffect)(function () {
|
|
54
57
|
// NOTE pop up 개념이 생기기 전까지의 임시 조치 방법입니다.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
if (isContextMenuOpen) {
|
|
58
|
-
chatBody.style.overflowY = 'hidden';
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
chatBody.style.overflowY = 'auto';
|
|
62
|
-
}
|
|
58
|
+
if (!chatBody) {
|
|
59
|
+
return;
|
|
63
60
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
setIsContextMenuOpen(false);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
document.addEventListener('click', handleClickOutside);
|
|
73
|
-
return function () {
|
|
74
|
-
document.removeEventListener('click', handleClickOutside);
|
|
75
|
-
};
|
|
76
|
-
}, [isContextMenuOpen]);
|
|
77
|
-
var handleClickMoreButton = function () {
|
|
61
|
+
chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
|
|
62
|
+
}, [isContextMenuOpen, chatBody]);
|
|
63
|
+
var handleMoreButtonClick = function (e) {
|
|
64
|
+
e.stopPropagation();
|
|
78
65
|
setIsContextMenuOpen(function (prev) { return !prev; });
|
|
79
66
|
};
|
|
80
|
-
var
|
|
81
|
-
if (
|
|
82
|
-
|
|
67
|
+
var handleContextMenuItemClick = function (option) {
|
|
68
|
+
if (onClickContextMenuItem) {
|
|
69
|
+
onClickContextMenuItem(option);
|
|
83
70
|
}
|
|
84
71
|
setIsContextMenuOpen(false);
|
|
85
72
|
};
|
|
86
73
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
87
|
-
react_1.default.createElement(S_BasicChatListItem, { colorTheme: colorTheme,
|
|
74
|
+
react_1.default.createElement(S_BasicChatListItem, { colorTheme: colorTheme, hoverMode: hoverMode },
|
|
88
75
|
leftImageMode === 'use' && (react_1.default.createElement(S_ImageViewWrapper, null,
|
|
89
76
|
react_1.default.createElement(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: "responsive" }))),
|
|
90
77
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: titleTextColors[colorTheme] }),
|
|
91
78
|
react_1.default.createElement(S_ContentTextWrapper, null,
|
|
92
79
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: contentText, styleTheme: "caption1Regular", colorTheme: "sysTextPrimary", wordBreak: "break_all" })),
|
|
93
|
-
react_1.default.createElement(S_SeeMoreButton, { isContextMenuOpen: isContextMenuOpen },
|
|
94
|
-
react_1.default.createElement(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: "
|
|
95
|
-
|
|
96
|
-
|
|
80
|
+
hoverMode === 'use' && (react_1.default.createElement(S_SeeMoreButton, { isContextMenuOpen: isContextMenuOpen, ref: contextMenuRef },
|
|
81
|
+
react_1.default.createElement(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: "ui_cpnt_button_icon_enabled", onClick: handleMoreButtonClick }))),
|
|
82
|
+
react_1.default.createElement(Popup_1.PopupProvider, null,
|
|
83
|
+
react_1.default.createElement(Popup_1.Popup, { targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: "v-auto", wrapperHeight: rect === null || rect === void 0 ? void 0 : rect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } },
|
|
84
|
+
react_1.default.createElement(ContextMenu_1.ContextMenu, null, contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return (react_1.default.createElement(ContextMenuItem_1.ContextMenuItem, { key: el.value, option: el, onClick: handleContextMenuItemClick, state: contextMenuState })); })))))));
|
|
97
85
|
}
|
|
98
|
-
var S_SeeMoreButton = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n
|
|
99
|
-
var isContextMenuOpen = _a.isContextMenuOpen;
|
|
100
|
-
return (isContextMenuOpen ? 'block' : 'none');
|
|
101
|
-
}, function (_a) {
|
|
86
|
+
var S_SeeMoreButton = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-left: ", ";\n position: relative;\n visibility: ", ";\n"], ["\n margin-left: ", ";\n position: relative;\n visibility: ", ";\n"])), function (_a) {
|
|
102
87
|
var theme = _a.theme;
|
|
103
88
|
return theme.spacing.spacingA;
|
|
89
|
+
}, function (_a) {
|
|
90
|
+
var isContextMenuOpen = _a.isContextMenuOpen;
|
|
91
|
+
return (isContextMenuOpen ? 'visible' : 'hidden');
|
|
104
92
|
});
|
|
105
|
-
var S_BasicChatListItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n height: fit-content;\n
|
|
93
|
+
var S_BasicChatListItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n display: flex;\n height: fit-content;\n max-width: 100%;\n min-height: 24px;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n :hover {\n ", " {\n visibility: ", ";\n }\n }\n"], ["\n background-color: ", ";\n display: flex;\n height: fit-content;\n max-width: 100%;\n min-height: 24px;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n :hover {\n ", " {\n visibility: ", ";\n }\n }\n"])), function (_a) {
|
|
94
|
+
var colorTheme = _a.colorTheme, theme = _a.theme;
|
|
95
|
+
return colorTheme && theme[backgroundColorTheme[colorTheme]];
|
|
96
|
+
}, function (_a) {
|
|
106
97
|
var theme = _a.theme;
|
|
107
98
|
return theme.spacing.spacingA;
|
|
108
99
|
}, function (_a) {
|
|
@@ -114,12 +105,9 @@ var S_BasicChatListItem = styled_components_1.default.div(templateObject_2 || (t
|
|
|
114
105
|
}, function (_a) {
|
|
115
106
|
var theme = _a.theme;
|
|
116
107
|
return theme.spacing.spacingA;
|
|
117
|
-
}, function (_a) {
|
|
118
|
-
var colorTheme = _a.colorTheme, theme = _a.theme;
|
|
119
|
-
return colorTheme && theme[backgroundColorTheme[colorTheme]];
|
|
120
108
|
}, S_SeeMoreButton, function (_a) {
|
|
121
|
-
var
|
|
122
|
-
return
|
|
109
|
+
var hoverMode = _a.hoverMode;
|
|
110
|
+
return hoverMode === 'use' && 'visible';
|
|
123
111
|
});
|
|
124
112
|
var S_ImageViewWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n height: 24px;\n margin-right: ", ";\n min-width: 24px;\n width: 24px;\n"], ["\n height: 24px;\n margin-right: ", ";\n min-width: 24px;\n width: 24px;\n"])), function (_a) {
|
|
125
113
|
var theme = _a.theme;
|
|
@@ -129,6 +117,5 @@ var S_ContentTextWrapper = styled_components_1.default.div(templateObject_4 || (
|
|
|
129
117
|
var theme = _a.theme;
|
|
130
118
|
return theme.spacing.spacingC;
|
|
131
119
|
});
|
|
132
|
-
var S_ContextMenuWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: absolute;\n right: -4px;\n z-index: 10;\n"], ["\n position: absolute;\n right: -4px;\n z-index: 10;\n"])));
|
|
133
120
|
exports.default = BasicChatListItem;
|
|
134
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4
|
|
121
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React, { MutableRefObject } from 'react';
|
|
2
|
+
declare type Props = {
|
|
3
|
+
targetRef: MutableRefObject<HTMLElement | null>;
|
|
4
|
+
isOpen: boolean;
|
|
5
|
+
onClickOutside?: () => void;
|
|
6
|
+
onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
7
|
+
placement: string;
|
|
8
|
+
wrapperHeight?: number;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
};
|
|
11
|
+
declare function Popup({ targetRef, isOpen, onClickOutside, onClick, placement, wrapperHeight, children }: Props): JSX.Element;
|
|
12
|
+
/**
|
|
13
|
+
* 팝업 루트 프로바이더
|
|
14
|
+
* 팝업을 사용하기 위해서는 팝업 프로바이더가 상위 컴포넌트로 있어야 합니다.
|
|
15
|
+
*/
|
|
16
|
+
declare function PopupProvider({ children }: {
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
}): JSX.Element;
|
|
19
|
+
export { PopupProvider, Popup };
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.Popup = exports.PopupProvider = void 0;
|
|
30
|
+
var react_1 = __importStar(require("react"));
|
|
31
|
+
var react_dom_1 = require("react-dom");
|
|
32
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
33
|
+
var PopupContext = (0, react_1.createContext)({
|
|
34
|
+
current: null
|
|
35
|
+
});
|
|
36
|
+
function getHAutoPlacement(_a) {
|
|
37
|
+
var targetRect = _a.targetRect, popupRect = _a.popupRect;
|
|
38
|
+
var leftSpaced = targetRect.right + popupRect.width > window.innerWidth;
|
|
39
|
+
var topSpaced = targetRect.bottom + popupRect.height > window.innerHeight;
|
|
40
|
+
return (leftSpaced ? 'left' : 'right') + "-" + (topSpaced ? 'end' : 'start');
|
|
41
|
+
}
|
|
42
|
+
function getVAutoPlacement(_a) {
|
|
43
|
+
var targetRect = _a.targetRect, popupRect = _a.popupRect, wrapperHeight = _a.wrapperHeight;
|
|
44
|
+
var leftSpaced = targetRect.right + popupRect.width > window.innerWidth;
|
|
45
|
+
var topSpaced = targetRect.bottom + popupRect.height > (wrapperHeight || window.innerWidth);
|
|
46
|
+
return (topSpaced ? 'top' : 'bottom') + "-" + (leftSpaced ? 'end' : 'start');
|
|
47
|
+
}
|
|
48
|
+
function getVCenterPlacement(_a) {
|
|
49
|
+
var targetRect = _a.targetRect, popupRect = _a.popupRect;
|
|
50
|
+
var leftSpaced = targetRect.right + popupRect.width > window.innerWidth;
|
|
51
|
+
return leftSpaced ? 'left-center' : 'right-center';
|
|
52
|
+
}
|
|
53
|
+
function getHCenterPlacement(_a) {
|
|
54
|
+
var targetRect = _a.targetRect, popupRect = _a.popupRect;
|
|
55
|
+
var topSpaced = targetRect.bottom + popupRect.height > window.innerHeight;
|
|
56
|
+
return topSpaced ? 'top-center' : 'bottom-center';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* 위치 정규화
|
|
60
|
+
*/
|
|
61
|
+
function getNormalizedPlacement(_a) {
|
|
62
|
+
var placement = _a.placement, targetRect = _a.targetRect, popupRect = _a.popupRect, wrapperHeight = _a.wrapperHeight;
|
|
63
|
+
switch (placement) {
|
|
64
|
+
case 'v-auto':
|
|
65
|
+
return getVAutoPlacement({ targetRect: targetRect, popupRect: popupRect, wrapperHeight: wrapperHeight });
|
|
66
|
+
case 'h-auto':
|
|
67
|
+
return getHAutoPlacement({ targetRect: targetRect, popupRect: popupRect, wrapperHeight: wrapperHeight });
|
|
68
|
+
case 'v-center':
|
|
69
|
+
return getVCenterPlacement({ targetRect: targetRect, popupRect: popupRect, wrapperHeight: wrapperHeight });
|
|
70
|
+
case 'h-center':
|
|
71
|
+
return getHCenterPlacement({ targetRect: targetRect, popupRect: popupRect, wrapperHeight: wrapperHeight });
|
|
72
|
+
default:
|
|
73
|
+
return placement;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function updatePosition(_a) {
|
|
77
|
+
var targetElem = _a.targetElem, popupElem = _a.popupElem, placement = _a.placement, wrapperHeight = _a.wrapperHeight;
|
|
78
|
+
var targetRect = targetElem.getBoundingClientRect();
|
|
79
|
+
var popupRect = popupElem.getBoundingClientRect();
|
|
80
|
+
var normPlacement = getNormalizedPlacement({ placement: placement, targetRect: targetRect, popupRect: popupRect, wrapperHeight: wrapperHeight });
|
|
81
|
+
switch (normPlacement) {
|
|
82
|
+
case 'top':
|
|
83
|
+
popupElem.style.top = targetRect.top - popupRect.height + "px";
|
|
84
|
+
popupElem.style.left = targetRect.left - (popupRect.width - targetRect.width) / 2 + "px";
|
|
85
|
+
popupElem.style.width = 'auto';
|
|
86
|
+
break;
|
|
87
|
+
case 'top-start':
|
|
88
|
+
popupElem.style.top = targetRect.top - popupRect.height + "px";
|
|
89
|
+
popupElem.style.left = targetRect.left + "px";
|
|
90
|
+
popupElem.style.width = 'auto';
|
|
91
|
+
break;
|
|
92
|
+
case 'top-end':
|
|
93
|
+
popupElem.style.top = targetRect.top - popupRect.height + "px";
|
|
94
|
+
popupElem.style.left = targetRect.left + targetRect.width - popupRect.width + "px";
|
|
95
|
+
popupElem.style.width = 'auto';
|
|
96
|
+
break;
|
|
97
|
+
case 'top-both':
|
|
98
|
+
popupElem.style.top = targetRect.top - popupRect.height + "px";
|
|
99
|
+
popupElem.style.left = targetRect.left + "px";
|
|
100
|
+
popupElem.style.width = targetRect.width + "px";
|
|
101
|
+
break;
|
|
102
|
+
case 'top-center':
|
|
103
|
+
popupElem.style.top = targetRect.top - popupRect.height + "px";
|
|
104
|
+
popupElem.style.left = targetRect.left - (popupRect.width - targetRect.width) / 2 + "px";
|
|
105
|
+
popupElem.style.width = 'auto';
|
|
106
|
+
break;
|
|
107
|
+
case 'bottom':
|
|
108
|
+
popupElem.style.top = targetRect.bottom + "px";
|
|
109
|
+
popupElem.style.left = targetRect.left - (popupRect.width - targetRect.width) / 2 + "px";
|
|
110
|
+
popupElem.style.width = 'auto';
|
|
111
|
+
break;
|
|
112
|
+
case 'bottom-start':
|
|
113
|
+
popupElem.style.top = targetRect.bottom + "px";
|
|
114
|
+
popupElem.style.left = targetRect.left + "px";
|
|
115
|
+
popupElem.style.width = 'auto';
|
|
116
|
+
break;
|
|
117
|
+
case 'bottom-end':
|
|
118
|
+
popupElem.style.top = targetRect.bottom + "px";
|
|
119
|
+
popupElem.style.left = targetRect.right - popupRect.width + "px";
|
|
120
|
+
popupElem.style.width = 'auto';
|
|
121
|
+
break;
|
|
122
|
+
case 'bottom-both':
|
|
123
|
+
popupElem.style.top = targetRect.bottom + "px";
|
|
124
|
+
popupElem.style.left = targetRect.left + "px";
|
|
125
|
+
popupElem.style.width = targetRect.width + "px";
|
|
126
|
+
break;
|
|
127
|
+
case 'bottom-center':
|
|
128
|
+
popupElem.style.top = targetRect.bottom + "px";
|
|
129
|
+
popupElem.style.left = targetRect.left - (popupRect.width - targetRect.width) / 2 + "px";
|
|
130
|
+
popupElem.style.width = 'auto';
|
|
131
|
+
break;
|
|
132
|
+
case 'left':
|
|
133
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) / 2 + "px";
|
|
134
|
+
popupElem.style.left = targetRect.left - popupRect.width + "px";
|
|
135
|
+
popupElem.style.width = 'auto';
|
|
136
|
+
break;
|
|
137
|
+
case 'left-start':
|
|
138
|
+
popupElem.style.top = targetRect.top + "px";
|
|
139
|
+
popupElem.style.left = targetRect.left - popupRect.width + "px";
|
|
140
|
+
popupElem.style.width = 'auto';
|
|
141
|
+
break;
|
|
142
|
+
case 'left-end':
|
|
143
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) + "px";
|
|
144
|
+
popupElem.style.left = targetRect.left - popupRect.width + "px";
|
|
145
|
+
popupElem.style.width = 'auto';
|
|
146
|
+
break;
|
|
147
|
+
case 'left-center':
|
|
148
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) / 2 + "px";
|
|
149
|
+
popupElem.style.left = targetRect.left - popupRect.width + "px";
|
|
150
|
+
popupElem.style.width = 'auto';
|
|
151
|
+
break;
|
|
152
|
+
case 'right':
|
|
153
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) / 2 + "px";
|
|
154
|
+
popupElem.style.left = targetRect.left + targetRect.width + "px";
|
|
155
|
+
popupElem.style.width = 'auto';
|
|
156
|
+
break;
|
|
157
|
+
case 'right-start':
|
|
158
|
+
popupElem.style.top = targetRect.top + "px";
|
|
159
|
+
popupElem.style.left = targetRect.left + targetRect.width + "px";
|
|
160
|
+
popupElem.style.width = 'auto';
|
|
161
|
+
break;
|
|
162
|
+
case 'right-end':
|
|
163
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) + "px";
|
|
164
|
+
popupElem.style.left = targetRect.left + targetRect.width + "px";
|
|
165
|
+
popupElem.style.width = 'auto';
|
|
166
|
+
break;
|
|
167
|
+
case 'right-center':
|
|
168
|
+
popupElem.style.top = targetRect.top - (popupRect.height - targetRect.height) / 2 + "px";
|
|
169
|
+
popupElem.style.left = targetRect.left + targetRect.width + "px";
|
|
170
|
+
popupElem.style.width = 'auto';
|
|
171
|
+
break;
|
|
172
|
+
default:
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
return normPlacement;
|
|
176
|
+
}
|
|
177
|
+
function Popup(_a) {
|
|
178
|
+
var targetRef = _a.targetRef, _b = _a.isOpen, isOpen = _b === void 0 ? false : _b, onClickOutside = _a.onClickOutside, onClick = _a.onClick, _c = _a.placement, placement = _c === void 0 ? 'bottom-start' : _c, wrapperHeight = _a.wrapperHeight, children = _a.children;
|
|
179
|
+
var popupRootRef = (0, react_1.useContext)(PopupContext);
|
|
180
|
+
var _d = (0, react_1.useState)('bottom'), normPlacement = _d[0], setNormPlacement = _d[1];
|
|
181
|
+
var popupRef = (0, react_1.useRef)(null);
|
|
182
|
+
/**
|
|
183
|
+
* 팝업 외의 다른 요소 클릭시 팝업이 닫히도록 합니다.
|
|
184
|
+
*/
|
|
185
|
+
(0, react_1.useEffect)(function () {
|
|
186
|
+
function handleClickOutside(e) {
|
|
187
|
+
if (popupRootRef.current && !popupRootRef.current.contains(e.target)) {
|
|
188
|
+
if (onClickOutside) {
|
|
189
|
+
onClickOutside();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
window.document.addEventListener('mousedown', handleClickOutside);
|
|
194
|
+
return function () {
|
|
195
|
+
window.document.removeEventListener('mousedown', handleClickOutside);
|
|
196
|
+
};
|
|
197
|
+
}, [popupRootRef, onClickOutside]);
|
|
198
|
+
/**
|
|
199
|
+
* 전체 UI 렌더링이 한 프레임 완료된 후에 팝업 위치를 결정합니다.
|
|
200
|
+
*/
|
|
201
|
+
(0, react_1.useEffect)(function () {
|
|
202
|
+
window.requestAnimationFrame(function () {
|
|
203
|
+
if (!targetRef.current || !popupRef.current) {
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
var targetElem = targetRef.current;
|
|
207
|
+
var popupElem = popupRef.current;
|
|
208
|
+
var updatedPlacement = updatePosition({ targetElem: targetElem, popupElem: popupElem, placement: placement, wrapperHeight: wrapperHeight });
|
|
209
|
+
setNormPlacement(updatedPlacement);
|
|
210
|
+
});
|
|
211
|
+
}, [isOpen, placement, wrapperHeight, targetRef, popupRef]);
|
|
212
|
+
function handlePopupClick(e) {
|
|
213
|
+
e.stopPropagation();
|
|
214
|
+
if (onClick) {
|
|
215
|
+
onClick(e);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (!popupRootRef || !popupRootRef.current || !isOpen) {
|
|
219
|
+
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
220
|
+
}
|
|
221
|
+
var popupComponent = (react_1.default.createElement(S_Popup, { ref: popupRef, onClick: function (e) { return handlePopupClick(e); } }, typeof children === 'function' ? children(normPlacement) : children));
|
|
222
|
+
return (0, react_dom_1.createPortal)(popupComponent, popupRootRef.current);
|
|
223
|
+
}
|
|
224
|
+
exports.Popup = Popup;
|
|
225
|
+
var S_Popup = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n left: -1000px;\n position: fixed;\n top: -1000px;\n z-index: 1000;\n"], ["\n left: -1000px;\n position: fixed;\n top: -1000px;\n z-index: 1000;\n"])));
|
|
226
|
+
/**
|
|
227
|
+
* 팝업 루트 프로바이더
|
|
228
|
+
* 팝업을 사용하기 위해서는 팝업 프로바이더가 상위 컴포넌트로 있어야 합니다.
|
|
229
|
+
*/
|
|
230
|
+
function PopupProvider(_a) {
|
|
231
|
+
var children = _a.children;
|
|
232
|
+
var ref = (0, react_1.useRef)();
|
|
233
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
234
|
+
react_1.default.createElement(PopupContext.Provider, { value: ref }, children),
|
|
235
|
+
react_1.default.createElement("div", { ref: ref })));
|
|
236
|
+
}
|
|
237
|
+
exports.PopupProvider = PopupProvider;
|
|
238
|
+
var templateObject_1;
|
|
@@ -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("div", 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(react_1.default.Fragment, 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;
|
|
@@ -31,10 +31,11 @@ var styled_components_1 = __importStar(require("styled-components"));
|
|
|
31
31
|
var MainButton_1 = require("../MainButton");
|
|
32
32
|
var useAutoScrollToBottom_1 = __importDefault(require("./useAutoScrollToBottom"));
|
|
33
33
|
function Body(_a) {
|
|
34
|
-
var scrollVisibleType = _a.scrollVisibleType, children = _a.children, isSubmitted = _a.isSubmitted,
|
|
34
|
+
var scrollVisibleType = _a.scrollVisibleType, children = _a.children, isSubmitted = _a.isSubmitted, bodyMBtnText = _a.bodyMBtnText;
|
|
35
35
|
var _b = (0, react_1.useState)(false), isButtonShow = _b[0], setIsButtonShow = _b[1];
|
|
36
36
|
var _c = (0, useAutoScrollToBottom_1.default)(), triggerScrollToBottom = _c.triggerScrollToBottom, EndOfList = _c.EndOfList;
|
|
37
37
|
var scrollRef = (0, react_1.useRef)(null);
|
|
38
|
+
var childrenLength = react_1.default.Children.count(children);
|
|
38
39
|
/**
|
|
39
40
|
* @when 스크롤하지 않은 상태에서 chatMessages가 업데이트 될 때마다
|
|
40
41
|
* @expected 채팅 리스트의 맨 밑으로 스크롤 내린다.
|
|
@@ -48,26 +49,24 @@ function Body(_a) {
|
|
|
48
49
|
return;
|
|
49
50
|
}
|
|
50
51
|
triggerScrollToBottom();
|
|
51
|
-
}, [
|
|
52
|
+
}, [childrenLength, isButtonShow, isSubmitted]);
|
|
52
53
|
var handleClickMBtn = function () {
|
|
53
54
|
triggerScrollToBottom();
|
|
54
55
|
};
|
|
55
|
-
var handleScroll = function () {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
setIsButtonShow(true);
|
|
56
|
+
var handleScroll = function (e) {
|
|
57
|
+
var _a = e.currentTarget, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
58
|
+
if (scrollTop + clientHeight === scrollHeight) {
|
|
59
|
+
setIsButtonShow(false);
|
|
60
|
+
return;
|
|
63
61
|
}
|
|
62
|
+
setIsButtonShow(true);
|
|
64
63
|
};
|
|
65
64
|
return (react_1.default.createElement(S_Body, null,
|
|
66
65
|
react_1.default.createElement(S_ChatMessageBox, { id: "chatMessageBox", onScroll: handleScroll, ref: scrollRef, scrollVisibleType: scrollVisibleType },
|
|
67
66
|
children,
|
|
68
67
|
react_1.default.createElement(EndOfList, null)),
|
|
69
68
|
isButtonShow && (react_1.default.createElement(S_BottomButtonWrapper, null,
|
|
70
|
-
react_1.default.createElement(MainButton_1.MainButton, { text:
|
|
69
|
+
react_1.default.createElement(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn })))));
|
|
71
70
|
}
|
|
72
71
|
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"])));
|
|
73
72
|
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"])));
|
|
@@ -82,7 +81,7 @@ var S_ChatMessageBox = styled_components_1.default.div(templateObject_4 || (temp
|
|
|
82
81
|
hidden: scrollHiddenStyle
|
|
83
82
|
}[scrollVisibleType];
|
|
84
83
|
});
|
|
85
|
-
var S_BottomButtonWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n
|
|
84
|
+
var S_BottomButtonWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n bottom: ", ";\n left: 50%;\n position: absolute;\n transform: translate(-50%, 0);\n"], ["\n bottom: ", ";\n left: 50%;\n position: absolute;\n transform: translate(-50%, 0);\n"])), function (_a) {
|
|
86
85
|
var theme = _a.theme;
|
|
87
86
|
return theme.spacing.spacingC;
|
|
88
87
|
});
|
|
@@ -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,9 @@ 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
21
|
};
|
|
22
|
-
declare function ChatList({ styleTheme, headerMode, titleText, captionText, headerDisplayType,
|
|
22
|
+
declare function ChatList({ styleTheme, headerMode, titleText, captionText, headerDisplayType, headerIBtn1IconName, headerIBtn1IconFillType, children, textFieldState, textFieldHintText, textFieldDefaultText, textFieldMaxLength, scrollVisibleType, footerChildren, submitIBtnState, bodyMBtnText, onSubmit }: Props): JSX.Element;
|
|
23
23
|
export default ChatList;
|