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.
Files changed (90) hide show
  1. package/dist/index.d.ts +4 -4
  2. package/dist/index.js +7 -3
  3. package/dist/src/common/components/Navigations/ContextTextLabelNav.d.ts +2 -1
  4. package/dist/src/common/components/Navigations/ContextTextLabelNav.js +3 -3
  5. package/dist/src/common/hooks/useDetectOverflow.js +1 -1
  6. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +3 -1
  7. package/dist/src/common/styles/colorSet/PaletteColor_light.json +3 -1
  8. package/dist/src/common/styles/colorSet/UIColor.json +4 -1
  9. package/dist/src/common/styles/colorSet/index.d.ts +7 -0
  10. package/dist/src/common/styles/colorSet/ui-type.d.ts +3 -0
  11. package/dist/src/desktop/components/AdminList/AdminList.d.ts +4 -1
  12. package/dist/src/desktop/components/AdminList/AdminList.js +2 -2
  13. package/dist/src/desktop/components/AdminList/BulkActionBar.d.ts +4 -1
  14. package/dist/src/desktop/components/AdminList/BulkActionBar.js +4 -4
  15. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +15 -0
  16. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +134 -0
  17. package/dist/src/desktop/components/BasicChatListItem/index.d.ts +1 -0
  18. package/dist/src/desktop/components/BasicChatListItem/index.js +8 -0
  19. package/dist/src/desktop/components/ChatList/Body.d.ts +7 -0
  20. package/dist/src/desktop/components/ChatList/Body.js +90 -0
  21. package/dist/src/desktop/components/ChatList/ChatList.d.ts +23 -0
  22. package/dist/src/desktop/components/ChatList/ChatList.js +93 -0
  23. package/dist/src/desktop/components/ChatList/ChatTextField.d.ts +7 -0
  24. package/dist/src/desktop/components/ChatList/ChatTextField.js +41 -0
  25. package/dist/src/desktop/components/ChatList/Footer.d.ts +7 -0
  26. package/dist/src/desktop/components/ChatList/Footer.js +27 -0
  27. package/dist/src/desktop/components/ChatList/Header.d.ts +5 -0
  28. package/dist/src/desktop/components/ChatList/Header.js +50 -0
  29. package/dist/src/desktop/components/ChatList/index.d.ts +1 -0
  30. package/dist/src/desktop/components/ChatList/index.js +8 -0
  31. package/dist/src/desktop/components/ChatList/useAutoScrollToBottom.d.ts +10 -0
  32. package/dist/src/desktop/components/ChatList/useAutoScrollToBottom.js +48 -0
  33. package/dist/src/desktop/components/Dropdown/Dropdown.d.ts +2 -2
  34. package/dist/src/desktop/components/Dropdown/Dropdown.js +17 -7
  35. package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.d.ts +2 -1
  36. package/dist/src/desktop/components/DynamicDesktopNavBar/components/IconNav.js +2 -2
  37. package/dist/src/desktop/components/DynamicDesktopNavBar/components/ImageIconNav.d.ts +2 -1
  38. package/dist/src/desktop/components/DynamicDesktopNavBar/components/ImageIconNav.js +2 -2
  39. package/dist/src/desktop/components/DynamicDesktopNavBar/components/MenuItemNav/components/InternalLinkMenuItemNav.js +3 -3
  40. package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.d.ts +2 -1
  41. package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.js +11 -5
  42. package/dist/src/desktop/components/Select/Select.d.ts +3 -2
  43. package/dist/src/desktop/components/Select/Select.js +6 -3
  44. package/dist/src/desktop/components/TextField/TextField.d.ts +2 -1
  45. package/dist/src/desktop/components/TextField/TextField.js +11 -5
  46. package/dist/src/desktop/components/index.d.ts +3 -1
  47. package/dist/src/desktop/components/index.js +5 -1
  48. package/dist/src/desktop/index.d.ts +2 -2
  49. package/dist/src/desktop/index.js +4 -2
  50. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
  51. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.js +3 -1
  52. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTT.d.ts +11 -0
  53. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTT.js +65 -0
  54. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.d.ts +1 -0
  55. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.js +3 -1
  56. package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.d.ts +1 -1
  57. package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.js +12 -4
  58. package/dist/src/hybrid/components/Spacing/Spacing.js +1 -1
  59. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +15 -0
  60. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +134 -0
  61. package/dist/src/mobile/components/BasicChatListItem/index.d.ts +1 -0
  62. package/dist/src/mobile/components/BasicChatListItem/index.js +8 -0
  63. package/dist/src/mobile/components/ChatList/Body.d.ts +7 -0
  64. package/dist/src/mobile/components/ChatList/Body.js +93 -0
  65. package/dist/src/mobile/components/ChatList/ChatList.d.ts +23 -0
  66. package/dist/src/mobile/components/ChatList/ChatList.js +93 -0
  67. package/dist/src/mobile/components/ChatList/ChatTextField.d.ts +7 -0
  68. package/dist/src/mobile/components/ChatList/ChatTextField.js +41 -0
  69. package/dist/src/mobile/components/ChatList/Footer.d.ts +7 -0
  70. package/dist/src/mobile/components/ChatList/Footer.js +27 -0
  71. package/dist/src/mobile/components/ChatList/Header.d.ts +5 -0
  72. package/dist/src/mobile/components/ChatList/Header.js +50 -0
  73. package/dist/src/mobile/components/ChatList/index.d.ts +1 -0
  74. package/dist/src/mobile/components/ChatList/index.js +8 -0
  75. package/dist/src/mobile/components/ChatList/useAutoScrollToBottom.d.ts +10 -0
  76. package/dist/src/mobile/components/ChatList/useAutoScrollToBottom.js +48 -0
  77. package/dist/src/mobile/components/ChatList/useTimeout.d.ts +6 -0
  78. package/dist/src/mobile/components/ChatList/useTimeout.js +11 -0
  79. package/dist/src/mobile/components/Dropdown/Dropdown.d.ts +2 -2
  80. package/dist/src/mobile/components/Dropdown/Dropdown.js +17 -7
  81. package/dist/src/mobile/components/Select/Select.d.ts +3 -2
  82. package/dist/src/mobile/components/Select/Select.js +6 -3
  83. package/dist/src/mobile/components/TextField/TextField.d.ts +2 -1
  84. package/dist/src/mobile/components/TextField/TextField.js +11 -5
  85. package/dist/src/mobile/components/index.d.ts +3 -1
  86. package/dist/src/mobile/components/index.js +5 -1
  87. package/dist/src/mobile/index.d.ts +2 -2
  88. package/dist/src/mobile/index.js +3 -1
  89. package/package.json +1 -1
  90. 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,6 @@
1
+ declare type Props = {
2
+ callback: () => void;
3
+ target: unknown;
4
+ };
5
+ declare function useTimeout({ callback, target }: Props, delay: number): void;
6
+ export default useTimeout;
@@ -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, selectionMode, size, state, valueArray, onChange }: Props): JSX.Element;
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, _e = _a.selectionMode, selectionMode = _e === void 0 ? 'single' : _e, _f = _a.size, size = _f === void 0 ? 'large' : _f, _g = _a.state, state = _g === void 0 ? 'normal' : _g, valueArray = _a.valueArray, onChange = _a.onChange;
35
- var _h = (0, react_1.useState)(false), isFocused = _h[0], setIsFocused = _h[1];
36
- var _j = (0, react_1.useState)(defaultValue), selectedValue = _j[0], setSelectedValue = _j[1];
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, onChange, colorTheme }: SelectProps): JSX.Element;
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, onChange = _a.onChange, _f = _a.colorTheme, colorTheme = _f === void 0 ? 'none' : _f;
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;