pds-dev-kit-web-test 0.2.36 → 0.2.37
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/styles/colorSet/PaletteColor_Dark.json +2 -1
- package/dist/src/common/styles/colorSet/PaletteColor_light.json +2 -1
- package/dist/src/common/styles/colorSet/UIColor.json +2 -1
- package/dist/src/common/styles/colorSet/index.d.ts +348 -345
- package/dist/src/common/styles/colorSet/index.js +3 -3
- package/dist/src/common/styles/colorSet/ui-type.d.ts +1 -0
- package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +4 -1
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +4 -2
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +46 -15
- package/dist/src/desktop/components/BasicChatListItem/Popup.d.ts +1 -0
- package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -1
- package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +19 -3
- package/dist/src/desktop/components/ChatBubbleListItem/Popup.d.ts +1 -0
- package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +4 -1
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +4 -2
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +59 -10
- package/dist/src/mobile/components/BasicChatListItem/Popup.d.ts +1 -0
- package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -1
- package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +21 -3
- package/dist/src/mobile/components/ChatBubbleListItem/Popup.d.ts +1 -0
- package/dist/src/mobile/components/ChatList/Body.js +1 -1
- package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/DynamicLayout.js +2 -3
- package/dist/src/sub/DynamicLayout/components/ComponentBlocks/RichText/RichText.js +1 -1
- package/dist/src/sub/DynamicLayout/components/desktop/Item/Item.js +1 -1
- package/dist/src/sub/DynamicLayout/components/mobile/Item/Item.js +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +12 -23
- package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/textUtil.js +1 -1
- package/dist/src/sub/DynamicLayout/types.d.ts +0 -4
- package/package.json +1 -1
- package/release-note.md +6 -6
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
/* eslint-disable import/order */
|
|
7
7
|
var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
|
|
8
8
|
var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
|
|
9
|
-
var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
|
|
10
9
|
var UIColor_json_1 = __importDefault(require("./UIColor.json"));
|
|
10
|
+
var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
|
|
11
11
|
var colorSet = {
|
|
12
12
|
SemanticColor: SemanticColor_json_1.default,
|
|
13
13
|
PaletteColor_light: PaletteColor_light_json_1.default,
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
UIColor: UIColor_json_1.default,
|
|
15
|
+
PaletteColor_Dark: PaletteColor_Dark_json_1.default
|
|
16
16
|
};
|
|
17
17
|
exports.default = colorSet;
|
|
@@ -454,7 +454,7 @@ var inputInnerSpinButtonStyle = (0, styled_components_1.css)(templateObject_14 |
|
|
|
454
454
|
var innerSpinButtonSize = _a.innerSpinButtonSize;
|
|
455
455
|
return innerSpinButtonSize && "".concat(innerSpinButtonSize, "px");
|
|
456
456
|
});
|
|
457
|
-
var S_Input = styled_components_1.default.input(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", "\n flex: 1;\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"], ["\n ", "\n flex: 1;\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"])), basicStyle, function (_a) {
|
|
457
|
+
var S_Input = styled_components_1.default.input(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", "\n flex: 1;\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: ", " !important;\n transition: background-color 9999s ease-in-out 0s !important;\n }\n"], ["\n ", "\n flex: 1;\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: ", " !important;\n transition: background-color 9999s ease-in-out 0s !important;\n }\n"])), basicStyle, function (_a) {
|
|
458
458
|
var theme = _a.theme;
|
|
459
459
|
return theme.desktopLineHeight.singleLine;
|
|
460
460
|
}, function (_a) {
|
|
@@ -462,6 +462,9 @@ var S_Input = styled_components_1.default.input(templateObject_15 || (templateOb
|
|
|
462
462
|
return stepperMode === 'use' && type === 'number' && isFocused
|
|
463
463
|
? inputInnerSpinButtonStyle
|
|
464
464
|
: '-webkit-appearance: none; margin: 0;';
|
|
465
|
+
}, function (_a) {
|
|
466
|
+
var theme = _a.theme;
|
|
467
|
+
return theme.ui_cpnt_textfield_text_typed;
|
|
465
468
|
});
|
|
466
469
|
var S_Auto = styled_components_1.default.textarea(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n ", "\n display: block;\n overflow-y: auto;\n resize: none;\n ", "\n ", ";\n"], ["\n ", "\n display: block;\n overflow-y: auto;\n resize: none;\n ", "\n ", ";\n"])), basicStyle, function (_a) {
|
|
467
470
|
var autoMaxRows = _a.autoMaxRows, textSize = _a.textSize, fieldHeight = _a.fieldHeight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { PlacementTypes } from './Popup';
|
|
2
3
|
import type { PDSTextType, PDSValueOption } from '../../../common';
|
|
3
4
|
type Props = {
|
|
4
5
|
titleText?: PDSTextType;
|
|
@@ -8,8 +9,9 @@ type Props = {
|
|
|
8
9
|
hoverMode?: 'none' | 'use';
|
|
9
10
|
contextMenuOptionArray?: PDSValueOption[];
|
|
10
11
|
contextMenuState?: 'normal' | 'disabled';
|
|
11
|
-
colorTheme?: 'seller' | '
|
|
12
|
+
colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey';
|
|
13
|
+
contextMenuPosition?: PlacementTypes;
|
|
12
14
|
onClickContextMenuItem?: (option: PDSValueOption) => void;
|
|
13
15
|
};
|
|
14
|
-
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
|
|
16
|
+
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, contextMenuPosition, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
|
|
15
17
|
export default BasicChatListItem;
|
|
@@ -29,34 +29,42 @@ var TextLabel_1 = require("../TextLabel");
|
|
|
29
29
|
var Popup_1 = require("./Popup");
|
|
30
30
|
var titleTextColors = {
|
|
31
31
|
seller: 'usrTextBrandPrimary',
|
|
32
|
-
subscriber: 'sysTextSecondary',
|
|
33
32
|
seller_transparent: 'usrTextBrandPrimary',
|
|
34
|
-
|
|
33
|
+
subscriber: 'sysTextSecondary',
|
|
34
|
+
subscriber_transparent: 'sysTextWhite',
|
|
35
|
+
secondary_transparent_grey: 'sysTextSecondary',
|
|
36
|
+
white_transparent_grey: 'sysTextWhite'
|
|
35
37
|
};
|
|
36
38
|
var backgroundColorTheme = {
|
|
37
39
|
seller: 'ui_cpnt_list_base_area_seller',
|
|
38
|
-
subscriber: 'ui_cpnt_list_base_area',
|
|
39
40
|
seller_transparent: 'ui_cpnt_list_base_area_transparent_seller',
|
|
40
|
-
|
|
41
|
+
subscriber: 'ui_cpnt_list_base_area',
|
|
42
|
+
subscriber_transparent: 'ui_cpnt_list_base_area_transparent',
|
|
43
|
+
secondary_transparent_grey: 'ui_cpnt_list_base_area',
|
|
44
|
+
white_transparent_grey: 'ui_cpnt_list_base_area_transparent'
|
|
41
45
|
};
|
|
42
46
|
function BasicChatListItem(_a) {
|
|
43
|
-
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,
|
|
44
|
-
var
|
|
47
|
+
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, _d = _a.contextMenuPosition, contextMenuPosition = _d === void 0 ? 'v-auto' : _d, onClickContextMenuItem = _a.onClickContextMenuItem, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.colorTheme, colorTheme = _f === void 0 ? 'subscriber' : _f;
|
|
48
|
+
var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
|
|
45
49
|
var contextMenuRef = (0, react_1.useRef)(null);
|
|
46
50
|
var chatBody = document.querySelector('#chatMessageBox');
|
|
47
51
|
var chatBodyRect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
|
|
48
52
|
/**
|
|
49
|
-
* @when
|
|
50
|
-
* @expected
|
|
51
|
-
* @clear
|
|
53
|
+
* @when 스크롤, 휠 이벤트 발생시
|
|
54
|
+
* @expected contextMenu를 닫습니다.
|
|
55
|
+
* @clear 스크롤, 휠 이벤트를 제거합니다.
|
|
52
56
|
*/
|
|
53
57
|
(0, react_1.useEffect)(function () {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return;
|
|
58
|
+
function handleScrollEvent() {
|
|
59
|
+
setIsContextMenuOpen(false);
|
|
57
60
|
}
|
|
58
|
-
|
|
59
|
-
|
|
61
|
+
window.addEventListener('scroll', handleScrollEvent);
|
|
62
|
+
window.addEventListener('wheel', handleScrollEvent);
|
|
63
|
+
return function () {
|
|
64
|
+
window.removeEventListener('scroll', handleScrollEvent);
|
|
65
|
+
window.removeEventListener('wheel', handleScrollEvent);
|
|
66
|
+
};
|
|
67
|
+
}, []);
|
|
60
68
|
var handleMoreButtonClick = function (e) {
|
|
61
69
|
e.stopPropagation();
|
|
62
70
|
setIsContextMenuOpen(function (prev) { return !prev; });
|
|
@@ -67,7 +75,30 @@ function BasicChatListItem(_a) {
|
|
|
67
75
|
}
|
|
68
76
|
setIsContextMenuOpen(false);
|
|
69
77
|
};
|
|
70
|
-
|
|
78
|
+
var contentTextColorTheme = 'sysTextPrimary';
|
|
79
|
+
var contentTextColorOverride;
|
|
80
|
+
var iconColorKey;
|
|
81
|
+
switch (colorTheme) {
|
|
82
|
+
case 'subscriber_transparent': {
|
|
83
|
+
contentTextColorTheme = 'sysTextWhite';
|
|
84
|
+
iconColorKey = 'ui_cpnt_button_icon_white';
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
case 'secondary_transparent_grey': {
|
|
88
|
+
contentTextColorTheme = 'sysTextSecondary';
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
case 'white_transparent_grey': {
|
|
92
|
+
contentTextColorOverride = 'ui_cpnt_textlabel_sys_white_02';
|
|
93
|
+
iconColorKey = 'ui_cpnt_button_icon_white';
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
default: {
|
|
97
|
+
contentTextColorTheme = 'sysTextPrimary';
|
|
98
|
+
iconColorKey = 'ui_cpnt_button_icon_enabled';
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_BasicChatListItem, __assign({ "x-pds-name": "BasicChatListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", colorTheme: colorTheme }, { children: [leftImageMode === 'use' && ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: "responsive" }) })), (0, jsx_runtime_1.jsx)(S_TitleTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", wordBreak: "break_all", colorTheme: titleTextColors[colorTheme] }) }), (0, jsx_runtime_1.jsx)(S_ContentTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: contentText, styleTheme: "caption1Regular", colorTheme: contentTextColorTheme, colorOverride: contentTextColorOverride, wordBreak: "break_all" }) }), hoverMode === 'use' && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColorKey, onClick: handleMoreButtonClick }) }))), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: contextMenuPosition, wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onMouseLeave: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })) })] })) }));
|
|
71
102
|
}
|
|
72
103
|
var S_BasicChatListItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __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 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"])), function (_a) {
|
|
73
104
|
var colorTheme = _a.colorTheme, theme = _a.theme;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
+
export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
|
|
2
3
|
type Props = {
|
|
3
4
|
targetRef: MutableRefObject<HTMLElement | null>;
|
|
4
5
|
isOpen: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { PlacementTypes } from './Popup';
|
|
2
3
|
import type { PDSTextType, PDSValueOption } from '../../../common';
|
|
3
4
|
type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black';
|
|
4
5
|
export type ChatBubbleListItemProps = {
|
|
@@ -11,8 +12,9 @@ export type ChatBubbleListItemProps = {
|
|
|
11
12
|
timeText?: PDSTextType;
|
|
12
13
|
contextMenuOptionArray?: PDSValueOption[];
|
|
13
14
|
contextMenuState?: 'normal' | 'disabled';
|
|
15
|
+
contextMenuPosition?: PlacementTypes;
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
onClickContextMenuItem?: (option: PDSValueOption) => void;
|
|
16
18
|
};
|
|
17
|
-
declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
|
|
19
|
+
declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, contextMenuPosition, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
|
|
18
20
|
export default ChatBubbleListItem;
|
|
@@ -67,9 +67,9 @@ var profileImageBorderColorTheme = {
|
|
|
67
67
|
translucent_black: 'ui_avatar_border_translucent_black'
|
|
68
68
|
};
|
|
69
69
|
function ChatBubbleListItem(_a) {
|
|
70
|
-
var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
|
|
70
|
+
var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.contextMenuPosition, contextMenuPosition = _f === void 0 ? 'v-auto' : _f, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
|
|
71
71
|
var isMe = styleTheme.includes('me');
|
|
72
|
-
var
|
|
72
|
+
var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
|
|
73
73
|
var contextMenuRef = (0, react_1.useRef)(null);
|
|
74
74
|
var chatBody = document.querySelector('#chatMessageBox');
|
|
75
75
|
var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
|
|
@@ -85,6 +85,22 @@ function ChatBubbleListItem(_a) {
|
|
|
85
85
|
}
|
|
86
86
|
chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
|
|
87
87
|
}, [isContextMenuOpen, chatBody]);
|
|
88
|
+
/**
|
|
89
|
+
* @when 스크롤, 휠 이벤트 발생시
|
|
90
|
+
* @expected contextMenu를 닫습니다.
|
|
91
|
+
* @clear 스크롤, 휠 이벤트를 제거합니다.
|
|
92
|
+
*/
|
|
93
|
+
(0, react_1.useEffect)(function () {
|
|
94
|
+
function handleScrollEvent() {
|
|
95
|
+
setIsContextMenuOpen(false);
|
|
96
|
+
}
|
|
97
|
+
window.addEventListener('scroll', handleScrollEvent);
|
|
98
|
+
window.addEventListener('wheel', handleScrollEvent);
|
|
99
|
+
return function () {
|
|
100
|
+
window.removeEventListener('scroll', handleScrollEvent);
|
|
101
|
+
window.removeEventListener('wheel', handleScrollEvent);
|
|
102
|
+
};
|
|
103
|
+
}, []);
|
|
88
104
|
var handleMoreButtonClick = function (e) {
|
|
89
105
|
e.stopPropagation();
|
|
90
106
|
setIsContextMenuOpen(function (prev) { return !prev; });
|
|
@@ -136,7 +152,7 @@ function ChatBubbleListItem(_a) {
|
|
|
136
152
|
}
|
|
137
153
|
return false;
|
|
138
154
|
};
|
|
139
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" })] }))] })), hoverMode === 'use' && !isMe && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(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 }) })))] })] }), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement:
|
|
155
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" })] }))] })), hoverMode === 'use' && !isMe && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(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 }) })))] })] }), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: contextMenuPosition, wrapperHeight: rect === null || rect === void 0 ? void 0 : rect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })] })) }));
|
|
140
156
|
}
|
|
141
157
|
var MyChatBubbleListItem = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
|
|
142
158
|
var theme = _a.theme;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
+
export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
|
|
2
3
|
type Props = {
|
|
3
4
|
targetRef: MutableRefObject<HTMLElement | null>;
|
|
4
5
|
isOpen: boolean;
|
|
@@ -436,7 +436,7 @@ var inputInnerSpinButtonStyle = (0, styled_components_1.css)(templateObject_14 |
|
|
|
436
436
|
var innerSpinButtonSize = _a.innerSpinButtonSize;
|
|
437
437
|
return innerSpinButtonSize && "".concat(innerSpinButtonSize, "px");
|
|
438
438
|
});
|
|
439
|
-
var S_Input = styled_components_1.default.input(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", "\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"], ["\n ", "\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n"])), basicStyle, function (_a) {
|
|
439
|
+
var S_Input = styled_components_1.default.input(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n ", "\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: ", " !important;\n transition: background-color 9999s ease-in-out 0s !important;\n }\n"], ["\n ", "\n line-height: ", ";\n position: relative;\n\n ::-webkit-inner-spin-button {\n ", "\n }\n ::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-text-fill-color: ", " !important;\n transition: background-color 9999s ease-in-out 0s !important;\n }\n"])), basicStyle, function (_a) {
|
|
440
440
|
var theme = _a.theme;
|
|
441
441
|
return theme.desktopLineHeight.singleLine;
|
|
442
442
|
}, function (_a) {
|
|
@@ -444,6 +444,9 @@ var S_Input = styled_components_1.default.input(templateObject_15 || (templateOb
|
|
|
444
444
|
return stepperMode === 'use' && type === 'number' && isFocused
|
|
445
445
|
? inputInnerSpinButtonStyle
|
|
446
446
|
: '-webkit-appearance: none; margin: 0;';
|
|
447
|
+
}, function (_a) {
|
|
448
|
+
var theme = _a.theme;
|
|
449
|
+
return theme.ui_cpnt_textfield_text_typed;
|
|
447
450
|
});
|
|
448
451
|
var S_Auto = styled_components_1.default.textarea(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n ", "\n display: block;\n overflow-y: auto;\n resize: none;\n ", "\n ", ";\n"], ["\n ", "\n display: block;\n overflow-y: auto;\n resize: none;\n ", "\n ", ";\n"])), basicStyle, function (_a) {
|
|
449
452
|
var autoMaxRows = _a.autoMaxRows, textSize = _a.textSize, fieldHeight = _a.fieldHeight;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { PlacementTypes } from './Popup';
|
|
2
3
|
import type { PDSTextType, PDSValueOption } from '../../../common';
|
|
3
4
|
type Props = {
|
|
4
5
|
titleText?: PDSTextType;
|
|
@@ -8,8 +9,9 @@ type Props = {
|
|
|
8
9
|
hoverMode?: 'none' | 'use';
|
|
9
10
|
contextMenuOptionArray?: PDSValueOption[];
|
|
10
11
|
contextMenuState?: 'normal' | 'disabled';
|
|
11
|
-
colorTheme?: 'seller' | '
|
|
12
|
+
colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey';
|
|
13
|
+
contextMenuPosition?: PlacementTypes;
|
|
12
14
|
onClickContextMenuItem?: (option: PDSValueOption) => void;
|
|
13
15
|
};
|
|
14
|
-
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
|
|
16
|
+
declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, contextMenuPosition, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
|
|
15
17
|
export default BasicChatListItem;
|
|
@@ -29,19 +29,23 @@ var TextLabel_1 = require("../TextLabel");
|
|
|
29
29
|
var Popup_1 = require("./Popup");
|
|
30
30
|
var titleTextColors = {
|
|
31
31
|
seller: 'usrTextBrandPrimary',
|
|
32
|
-
subscriber: 'sysTextSecondary',
|
|
33
32
|
seller_transparent: 'usrTextBrandPrimary',
|
|
34
|
-
|
|
33
|
+
subscriber: 'sysTextSecondary',
|
|
34
|
+
subscriber_transparent: 'sysTextWhite',
|
|
35
|
+
secondary_transparent_grey: 'sysTextSecondary',
|
|
36
|
+
white_transparent_grey: 'sysTextWhite'
|
|
35
37
|
};
|
|
36
38
|
var backgroundColorTheme = {
|
|
37
39
|
seller: 'ui_cpnt_list_base_area_seller',
|
|
38
|
-
subscriber: 'ui_cpnt_list_base_area',
|
|
39
40
|
seller_transparent: 'ui_cpnt_list_base_area_transparent_seller',
|
|
40
|
-
|
|
41
|
+
subscriber: 'ui_cpnt_list_base_area',
|
|
42
|
+
subscriber_transparent: 'ui_cpnt_list_base_area_transparent',
|
|
43
|
+
secondary_transparent_grey: 'ui_cpnt_list_base_area',
|
|
44
|
+
white_transparent_grey: 'ui_cpnt_list_base_area_transparent'
|
|
41
45
|
};
|
|
42
46
|
function BasicChatListItem(_a) {
|
|
43
|
-
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,
|
|
44
|
-
var
|
|
47
|
+
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, _d = _a.contextMenuPosition, contextMenuPosition = _d === void 0 ? 'v-auto' : _d, onClickContextMenuItem = _a.onClickContextMenuItem, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.colorTheme, colorTheme = _f === void 0 ? 'subscriber' : _f;
|
|
48
|
+
var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
|
|
45
49
|
var contextMenuRef = (0, react_1.useRef)(null);
|
|
46
50
|
var chatBody = document.querySelector('#chatMessageBox');
|
|
47
51
|
var chatBodyRect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
|
|
@@ -57,6 +61,24 @@ function BasicChatListItem(_a) {
|
|
|
57
61
|
}
|
|
58
62
|
chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
|
|
59
63
|
}, [isContextMenuOpen, chatBody]);
|
|
64
|
+
/**
|
|
65
|
+
* @when contextMenu가 열려 있을 때
|
|
66
|
+
* @expected touchmove 이벤트 발생시 contextMenu를 닫습니다.
|
|
67
|
+
* @clear touchmove 이벤트를 제거합니다.
|
|
68
|
+
*/
|
|
69
|
+
(0, react_1.useEffect)(function () {
|
|
70
|
+
function handleScrollEvent() {
|
|
71
|
+
setIsContextMenuOpen(false);
|
|
72
|
+
}
|
|
73
|
+
window.addEventListener('touchmove', handleScrollEvent);
|
|
74
|
+
window.addEventListener('scroll', handleScrollEvent);
|
|
75
|
+
window.addEventListener('wheel', handleScrollEvent);
|
|
76
|
+
return function () {
|
|
77
|
+
window.removeEventListener('touchmove', handleScrollEvent);
|
|
78
|
+
window.removeEventListener('scroll', handleScrollEvent);
|
|
79
|
+
window.removeEventListener('wheel', handleScrollEvent);
|
|
80
|
+
};
|
|
81
|
+
}, []);
|
|
60
82
|
var handleMoreButtonClick = function (e) {
|
|
61
83
|
e.stopPropagation();
|
|
62
84
|
setIsContextMenuOpen(function (prev) { return !prev; });
|
|
@@ -67,7 +89,33 @@ function BasicChatListItem(_a) {
|
|
|
67
89
|
}
|
|
68
90
|
setIsContextMenuOpen(false);
|
|
69
91
|
};
|
|
70
|
-
|
|
92
|
+
var handleContextMenuOutsideClick = function () {
|
|
93
|
+
setIsContextMenuOpen(false);
|
|
94
|
+
};
|
|
95
|
+
var contentTextColorTheme;
|
|
96
|
+
var contentTextColorOverride;
|
|
97
|
+
var iconColorKey;
|
|
98
|
+
switch (colorTheme) {
|
|
99
|
+
case 'subscriber_transparent': {
|
|
100
|
+
contentTextColorTheme = 'sysTextWhite';
|
|
101
|
+
iconColorKey = 'ui_cpnt_button_icon_white';
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
case 'secondary_transparent_grey': {
|
|
105
|
+
contentTextColorTheme = 'sysTextSecondary';
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
case 'white_transparent_grey': {
|
|
109
|
+
contentTextColorOverride = 'ui_cpnt_textlabel_sys_white_02';
|
|
110
|
+
iconColorKey = 'ui_cpnt_button_icon_white';
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
default: {
|
|
114
|
+
contentTextColorTheme = 'sysTextPrimary';
|
|
115
|
+
iconColorKey = 'ui_cpnt_button_icon_enabled';
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_BasicChatListItem, __assign({ "x-pds-name": "BasicChatListItem", "x-pds-element-type": "component", "x-pds-device-type": "mobile", colorTheme: colorTheme }, { children: [leftImageMode === 'use' && ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: "responsive" }) })), (0, jsx_runtime_1.jsx)(S_TitleTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", wordBreak: "break_all", colorTheme: titleTextColors[colorTheme] }) }), (0, jsx_runtime_1.jsx)(S_ContentTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: contentText, styleTheme: "caption1Regular", colorTheme: contentTextColorTheme, colorOverride: contentTextColorOverride, wordBreak: "break_all" }) }), hoverMode === 'use' && ((0, jsx_runtime_1.jsx)(S_MoreButtonWrapper, { children: (0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColorKey, onClick: handleMoreButtonClick }) })) })), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: contextMenuPosition, wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.height, onClickOutside: handleContextMenuOutsideClick }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })] })) }));
|
|
71
119
|
}
|
|
72
120
|
var S_BasicChatListItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __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 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"])), function (_a) {
|
|
73
121
|
var colorTheme = _a.colorTheme, theme = _a.theme;
|
|
@@ -93,7 +141,8 @@ var S_ContentTextWrapper = styled_components_1.default.div(templateObject_3 || (
|
|
|
93
141
|
var theme = _a.theme;
|
|
94
142
|
return theme.spacing.spacingC;
|
|
95
143
|
});
|
|
96
|
-
var
|
|
144
|
+
var S_MoreButtonWrapper = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 24px;\n width: 24px;\n"], ["\n height: 24px;\n width: 24px;\n"])));
|
|
145
|
+
var S_SeeMoreButton = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"], ["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"])), function (_a) {
|
|
97
146
|
var theme = _a.theme;
|
|
98
147
|
return theme.spacing.spacingA;
|
|
99
148
|
}, function (_a) {
|
|
@@ -103,6 +152,6 @@ var S_SeeMoreButton = styled_components_1.default.div(templateObject_4 || (templ
|
|
|
103
152
|
var hoverMode = _a.hoverMode;
|
|
104
153
|
return hoverMode === 'use' && '1';
|
|
105
154
|
});
|
|
106
|
-
var S_TitleTextWrapper = styled_components_1.default.div(
|
|
155
|
+
var S_TitleTextWrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n max-width: 120px;\n min-width: 56px;\n"], ["\n max-width: 120px;\n min-width: 56px;\n"])));
|
|
107
156
|
exports.default = BasicChatListItem;
|
|
108
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
157
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
+
export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
|
|
2
3
|
type Props = {
|
|
3
4
|
targetRef: MutableRefObject<HTMLElement | null>;
|
|
4
5
|
isOpen: boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
+
import { PlacementTypes } from './Popup';
|
|
2
3
|
import type { PDSTextType, PDSValueOption } from '../../../common';
|
|
3
4
|
type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black';
|
|
4
5
|
export type ChatBubbleListItemProps = {
|
|
@@ -11,8 +12,9 @@ export type ChatBubbleListItemProps = {
|
|
|
11
12
|
timeText?: PDSTextType;
|
|
12
13
|
contextMenuOptionArray?: PDSValueOption[];
|
|
13
14
|
contextMenuState?: 'normal' | 'disabled';
|
|
15
|
+
contextMenuPosition?: PlacementTypes;
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
onClickContextMenuItem?: (option: PDSValueOption) => void;
|
|
16
18
|
};
|
|
17
|
-
declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
|
|
19
|
+
declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, contextMenuPosition, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
|
|
18
20
|
export default ChatBubbleListItem;
|
|
@@ -67,9 +67,9 @@ var profileImageBorderColorTheme = {
|
|
|
67
67
|
translucent_black: 'ui_avatar_border_translucent_black'
|
|
68
68
|
};
|
|
69
69
|
function ChatBubbleListItem(_a) {
|
|
70
|
-
var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
|
|
70
|
+
var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.contextMenuPosition, contextMenuPosition = _f === void 0 ? 'v-auto' : _f, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
|
|
71
71
|
var isMe = styleTheme.includes('me');
|
|
72
|
-
var
|
|
72
|
+
var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
|
|
73
73
|
var contextMenuRef = (0, react_1.useRef)(null);
|
|
74
74
|
var chatBody = document.querySelector('#chatMessageBox');
|
|
75
75
|
var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
|
|
@@ -85,6 +85,24 @@ function ChatBubbleListItem(_a) {
|
|
|
85
85
|
}
|
|
86
86
|
chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
|
|
87
87
|
}, [isContextMenuOpen, chatBody]);
|
|
88
|
+
/**
|
|
89
|
+
* @when contextMenu가 열려 있을 때
|
|
90
|
+
* @expected touchmove 이벤트 발생시 contextMenu를 닫습니다.
|
|
91
|
+
* @clear touchmove 이벤트를 제거합니다.
|
|
92
|
+
*/
|
|
93
|
+
(0, react_1.useEffect)(function () {
|
|
94
|
+
function handleScrollEvent() {
|
|
95
|
+
setIsContextMenuOpen(false);
|
|
96
|
+
}
|
|
97
|
+
window.addEventListener('touchmove', handleScrollEvent);
|
|
98
|
+
window.addEventListener('scroll', handleScrollEvent);
|
|
99
|
+
window.addEventListener('wheel', handleScrollEvent);
|
|
100
|
+
return function () {
|
|
101
|
+
window.removeEventListener('touchmove', handleScrollEvent);
|
|
102
|
+
window.removeEventListener('scroll', handleScrollEvent);
|
|
103
|
+
window.removeEventListener('wheel', handleScrollEvent);
|
|
104
|
+
};
|
|
105
|
+
}, []);
|
|
88
106
|
var handleMoreButtonClick = function (e) {
|
|
89
107
|
e.stopPropagation();
|
|
90
108
|
setIsContextMenuOpen(function (prev) { return !prev; });
|
|
@@ -136,7 +154,7 @@ function ChatBubbleListItem(_a) {
|
|
|
136
154
|
}
|
|
137
155
|
return false;
|
|
138
156
|
};
|
|
139
|
-
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "mobile", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" })] }))] })), hoverMode === 'use' && !isMe && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(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 }) })))] })] }), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement:
|
|
157
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "mobile", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" })] }))] })), hoverMode === 'use' && !isMe && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(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 }) })))] })] }), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: contextMenuPosition, wrapperHeight: rect === null || rect === void 0 ? void 0 : rect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })] })) }));
|
|
140
158
|
}
|
|
141
159
|
var MyChatBubbleListItem = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
|
|
142
160
|
var theme = _a.theme;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { MutableRefObject } from 'react';
|
|
2
|
+
export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
|
|
2
3
|
type Props = {
|
|
3
4
|
targetRef: MutableRefObject<HTMLElement | null>;
|
|
4
5
|
isOpen: boolean;
|
|
@@ -86,7 +86,7 @@ var Body = react_1.default.forwardRef(function (_a, ref) {
|
|
|
86
86
|
}
|
|
87
87
|
setIsButtonShow(true);
|
|
88
88
|
};
|
|
89
|
-
return ((0, jsx_runtime_1.jsxs)(S_Body, __assign({ bodySpacingMode: bodySpacingMode }, { children: [(0, jsx_runtime_1.jsxs)(S_ChatMessageBox, __assign({ onScroll: handleScroll, ref: ref, scrollVisibleType: scrollVisibleType }, { children: [children, (0, jsx_runtime_1.jsx)(EndOfList, {})] })), bodyChildren, isButtonShow && ((0, jsx_runtime_1.jsx)(S_BottomButtonWrapper, { children: (0, jsx_runtime_1.jsx)(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn }) }))] })));
|
|
89
|
+
return ((0, jsx_runtime_1.jsxs)(S_Body, __assign({ bodySpacingMode: bodySpacingMode }, { children: [(0, jsx_runtime_1.jsxs)(S_ChatMessageBox, __assign({ id: "chatMessageBox", onScroll: handleScroll, ref: ref, scrollVisibleType: scrollVisibleType }, { children: [children, (0, jsx_runtime_1.jsx)(EndOfList, {})] })), bodyChildren, isButtonShow && ((0, jsx_runtime_1.jsx)(S_BottomButtonWrapper, { children: (0, jsx_runtime_1.jsx)(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn }) }))] })));
|
|
90
90
|
});
|
|
91
91
|
var bodySpacing = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-sizing: border-box;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n box-sizing: border-box;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
|
|
92
92
|
var theme = _a.theme;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { DynamicLayoutProps } from './types';
|
|
3
|
-
declare function DynamicLayout({ device, mode, isPreview, sections, scrollDownTargetSectionId, editingSectionId, navigationHandler, sectionActionHandler, onClickEditSection, programmedSectionComponents
|
|
3
|
+
declare function DynamicLayout({ device, mode, isPreview, sections, scrollDownTargetSectionId, editingSectionId, navigationHandler, sectionActionHandler, onClickEditSection, programmedSectionComponents }: DynamicLayoutProps): JSX.Element;
|
|
4
4
|
export default DynamicLayout;
|
|
@@ -25,7 +25,7 @@ var EditModeSectionMatcher_1 = require("./components/EditModeSectionMatcher");
|
|
|
25
25
|
var SectionMatcher_1 = require("./components/SectionMatcher");
|
|
26
26
|
var dynamicLayoutContext_1 = require("./dynamicLayoutContext");
|
|
27
27
|
function DynamicLayout(_a) {
|
|
28
|
-
var device = _a.device, _b = _a.mode, mode = _b === void 0 ? 'NORMAL' : _b, isPreview = _a.isPreview, sections = _a.sections, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, navigationHandler = _a.navigationHandler, sectionActionHandler = _a.sectionActionHandler, onClickEditSection = _a.onClickEditSection, programmedSectionComponents = _a.programmedSectionComponents
|
|
28
|
+
var device = _a.device, _b = _a.mode, mode = _b === void 0 ? 'NORMAL' : _b, isPreview = _a.isPreview, sections = _a.sections, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, navigationHandler = _a.navigationHandler, sectionActionHandler = _a.sectionActionHandler, onClickEditSection = _a.onClickEditSection, programmedSectionComponents = _a.programmedSectionComponents;
|
|
29
29
|
var filteredSortedSection = __spreadArray([], sections, true).filter(function (section) { return section.display; })
|
|
30
30
|
.sort(function (a, b) { return a.order - b.order; });
|
|
31
31
|
var iframeSection = filteredSortedSection.find(function (section) { return section.manifest.schema === 'EXP_IFRAME' && section.display; });
|
|
@@ -36,8 +36,7 @@ function DynamicLayout(_a) {
|
|
|
36
36
|
navigationHandler: navigationHandler,
|
|
37
37
|
sectionActionHandler: sectionActionHandler,
|
|
38
38
|
editingSectionId: editingSectionId,
|
|
39
|
-
programmedSectionComponents: programmedSectionComponents
|
|
40
|
-
customGridRows: customGridRows
|
|
39
|
+
programmedSectionComponents: programmedSectionComponents
|
|
41
40
|
} }, { children: [mode === 'EDIT' && onClickEditSection && ((0, jsx_runtime_1.jsx)(EditModeSectionMatcher_1.EditModeSectionMatcher, { editingSectionId: editingSectionId, scrollDownTargetSectionId: scrollDownTargetSectionId, filteredSortedSection: filteredSortedSection, onClickEditSection: onClickEditSection })), mode !== 'EDIT' &&
|
|
42
41
|
(iframeSection ? ((0, jsx_runtime_1.jsx)(SectionMatcher_1.SectionMatcher, __assign({}, iframeSection), iframeSection.id)) : (filteredSortedSection.map(function (section) { return (0, jsx_runtime_1.jsx)(SectionMatcher_1.SectionMatcher, __assign({}, section), section.id); })))] })));
|
|
43
42
|
}
|
|
@@ -13,7 +13,7 @@ function RichText(_a) {
|
|
|
13
13
|
var text = _a.text;
|
|
14
14
|
return (0, jsx_runtime_1.jsx)(S_RichText, { dangerouslySetInnerHTML: { __html: text } });
|
|
15
15
|
}
|
|
16
|
-
var S_RichText = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n line-height: 1.5;\n text-align: left;\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n"], ["\n line-height: 1.5;\n text-align: left;\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n"])), function (_a) {
|
|
16
|
+
var S_RichText = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n line-height: 1.5;\n text-align: left;\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n"], ["\n line-height: 1.5;\n text-align: left;\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n"])), function (_a) {
|
|
17
17
|
var theme = _a.theme;
|
|
18
18
|
return theme.ui_papp_post_notice_link;
|
|
19
19
|
}, function (_a) {
|
|
@@ -185,7 +185,7 @@ function HTMLReader(_a) {
|
|
|
185
185
|
}, [data]);
|
|
186
186
|
return ((0, jsx_runtime_1.jsx)(S_Content, { ref: contentRef, styleTheme: styleTheme, colorTheme: colorTheme, color: color, textAlign: textAlign, isPreview: isPreview !== null && isPreview !== void 0 ? isPreview : mode === 'PREVIEW' }));
|
|
187
187
|
}
|
|
188
|
-
var S_Content = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n ", ";\n\n ", ";\n\n ", "\n"], ["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n ", ";\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
188
|
+
var S_Content = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n\n ", ";\n\n ", ";\n\n ", "\n"], ["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n\n ", ";\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
189
189
|
var theme = _a.theme;
|
|
190
190
|
return theme.ui_temp_grey_01;
|
|
191
191
|
}, function (_a) {
|
|
@@ -182,7 +182,7 @@ function HTMLReader(_a) {
|
|
|
182
182
|
}, [data]);
|
|
183
183
|
return ((0, jsx_runtime_1.jsx)(S_Content, { ref: contentRef, styleTheme: styleTheme, colorTheme: colorTheme, color: color, textAlign: textAlign, isPreview: isPreview !== null && isPreview !== void 0 ? isPreview : mode === 'PREVIEW' }));
|
|
184
184
|
}
|
|
185
|
-
var S_Content = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n ", ";\n\n ", ";\n\n ", "\n"], ["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n a {\n color: ", ";\n }\n\n img {\n width: 100%;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n width: 100%;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n ", ";\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
185
|
+
var S_Content = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n\n ", ";\n\n ", ";\n\n ", "\n"], ["\n color: ", ";\n line-height: 1.5;\n text-align: ", ";\n white-space: pre-wrap;\n width: 100%;\n word-break: break-word;\n\n ", "\n\n & pre {\n white-space: pre-wrap;\n }\n\n div,\n p {\n overflow: hidden;\n }\n\n a {\n color: ", ";\n }\n\n img {\n max-width: 100%;\n height: auto;\n }\n\n figure {\n margin: 0;\n max-width: 100%;\n\n img {\n max-width: 100%;\n height: auto;\n }\n }\n\n blockquote {\n border-left: 4px solid ", ";\n margin: 4px;\n padding: 4px;\n\n p {\n font-style: oblique;\n margin: 0;\n }\n }\n\n iframe {\n border: none;\n }\n\n ", ";\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
186
186
|
var theme = _a.theme;
|
|
187
187
|
return theme.ui_temp_grey_01;
|
|
188
188
|
}, function (_a) {
|