pds-dev-kit-web 1.4.21 → 1.4.24
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/index.d.ts +4 -4
- package/dist/index.js +7 -3
- package/dist/src/common/components/Navigations/ContextTextLabelNav.d.ts +2 -1
- package/dist/src/common/components/Navigations/ContextTextLabelNav.js +3 -3
- package/dist/src/common/hooks/useDetectOverflow.js +1 -1
- package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +3 -1
- package/dist/src/common/styles/colorSet/PaletteColor_light.json +3 -1
- package/dist/src/common/styles/colorSet/UIColor.json +4 -1
- package/dist/src/common/styles/colorSet/index.d.ts +7 -0
- package/dist/src/common/styles/colorSet/ui-type.d.ts +3 -0
- package/dist/src/desktop/components/AdminList/AdminList.d.ts +4 -1
- package/dist/src/desktop/components/AdminList/AdminList.js +2 -2
- package/dist/src/desktop/components/AdminList/BulkActionBar.d.ts +4 -1
- package/dist/src/desktop/components/AdminList/BulkActionBar.js +4 -4
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +15 -0
- package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +134 -0
- package/dist/src/desktop/components/BasicChatListItem/index.d.ts +1 -0
- package/dist/src/desktop/components/BasicChatListItem/index.js +8 -0
- package/dist/src/desktop/components/ChatList/Body.d.ts +7 -0
- package/dist/src/desktop/components/ChatList/Body.js +90 -0
- package/dist/src/desktop/components/ChatList/ChatList.d.ts +23 -0
- package/dist/src/desktop/components/ChatList/ChatList.js +93 -0
- package/dist/src/desktop/components/ChatList/ChatTextField.d.ts +7 -0
- package/dist/src/desktop/components/ChatList/ChatTextField.js +41 -0
- package/dist/src/desktop/components/ChatList/Footer.d.ts +7 -0
- package/dist/src/desktop/components/ChatList/Footer.js +27 -0
- package/dist/src/desktop/components/ChatList/Header.d.ts +5 -0
- package/dist/src/desktop/components/ChatList/Header.js +50 -0
- package/dist/src/desktop/components/ChatList/index.d.ts +1 -0
- package/dist/src/desktop/components/ChatList/index.js +8 -0
- package/dist/src/desktop/components/ChatList/useAutoScrollToBottom.d.ts +10 -0
- package/dist/src/desktop/components/ChatList/useAutoScrollToBottom.js +48 -0
- package/dist/src/desktop/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/src/desktop/components/Dropdown/Dropdown.js +17 -7
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.d.ts +2 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.js +2 -2
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ImageIconNav.d.ts +2 -1
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/ImageIconNav.js +2 -2
- package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/InternalLinkMenuItemNav.js +3 -3
- package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.d.ts +2 -1
- package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.js +11 -5
- package/dist/src/desktop/components/Select/Select.d.ts +3 -2
- package/dist/src/desktop/components/Select/Select.js +6 -3
- package/dist/src/desktop/components/TextField/TextField.d.ts +2 -1
- package/dist/src/desktop/components/TextField/TextField.js +11 -5
- package/dist/src/desktop/components/index.d.ts +3 -1
- package/dist/src/desktop/components/index.js +5 -1
- package/dist/src/desktop/index.d.ts +2 -2
- package/dist/src/desktop/index.js +4 -2
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.js +3 -1
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTT.d.ts +11 -0
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTT.js +65 -0
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.d.ts +1 -0
- package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.js +3 -1
- package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.d.ts +1 -1
- package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.js +12 -4
- package/dist/src/hybrid/components/Spacing/Spacing.js +1 -1
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +15 -0
- package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +134 -0
- package/dist/src/mobile/components/BasicChatListItem/index.d.ts +1 -0
- package/dist/src/mobile/components/BasicChatListItem/index.js +8 -0
- package/dist/src/mobile/components/ChatList/Body.d.ts +7 -0
- package/dist/src/mobile/components/ChatList/Body.js +93 -0
- package/dist/src/mobile/components/ChatList/ChatList.d.ts +23 -0
- package/dist/src/mobile/components/ChatList/ChatList.js +93 -0
- package/dist/src/mobile/components/ChatList/ChatTextField.d.ts +7 -0
- package/dist/src/mobile/components/ChatList/ChatTextField.js +41 -0
- package/dist/src/mobile/components/ChatList/Footer.d.ts +7 -0
- package/dist/src/mobile/components/ChatList/Footer.js +27 -0
- package/dist/src/mobile/components/ChatList/Header.d.ts +5 -0
- package/dist/src/mobile/components/ChatList/Header.js +50 -0
- package/dist/src/mobile/components/ChatList/index.d.ts +1 -0
- package/dist/src/mobile/components/ChatList/index.js +8 -0
- package/dist/src/mobile/components/ChatList/useAutoScrollToBottom.d.ts +10 -0
- package/dist/src/mobile/components/ChatList/useAutoScrollToBottom.js +48 -0
- package/dist/src/mobile/components/ChatList/useTimeout.d.ts +6 -0
- package/dist/src/mobile/components/ChatList/useTimeout.js +11 -0
- package/dist/src/mobile/components/Dropdown/Dropdown.d.ts +2 -2
- package/dist/src/mobile/components/Dropdown/Dropdown.js +17 -7
- package/dist/src/mobile/components/Select/Select.d.ts +3 -2
- package/dist/src/mobile/components/Select/Select.js +6 -3
- package/dist/src/mobile/components/TextField/TextField.d.ts +2 -1
- package/dist/src/mobile/components/TextField/TextField.js +11 -5
- package/dist/src/mobile/components/index.d.ts +3 -1
- package/dist/src/mobile/components/index.js +5 -1
- package/dist/src/mobile/index.d.ts +2 -2
- package/dist/src/mobile/index.js +3 -1
- package/package.json +1 -1
- package/release-note.md +9 -9
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
var react_1 = __importStar(require("react"));
|
|
30
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
31
|
+
var MainButton_1 = require("../MainButton");
|
|
32
|
+
var useAutoScrollToBottom_1 = __importDefault(require("./useAutoScrollToBottom"));
|
|
33
|
+
var useTimeout_1 = __importDefault(require("./useTimeout"));
|
|
34
|
+
function Body(_a) {
|
|
35
|
+
var scrollVisibleType = _a.scrollVisibleType, children = _a.children, isSubmitted = _a.isSubmitted, bodyBtnText = _a.bodyBtnText;
|
|
36
|
+
var _b = (0, react_1.useState)(false), isButtonShow = _b[0], setIsButtonShow = _b[1];
|
|
37
|
+
var _c = (0, useAutoScrollToBottom_1.default)(), triggerScrollToBottom = _c.triggerScrollToBottom, EndOfList = _c.EndOfList;
|
|
38
|
+
var scrollRef = (0, react_1.useRef)(null);
|
|
39
|
+
var handleTriggerScroll = function () {
|
|
40
|
+
if (isButtonShow) {
|
|
41
|
+
if (isSubmitted) {
|
|
42
|
+
triggerScrollToBottom();
|
|
43
|
+
}
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
triggerScrollToBottom();
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* @when 스크롤을 하고 있지 않은 상황에서 chatMessages가 업데이트 될 때마다
|
|
50
|
+
* @expected 채팅 리스트의 맨 밑으로 스크롤 내린다.
|
|
51
|
+
* @clear -
|
|
52
|
+
*/
|
|
53
|
+
(0, useTimeout_1.default)({ callback: handleTriggerScroll, target: children }, 200);
|
|
54
|
+
var handleClickMBtn = function () {
|
|
55
|
+
triggerScrollToBottom();
|
|
56
|
+
};
|
|
57
|
+
var handleScroll = function () {
|
|
58
|
+
if (scrollRef.current) {
|
|
59
|
+
var _a = scrollRef.current, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
60
|
+
var BUTTON_SHOW_UP_HEIGHT = 100;
|
|
61
|
+
if (Math.ceil(scrollTop) + clientHeight + BUTTON_SHOW_UP_HEIGHT > scrollHeight) {
|
|
62
|
+
setIsButtonShow(false);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
setIsButtonShow(true);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
return (react_1.default.createElement(S_Body, null,
|
|
69
|
+
react_1.default.createElement(S_ChatMessageBox, { onScroll: handleScroll, ref: scrollRef, scrollVisibleType: scrollVisibleType },
|
|
70
|
+
children,
|
|
71
|
+
react_1.default.createElement(EndOfList, null)),
|
|
72
|
+
isButtonShow && (react_1.default.createElement(S_BottomButtonWrapper, null,
|
|
73
|
+
react_1.default.createElement(MainButton_1.MainButton, { text: bodyBtnText, size: "small", onClick: handleClickMBtn })))));
|
|
74
|
+
}
|
|
75
|
+
var S_Body = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n flex: 1;\n overflow-x: hidden;\n overflow-y: hidden;\n position: relative;\n"], ["\n flex: 1;\n overflow-x: hidden;\n overflow-y: hidden;\n position: relative;\n"])));
|
|
76
|
+
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"])));
|
|
77
|
+
var scrollHiddenStyle = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n"], ["\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
|
|
78
|
+
var S_ChatMessageBox = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 100%;\n overflow-y: auto;\n\n ", "\n"], ["\n height: 100%;\n overflow-y: auto;\n\n ", "\n"])), function (_a) {
|
|
79
|
+
var scrollVisibleType = _a.scrollVisibleType;
|
|
80
|
+
if (!scrollVisibleType || scrollVisibleType === 'moving') {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
visible: scrollVisibleStyle,
|
|
85
|
+
hidden: scrollHiddenStyle
|
|
86
|
+
}[scrollVisibleType];
|
|
87
|
+
});
|
|
88
|
+
var S_BottomButtonWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n position: absolute;\n bottom: ", ";\n left: 50%;\n transform: translate(-50%, 0);\n"], ["\n position: absolute;\n bottom: ", ";\n left: 50%;\n transform: translate(-50%, 0);\n"])), function (_a) {
|
|
89
|
+
var theme = _a.theme;
|
|
90
|
+
return theme.spacing.spacingC;
|
|
91
|
+
});
|
|
92
|
+
exports.default = Body;
|
|
93
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FillIconNameKeys, LineIconNameKeys, PDSTextType } from '../../../common';
|
|
3
|
+
export declare type Props = {
|
|
4
|
+
styleTheme?: 'solid' | 'translucent' | 'transparent';
|
|
5
|
+
headerMode?: 'none' | 'use';
|
|
6
|
+
titleText?: PDSTextType;
|
|
7
|
+
captionText?: PDSTextType;
|
|
8
|
+
headerDisplayType?: 'none' | 'ibtn1';
|
|
9
|
+
iBtn1IconName?: FillIconNameKeys | LineIconNameKeys;
|
|
10
|
+
iBtn1IconFillType?: 'line' | 'fill';
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
textFieldState?: 'normal' | 'read_only' | 'disabled';
|
|
13
|
+
textFieldHintText?: PDSTextType;
|
|
14
|
+
textFieldDefaultText?: PDSTextType;
|
|
15
|
+
textFieldMaxLength?: number;
|
|
16
|
+
scrollVisibleType?: 'moving' | 'hidden' | 'visible';
|
|
17
|
+
footerChildren?: React.ReactNode;
|
|
18
|
+
submitBtnState?: 'disabled' | 'normal';
|
|
19
|
+
bodyBtnText?: PDSTextType;
|
|
20
|
+
onSubmit: (value: string) => void;
|
|
21
|
+
};
|
|
22
|
+
declare function ChatList({ styleTheme, headerMode, titleText, captionText, headerDisplayType, iBtn1IconName, iBtn1IconFillType, children, textFieldState, textFieldHintText, textFieldDefaultText, textFieldMaxLength, scrollVisibleType, footerChildren, submitBtnState, bodyBtnText, onSubmit }: Props): JSX.Element;
|
|
23
|
+
export default ChatList;
|
|
@@ -0,0 +1,93 @@
|
|
|
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 __assign = (this && this.__assign) || function () {
|
|
7
|
+
__assign = Object.assign || function(t) {
|
|
8
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
+
s = arguments[i];
|
|
10
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
+
t[p] = s[p];
|
|
12
|
+
}
|
|
13
|
+
return t;
|
|
14
|
+
};
|
|
15
|
+
return __assign.apply(this, arguments);
|
|
16
|
+
};
|
|
17
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
+
if (mod && mod.__esModule) return mod;
|
|
31
|
+
var result = {};
|
|
32
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
+
__setModuleDefault(result, mod);
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
+
};
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
var react_1 = __importStar(require("react"));
|
|
41
|
+
var react_hook_form_1 = require("react-hook-form");
|
|
42
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
43
|
+
var hybrid_1 = require("../../../hybrid");
|
|
44
|
+
var Body_1 = __importDefault(require("./Body"));
|
|
45
|
+
var Footer_1 = __importDefault(require("./Footer"));
|
|
46
|
+
var Header_1 = __importDefault(require("./Header"));
|
|
47
|
+
var baseBackgroundColors = {
|
|
48
|
+
solid: 'ui_cpnt_list_base_area_solid',
|
|
49
|
+
translucent: 'ui_cpnt_list_base_area_translucent',
|
|
50
|
+
transparent: 'ui_cpnt_list_base_area_translucent'
|
|
51
|
+
};
|
|
52
|
+
function ChatList(_a) {
|
|
53
|
+
var _b = _a.styleTheme, styleTheme = _b === void 0 ? 'solid' : _b, _c = _a.headerMode, headerMode = _c === void 0 ? 'use' : _c, titleText = _a.titleText, captionText = _a.captionText, _d = _a.headerDisplayType, headerDisplayType = _d === void 0 ? 'none' : _d, _e = _a.iBtn1IconName, iBtn1IconName = _e === void 0 ? 'ic_xmark' : _e, _f = _a.iBtn1IconFillType, iBtn1IconFillType = _f === void 0 ? 'line' : _f, children = _a.children, _g = _a.textFieldState, textFieldState = _g === void 0 ? 'normal' : _g, textFieldHintText = _a.textFieldHintText, textFieldDefaultText = _a.textFieldDefaultText, textFieldMaxLength = _a.textFieldMaxLength, _h = _a.scrollVisibleType, scrollVisibleType = _h === void 0 ? 'moving' : _h, footerChildren = _a.footerChildren, submitBtnState = _a.submitBtnState, bodyBtnText = _a.bodyBtnText, onSubmit = _a.onSubmit;
|
|
54
|
+
var methods = (0, react_hook_form_1.useForm)({
|
|
55
|
+
mode: 'onChange',
|
|
56
|
+
defaultValues: {
|
|
57
|
+
chat: ''
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var reset = methods.reset, handleSubmit = methods.handleSubmit, control = methods.control, _j = methods.formState, isSubmitted = _j.isSubmitted, isValid = _j.isValid, isDirty = _j.isDirty;
|
|
61
|
+
var inputValue = (0, react_hook_form_1.useWatch)({ name: 'chat', control: control });
|
|
62
|
+
var isSubmitButtonActive = (0, react_1.useMemo)(function () {
|
|
63
|
+
if (!submitBtnState) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return isDirty && isValid && inputValue.length > 0 && submitBtnState === 'normal';
|
|
67
|
+
}, [isDirty, isValid, inputValue, submitBtnState]);
|
|
68
|
+
var handleSubmitChat = function (_a) {
|
|
69
|
+
var chat = _a.chat;
|
|
70
|
+
if (!chat || !isSubmitButtonActive) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
onSubmit(chat);
|
|
74
|
+
reset({ chat: '' });
|
|
75
|
+
};
|
|
76
|
+
return (react_1.default.createElement(S_ChatList, { backgroundColor: baseBackgroundColors[styleTheme], id: "chatList" },
|
|
77
|
+
headerMode === 'use' && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
78
|
+
react_1.default.createElement(Header_1.default, { styleTheme: styleTheme, titleText: titleText, captionText: captionText, headerDisplayType: headerDisplayType, iBtn1IconName: iBtn1IconName, iBtn1IconFillType: iBtn1IconFillType }),
|
|
79
|
+
react_1.default.createElement(hybrid_1.Divider, null))),
|
|
80
|
+
react_1.default.createElement(Body_1.default, { scrollVisibleType: scrollVisibleType, isSubmitted: isSubmitted, bodyBtnText: bodyBtnText }, children),
|
|
81
|
+
react_1.default.createElement(hybrid_1.Divider, null),
|
|
82
|
+
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d" }),
|
|
83
|
+
react_1.default.createElement(react_hook_form_1.FormProvider, __assign({}, methods),
|
|
84
|
+
react_1.default.createElement("form", { onSubmit: handleSubmit(handleSubmitChat) },
|
|
85
|
+
react_1.default.createElement(Footer_1.default, { textFieldDefaultText: textFieldDefaultText, textFieldHintText: textFieldHintText, textFieldState: textFieldState, textFieldMaxLength: textFieldMaxLength, footerChildren: footerChildren, isSubmitBtnActive: isSubmitButtonActive }))),
|
|
86
|
+
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_d" })));
|
|
87
|
+
}
|
|
88
|
+
var S_ChatList = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n"], ["\n background-color: ", ";\n display: flex;\n flex-direction: column;\n height: 100%;\n"])), function (_a) {
|
|
89
|
+
var backgroundColor = _a.backgroundColor, theme = _a.theme;
|
|
90
|
+
return theme[backgroundColor];
|
|
91
|
+
});
|
|
92
|
+
exports.default = ChatList;
|
|
93
|
+
var templateObject_1;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Props as ChatListProps } from './ChatList';
|
|
3
|
+
declare type Props = Pick<ChatListProps, 'textFieldDefaultText' | 'textFieldHintText' | 'textFieldState' | 'textFieldMaxLength'> & {
|
|
4
|
+
isSubmitBtnActive: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare function ChatTextField({ textFieldDefaultText, textFieldHintText, textFieldState, textFieldMaxLength, isSubmitBtnActive }: Props): JSX.Element;
|
|
7
|
+
export default ChatTextField;
|
|
@@ -0,0 +1,41 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var react_1 = __importDefault(require("react"));
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var IconButton_1 = require("../IconButton");
|
|
13
|
+
var TextField_1 = require("../TextField");
|
|
14
|
+
function ChatTextField(_a) {
|
|
15
|
+
var textFieldDefaultText = _a.textFieldDefaultText, textFieldHintText = _a.textFieldHintText, textFieldState = _a.textFieldState, textFieldMaxLength = _a.textFieldMaxLength, isSubmitBtnActive = _a.isSubmitBtnActive;
|
|
16
|
+
var chatValidation = {
|
|
17
|
+
validate: function (value) {
|
|
18
|
+
if (!value)
|
|
19
|
+
return true;
|
|
20
|
+
return value.trim().length ? true : false;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
24
|
+
react_1.default.createElement(S_FooterContentWrapper, null,
|
|
25
|
+
react_1.default.createElement(S_TextFieldWrapper, null,
|
|
26
|
+
react_1.default.createElement(TextField_1.TextField, { name: "chat", responsiveMode: "use", textLineType: "single", inputType: "text", hintText: textFieldHintText, defaultText: textFieldDefaultText, validation: chatValidation, maxLength: textFieldMaxLength, enterSubmitMode: "use", validationPoint: "onChange", state: textFieldState })),
|
|
27
|
+
react_1.default.createElement(IconButton_1.IconButton, { iconName: "ic_paper_plane", baseSize: "large", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: isSubmitBtnActive ? 'ui_cpnt_icon_sys_brandprimary' : 'ui_cpnt_button_icon_disabled', iconSize: 24, type: "submit", state: isSubmitBtnActive ? 'normal' : 'disabled' }))));
|
|
28
|
+
}
|
|
29
|
+
var S_FooterContentWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n align-items: center;\n display: flex;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
|
|
30
|
+
var theme = _a.theme;
|
|
31
|
+
return theme.spacing.spacingE;
|
|
32
|
+
}, function (_a) {
|
|
33
|
+
var theme = _a.theme;
|
|
34
|
+
return theme.spacing.spacingC;
|
|
35
|
+
});
|
|
36
|
+
var S_TextFieldWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n margin-right: ", ";\n"], ["\n flex: 1;\n margin-right: ", ";\n"])), function (_a) {
|
|
37
|
+
var theme = _a.theme;
|
|
38
|
+
return theme.spacing.spacingB;
|
|
39
|
+
});
|
|
40
|
+
exports.default = ChatTextField;
|
|
41
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Props as ChatListProps } from './ChatList';
|
|
3
|
+
declare type Props = Pick<ChatListProps, 'footerChildren' | 'textFieldDefaultText' | 'textFieldHintText' | 'textFieldState' | 'textFieldMaxLength'> & {
|
|
4
|
+
isSubmitBtnActive: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare function Footer({ footerChildren, textFieldDefaultText, textFieldHintText, textFieldState, textFieldMaxLength, isSubmitBtnActive }: Props): JSX.Element;
|
|
7
|
+
export default Footer;
|
|
@@ -0,0 +1,27 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var react_1 = __importDefault(require("react"));
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var ChatTextField_1 = __importDefault(require("./ChatTextField"));
|
|
13
|
+
function Footer(_a) {
|
|
14
|
+
var footerChildren = _a.footerChildren, textFieldDefaultText = _a.textFieldDefaultText, textFieldHintText = _a.textFieldHintText, textFieldState = _a.textFieldState, textFieldMaxLength = _a.textFieldMaxLength, isSubmitBtnActive = _a.isSubmitBtnActive;
|
|
15
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
16
|
+
react_1.default.createElement(ChatTextField_1.default, { textFieldDefaultText: textFieldDefaultText, textFieldHintText: textFieldHintText, textFieldState: textFieldState, textFieldMaxLength: textFieldMaxLength, isSubmitBtnActive: isSubmitBtnActive }),
|
|
17
|
+
react_1.default.createElement(S_FooterChildrenWrapper, null, footerChildren)));
|
|
18
|
+
}
|
|
19
|
+
var S_FooterChildrenWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
|
|
20
|
+
var theme = _a.theme;
|
|
21
|
+
return theme.spacing.spacingE;
|
|
22
|
+
}, function (_a) {
|
|
23
|
+
var theme = _a.theme;
|
|
24
|
+
return theme.spacing.spacingC;
|
|
25
|
+
});
|
|
26
|
+
exports.default = Footer;
|
|
27
|
+
var templateObject_1;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Props as ChatListProps } from './ChatList';
|
|
3
|
+
declare type Props = Required<Pick<ChatListProps, 'styleTheme'>> & Pick<ChatListProps, 'titleText' | 'captionText' | 'headerDisplayType' | 'iBtn1IconName' | 'iBtn1IconFillType'>;
|
|
4
|
+
declare function Header({ styleTheme, titleText, captionText, headerDisplayType, iBtn1IconName, iBtn1IconFillType }: Props): JSX.Element;
|
|
5
|
+
export default Header;
|
|
@@ -0,0 +1,50 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
var react_1 = __importDefault(require("react"));
|
|
11
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
|
+
var hybrid_1 = require("../../../hybrid");
|
|
13
|
+
var IconButton_1 = require("../IconButton");
|
|
14
|
+
var TextLabel_1 = require("../TextLabel");
|
|
15
|
+
var titleTextColors = {
|
|
16
|
+
solid: 'sysTextPrimary',
|
|
17
|
+
translucent: 'sysTextWhite',
|
|
18
|
+
transparent: 'sysTextWhite'
|
|
19
|
+
};
|
|
20
|
+
var iconColors = {
|
|
21
|
+
solid: 'ui_cpnt_button_icon_enabled',
|
|
22
|
+
translucent: 'ui_cpnt_button_icon_white',
|
|
23
|
+
transparent: 'ui_cpnt_button_icon_white'
|
|
24
|
+
};
|
|
25
|
+
function Header(_a) {
|
|
26
|
+
var styleTheme = _a.styleTheme, titleText = _a.titleText, captionText = _a.captionText, headerDisplayType = _a.headerDisplayType, iBtn1IconName = _a.iBtn1IconName, iBtn1IconFillType = _a.iBtn1IconFillType;
|
|
27
|
+
return (react_1.default.createElement(S_HeaderContentWrapper, null,
|
|
28
|
+
react_1.default.createElement(S_HeaderLeftBox, null,
|
|
29
|
+
titleText && (react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, styleTheme: "body1Bold", colorTheme: titleTextColors[styleTheme] })),
|
|
30
|
+
captionText && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
31
|
+
react_1.default.createElement(hybrid_1.Spacing, { size: "spacing_a" }),
|
|
32
|
+
react_1.default.createElement(TextLabel_1.TextLabel, { text: captionText, styleTheme: "caption1Regular", colorTheme: "sysTextSecondary", colorOverride: styleTheme === 'translucent' ? 'ui_cpnt_list_text_caption_02' : undefined })))),
|
|
33
|
+
headerDisplayType === 'ibtn1' && iBtn1IconName && (react_1.default.createElement(IconButton_1.IconButton, { iconName: iBtn1IconName, baseSize: "large", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColors[styleTheme], iconSize: 24, iconFillType: iBtn1IconFillType }))));
|
|
34
|
+
}
|
|
35
|
+
var S_HeaderContentWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n align-items: center;\n display: flex;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
|
|
36
|
+
var theme = _a.theme;
|
|
37
|
+
return theme.spacing.spacingD;
|
|
38
|
+
}, function (_a) {
|
|
39
|
+
var theme = _a.theme;
|
|
40
|
+
return theme.spacing.spacingE;
|
|
41
|
+
}, function (_a) {
|
|
42
|
+
var theme = _a.theme;
|
|
43
|
+
return theme.spacing.spacingC;
|
|
44
|
+
}, function (_a) {
|
|
45
|
+
var theme = _a.theme;
|
|
46
|
+
return theme.spacing.spacingD;
|
|
47
|
+
});
|
|
48
|
+
var S_HeaderLeftBox = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
49
|
+
exports.default = Header;
|
|
50
|
+
var templateObject_1, templateObject_2;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ChatList } from './ChatList';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChatList = void 0;
|
|
7
|
+
var ChatList_1 = require("./ChatList");
|
|
8
|
+
Object.defineProperty(exports, "ChatList", { enumerable: true, get: function () { return __importDefault(ChatList_1).default; } });
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
declare type Props = {
|
|
3
|
+
behavior?: 'auto' | 'smooth';
|
|
4
|
+
heightOfEndOfList?: number;
|
|
5
|
+
};
|
|
6
|
+
declare function useAutoScrollToBottom({ behavior, heightOfEndOfList }?: Props): {
|
|
7
|
+
triggerScrollToBottom: () => void;
|
|
8
|
+
EndOfList: () => JSX.Element;
|
|
9
|
+
};
|
|
10
|
+
export default useAutoScrollToBottom;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
+
}) : function(o, v) {
|
|
12
|
+
o["default"] = v;
|
|
13
|
+
});
|
|
14
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
+
if (mod && mod.__esModule) return mod;
|
|
16
|
+
var result = {};
|
|
17
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
+
__setModuleDefault(result, mod);
|
|
19
|
+
return result;
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
var react_1 = __importStar(require("react"));
|
|
23
|
+
function useAutoScrollToBottom(_a) {
|
|
24
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.behavior, behavior = _c === void 0 ? 'auto' : _c, _d = _b.heightOfEndOfList, heightOfEndOfList = _d === void 0 ? 10 : _d;
|
|
25
|
+
var scrollRef = (0, react_1.useRef)(null);
|
|
26
|
+
var _e = (0, react_1.useState)(false), scrollTrigger = _e[0], setScrollTrigger = _e[1];
|
|
27
|
+
/**
|
|
28
|
+
* @when scrollTrigger가 변할 때마다(false -> true, vice versa)
|
|
29
|
+
* @expected EndOfList가 화면에 보이도록 스크롤 한다.
|
|
30
|
+
* @clear -
|
|
31
|
+
*/
|
|
32
|
+
(0, react_1.useEffect)(function () {
|
|
33
|
+
if (scrollRef.current) {
|
|
34
|
+
scrollRef.current.scrollIntoView({ behavior: behavior });
|
|
35
|
+
}
|
|
36
|
+
}, [scrollTrigger]);
|
|
37
|
+
function triggerScrollToBottom() {
|
|
38
|
+
setScrollTrigger(function (prev) { return !prev; });
|
|
39
|
+
}
|
|
40
|
+
function EndOfList() {
|
|
41
|
+
return react_1.default.createElement("li", { style: { listStyle: 'none', height: heightOfEndOfList + "px" }, ref: scrollRef });
|
|
42
|
+
}
|
|
43
|
+
return {
|
|
44
|
+
triggerScrollToBottom: triggerScrollToBottom,
|
|
45
|
+
EndOfList: EndOfList
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.default = useAutoScrollToBottom;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var react_1 = require("react");
|
|
4
|
+
function useTimeout(_a, delay) {
|
|
5
|
+
var callback = _a.callback, target = _a.target;
|
|
6
|
+
(0, react_1.useEffect)(function () {
|
|
7
|
+
var timeout = setTimeout(function () { return callback(); }, delay);
|
|
8
|
+
return function () { return clearTimeout(timeout); };
|
|
9
|
+
}, [target]);
|
|
10
|
+
}
|
|
11
|
+
exports.default = useTimeout;
|
|
@@ -11,11 +11,11 @@ declare type Props = {
|
|
|
11
11
|
hintText?: TFunctionResult;
|
|
12
12
|
maxHeightItemNumber?: number;
|
|
13
13
|
responsiveMode?: 'none' | 'use';
|
|
14
|
-
selectionMode?: 'single' | 'multi';
|
|
15
14
|
size?: 'large' | 'small';
|
|
16
15
|
state?: 'normal' | 'read_only' | 'disabled';
|
|
17
16
|
valueArray: DropDownValues[];
|
|
17
|
+
customWidth?: string;
|
|
18
18
|
onChange?: (option: PDSValueOption) => void;
|
|
19
19
|
};
|
|
20
|
-
declare function Dropdown({ colorTheme, value, defaultValue, hintText, maxHeightItemNumber, responsiveMode,
|
|
20
|
+
declare function Dropdown({ colorTheme, value, defaultValue, hintText, maxHeightItemNumber, responsiveMode, size, state, valueArray, customWidth, onChange }: Props): JSX.Element;
|
|
21
21
|
export default Dropdown;
|
|
@@ -31,9 +31,13 @@ var ContextMenuItem_1 = require("../ContextMenuItem");
|
|
|
31
31
|
var TextLabel_1 = require("../TextLabel");
|
|
32
32
|
// TODO: selectionMode의 multi 기능 구현 추가 필요
|
|
33
33
|
function Dropdown(_a) {
|
|
34
|
-
var _b = _a.colorTheme, colorTheme = _b === void 0 ? 'none' : _b, value = _a.value, defaultValue = _a.defaultValue, hintText = _a.hintText, _c = _a.maxHeightItemNumber, maxHeightItemNumber = _c === void 0 ? 5 : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d,
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
var _b = _a.colorTheme, colorTheme = _b === void 0 ? 'none' : _b, value = _a.value, defaultValue = _a.defaultValue, hintText = _a.hintText, _c = _a.maxHeightItemNumber, maxHeightItemNumber = _c === void 0 ? 5 : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d,
|
|
35
|
+
// selectionMode = 'single',
|
|
36
|
+
_e = _a.size,
|
|
37
|
+
// selectionMode = 'single',
|
|
38
|
+
size = _e === void 0 ? 'large' : _e, _f = _a.state, state = _f === void 0 ? 'normal' : _f, valueArray = _a.valueArray, customWidth = _a.customWidth, onChange = _a.onChange;
|
|
39
|
+
var _g = (0, react_1.useState)(false), isFocused = _g[0], setIsFocused = _g[1];
|
|
40
|
+
var _h = (0, react_1.useState)(defaultValue), selectedValue = _h[0], setSelectedValue = _h[1];
|
|
37
41
|
(0, react_1.useEffect)(function () {
|
|
38
42
|
if (defaultValue) {
|
|
39
43
|
setSelectedValue(defaultValue);
|
|
@@ -144,8 +148,8 @@ function Dropdown(_a) {
|
|
|
144
148
|
var LARGE_HEIGHT = 48;
|
|
145
149
|
return LARGE_HEIGHT * maxHeightItemNumber;
|
|
146
150
|
}, [size, maxHeightItemNumber]);
|
|
147
|
-
return (react_1.default.createElement(S_Dropdown, { className: "container", size: size, tabIndex: 0, onBlur: handleBlur, responsiveMode: responsiveMode },
|
|
148
|
-
react_1.default.createElement(S_Select, { size: size, onClick: handleClick, isFocused: isFocused, state: state, colorTheme: colorTheme, responsiveMode: responsiveMode },
|
|
151
|
+
return (react_1.default.createElement(S_Dropdown, { className: "container", size: size, tabIndex: 0, onBlur: handleBlur, responsiveMode: responsiveMode, customWidth: customWidth },
|
|
152
|
+
react_1.default.createElement(S_Select, { size: size, onClick: handleClick, isFocused: isFocused, state: state, colorTheme: colorTheme, responsiveMode: responsiveMode, customWidth: customWidth },
|
|
149
153
|
react_1.default.createElement(S_TextLabel, null,
|
|
150
154
|
react_1.default.createElement(TextLabel_1.TextLabel, { text: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.text) || hintText, styleTheme: "form2Regular", singleLineMode: "use", colorTheme: getTextColorTheme(), colorOverride: getTextColorOverride() })),
|
|
151
155
|
react_1.default.createElement(hybrid_1.Icon, { size: 16, fillType: "line", iconName: isFocused ? 'ic_arrow_up' : 'ic_arrow_down', colorKey: getIconColorKey() }),
|
|
@@ -169,13 +173,16 @@ var small = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 =
|
|
|
169
173
|
var responsiveMode = _a.responsiveMode;
|
|
170
174
|
return (responsiveMode === 'use' ? '100%' : '188px');
|
|
171
175
|
});
|
|
172
|
-
var S_Dropdown = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: inline-block;\n outline: none;\n position: relative;\n\n ", ";\n"], ["\n display: inline-block;\n outline: none;\n position: relative;\n\n ", ";\n"])), function (_a) {
|
|
176
|
+
var S_Dropdown = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: inline-block;\n outline: none;\n position: relative;\n\n ", ";\n\n ", "\n"], ["\n display: inline-block;\n outline: none;\n position: relative;\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
173
177
|
var size = _a.size;
|
|
174
178
|
return size &&
|
|
175
179
|
{
|
|
176
180
|
large: large,
|
|
177
181
|
small: small
|
|
178
182
|
}[size];
|
|
183
|
+
}, function (_a) {
|
|
184
|
+
var customWidth = _a.customWidth;
|
|
185
|
+
return customWidth && "width: " + customWidth + ";";
|
|
179
186
|
});
|
|
180
187
|
var colorThemeBackgroundReadOnly = (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), function (_a) {
|
|
181
188
|
var colorTheme = _a.colorTheme, theme = _a.theme;
|
|
@@ -241,7 +248,7 @@ var borderColor = (0, styled_components_1.css)(templateObject_10 || (templateObj
|
|
|
241
248
|
return theme.ui_cpnt_dropdown_border_normal;
|
|
242
249
|
}
|
|
243
250
|
});
|
|
244
|
-
var S_Select = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border: 2px solid\n ", ";\n border-radius: 14px;\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n ", ";\n"], ["\n align-items: center;\n background-color: ", ";\n border: 2px solid\n ", ";\n border-radius: 14px;\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n ", ";\n"])), function (_a) {
|
|
251
|
+
var S_Select = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border: 2px solid\n ", ";\n border-radius: 14px;\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n ", ";\n\n ", "\n"], ["\n align-items: center;\n background-color: ", ";\n border: 2px solid\n ", ";\n border-radius: 14px;\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n\n ", ";\n\n ", "\n"])), function (_a) {
|
|
245
252
|
var state = _a.state;
|
|
246
253
|
switch (state) {
|
|
247
254
|
case 'disabled':
|
|
@@ -268,6 +275,9 @@ var S_Select = styled_components_1.default.div(templateObject_11 || (templateObj
|
|
|
268
275
|
large: large,
|
|
269
276
|
small: small
|
|
270
277
|
}[size];
|
|
278
|
+
}, function (_a) {
|
|
279
|
+
var customWidth = _a.customWidth;
|
|
280
|
+
return customWidth && "width: " + customWidth + ";";
|
|
271
281
|
});
|
|
272
282
|
var S_ContextMenuWrapper = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n display: block;\n margin-top: ", ";\n position: absolute;\n width: inherit;\n"], ["\n display: block;\n margin-top: ", ";\n position: absolute;\n width: inherit;\n"])), function (_a) {
|
|
273
283
|
var theme = _a.theme;
|
|
@@ -12,8 +12,9 @@ declare type SelectProps = {
|
|
|
12
12
|
size?: 'large' | 'medium' | 'small' | 'rlarge';
|
|
13
13
|
responsiveMode?: 'none' | 'use';
|
|
14
14
|
state?: 'normal' | 'read_only' | 'disabled';
|
|
15
|
-
onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
16
15
|
colorTheme?: 'none' | 'dark';
|
|
16
|
+
customWidth?: string;
|
|
17
|
+
onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;
|
|
17
18
|
};
|
|
18
|
-
declare function Select({ hintText, defaultValue, value, valueArray, size, responsiveMode, state,
|
|
19
|
+
declare function Select({ hintText, defaultValue, value, valueArray, size, responsiveMode, state, colorTheme, customWidth, onChange }: SelectProps): JSX.Element;
|
|
19
20
|
export default Select;
|
|
@@ -32,7 +32,7 @@ var hybrid_1 = require("../../../hybrid");
|
|
|
32
32
|
var HINT = 'HINT_VALUE';
|
|
33
33
|
function Select(_a) {
|
|
34
34
|
var _b;
|
|
35
|
-
var hintText = _a.hintText, defaultValue = _a.defaultValue, value = _a.value, valueArray = _a.valueArray, _c = _a.size, size = _c === void 0 ? 'large' : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d, _e = _a.state, state = _e === void 0 ? 'normal' : _e,
|
|
35
|
+
var hintText = _a.hintText, defaultValue = _a.defaultValue, value = _a.value, valueArray = _a.valueArray, _c = _a.size, size = _c === void 0 ? 'large' : _c, _d = _a.responsiveMode, responsiveMode = _d === void 0 ? 'none' : _d, _e = _a.state, state = _e === void 0 ? 'normal' : _e, _f = _a.colorTheme, colorTheme = _f === void 0 ? 'none' : _f, customWidth = _a.customWidth, onChange = _a.onChange;
|
|
36
36
|
var handleChange = function (e) {
|
|
37
37
|
if (onChange) {
|
|
38
38
|
onChange(e);
|
|
@@ -50,7 +50,7 @@ function Select(_a) {
|
|
|
50
50
|
}
|
|
51
51
|
return 'ui_cpnt_select_icon_01';
|
|
52
52
|
};
|
|
53
|
-
return (react_1.default.createElement(S_Box, { size: size, responsiveMode: responsiveMode, tabIndex: 0 },
|
|
53
|
+
return (react_1.default.createElement(S_Box, { size: size, responsiveMode: responsiveMode, tabIndex: 0, customWidth: customWidth },
|
|
54
54
|
react_1.default.createElement(S_Icon_Wrapper, { state: state },
|
|
55
55
|
react_1.default.createElement(hybrid_1.Icon, { size: 16, fillType: "line", iconName: "ic_arrow_down", colorKey: getIconColorKey() })),
|
|
56
56
|
react_1.default.createElement(S_Select, { disabled: state === 'disabled' || state === 'read_only', state: state, colorTheme: colorTheme, onChange: handleChange, defaultValue: (_b = defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.value) !== null && _b !== void 0 ? _b : HINT, value: value || undefined },
|
|
@@ -88,7 +88,7 @@ var dark = (0, styled_components_1.css)(templateObject_5 || (templateObject_5 =
|
|
|
88
88
|
var theme = _a.theme;
|
|
89
89
|
return theme.ui_cpnt_select_text_darktheme_enabled;
|
|
90
90
|
});
|
|
91
|
-
var S_Box = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: relative;\n z-index: 0;\n\n ", "\n ", ";\n"], ["\n position: relative;\n z-index: 0;\n\n ", "\n ", ";\n"])), function (_a) {
|
|
91
|
+
var S_Box = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n position: relative;\n z-index: 0;\n\n ", "\n ", ";\n ", "\n"], ["\n position: relative;\n z-index: 0;\n\n ", "\n ", ";\n ", "\n"])), function (_a) {
|
|
92
92
|
var size = _a.size;
|
|
93
93
|
return size &&
|
|
94
94
|
{
|
|
@@ -100,6 +100,9 @@ var S_Box = styled_components_1.default.div(templateObject_6 || (templateObject_
|
|
|
100
100
|
}, function (_a) {
|
|
101
101
|
var responsiveMode = _a.responsiveMode;
|
|
102
102
|
return responsiveMode === 'use' && 'width: 100%';
|
|
103
|
+
}, function (_a) {
|
|
104
|
+
var customWidth = _a.customWidth;
|
|
105
|
+
return customWidth && "width: " + customWidth + ";";
|
|
103
106
|
});
|
|
104
107
|
var S_Icon_Wrapper = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n height: 16px;\n position: absolute;\n right: ", ";\n top: 50%;\n transform: translateY(-50%);\n width: 16px;\n"], ["\n align-items: center;\n display: flex;\n height: 16px;\n position: absolute;\n right: ", ";\n top: 50%;\n transform: translateY(-50%);\n width: 16px;\n"])), function (_a) {
|
|
105
108
|
var theme = _a.theme;
|
|
@@ -27,6 +27,7 @@ export declare type TextFieldProps = {
|
|
|
27
27
|
max?: number;
|
|
28
28
|
maxLength?: number;
|
|
29
29
|
min?: number;
|
|
30
|
+
customWidth?: string;
|
|
30
31
|
onBlur?: (e: React.FocusEvent<HTMLInputElement> | React.FocusEvent<HTMLTextAreaElement>) => void;
|
|
31
32
|
onChange?: (e: React.ChangeEvent<HTMLInputElement> | React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
32
33
|
onClickIBtn1?: () => void;
|
|
@@ -35,5 +36,5 @@ export declare type TextFieldProps = {
|
|
|
35
36
|
onKeyUp?: (e: React.KeyboardEvent<HTMLInputElement> | React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
36
37
|
onTarget?: () => void;
|
|
37
38
|
};
|
|
38
|
-
declare function TextField({ name, hintText, defaultText, validation, validationPoint, preventBlankMode, enterSubmitMode, size, responsiveMode, textLineType, multiRows, autoMinRows, autoMaxRows, inputType, state, iBtn1IconName, iBtn1IconFillType, iBtn2IconName, iBtn2IconFillType, colorTheme, max, maxLength, min, onBlur, onChange, onClickIBtn1, onClickIBtn2, onFocus, onKeyUp, onTarget }: TextFieldProps): JSX.Element;
|
|
39
|
+
declare function TextField({ name, hintText, defaultText, validation, validationPoint, preventBlankMode, enterSubmitMode, size, responsiveMode, textLineType, multiRows, autoMinRows, autoMaxRows, inputType, state, iBtn1IconName, iBtn1IconFillType, iBtn2IconName, iBtn2IconFillType, colorTheme, max, maxLength, min, customWidth, onBlur, onChange, onClickIBtn1, onClickIBtn2, onFocus, onKeyUp, onTarget }: TextFieldProps): JSX.Element;
|
|
39
40
|
export default TextField;
|