pds-dev-kit-web 2.2.312 → 2.2.314
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/_wildcard.machine.publr.co+2-key.pem +28 -0
- package/_wildcard.machine.publr.co+2.pem +26 -0
- package/dist/index.d.ts +4 -4
- package/dist/index.js +5 -3
- package/dist/src/common/decorators/withFormProvider.js +8 -5
- package/dist/src/common/styles/colorSet/UIColor.json +1 -1
- package/dist/src/common/styles/colorSet/index.d.ts +772 -772
- package/dist/src/common/styles/colorSet/index.js +3 -3
- package/dist/src/desktop/components/Chip/Chip.d.ts +4 -2
- package/dist/src/desktop/components/Chip/Chip.js +17 -17
- package/dist/src/desktop/components/ComboBox/ComboBox.d.ts +42 -0
- package/dist/src/desktop/components/ComboBox/ComboBox.js +463 -0
- package/dist/src/desktop/components/ComboBox/index.d.ts +1 -0
- package/dist/src/desktop/components/ComboBox/index.js +8 -0
- package/dist/src/desktop/components/ContextMenu/ContextMenu.d.ts +2 -1
- package/dist/src/desktop/components/ContextMenu/ContextMenu.js +2 -2
- package/dist/src/desktop/components/index.d.ts +2 -1
- package/dist/src/desktop/components/index.js +4 -2
- package/dist/src/desktop/index.d.ts +1 -1
- package/dist/src/desktop/index.js +3 -2
- package/dist/src/mobile/components/Chip/Chip.d.ts +4 -2
- package/dist/src/mobile/components/Chip/Chip.js +17 -17
- package/dist/src/mobile/components/ComboBox/ComboBox.d.ts +42 -0
- package/dist/src/mobile/components/ComboBox/ComboBox.js +463 -0
- package/dist/src/mobile/components/ComboBox/index.d.ts +1 -0
- package/dist/src/mobile/components/ComboBox/index.js +8 -0
- package/dist/src/mobile/components/ContextMenu/ContextMenu.d.ts +2 -1
- package/dist/src/mobile/components/ContextMenu/ContextMenu.js +2 -2
- package/dist/src/mobile/components/index.d.ts +2 -1
- package/dist/src/mobile/components/index.js +3 -1
- package/dist/src/mobile/index.d.ts +1 -1
- package/dist/src/mobile/index.js +3 -2
- package/package.json +1 -1
- package/release-note.md +3 -2
|
@@ -0,0 +1,463 @@
|
|
|
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
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
+
}
|
|
23
|
+
Object.defineProperty(o, k2, desc);
|
|
24
|
+
}) : (function(o, m, k, k2) {
|
|
25
|
+
if (k2 === undefined) k2 = k;
|
|
26
|
+
o[k2] = m[k];
|
|
27
|
+
}));
|
|
28
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
+
}) : function(o, v) {
|
|
31
|
+
o["default"] = v;
|
|
32
|
+
});
|
|
33
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
+
if (ar || !(i in from)) {
|
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
+
ar[i] = from[i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
51
|
+
var react_1 = require("react");
|
|
52
|
+
var react_hook_form_1 = require("react-hook-form");
|
|
53
|
+
var components_1 = require("../../common/components");
|
|
54
|
+
var components_2 = require("../../../hybrid/components");
|
|
55
|
+
var styled_components_1 = __importStar(require("styled-components"));
|
|
56
|
+
var Icon_1 = require("../../../hybrid/components/Icon");
|
|
57
|
+
var Chip_1 = require("../Chip");
|
|
58
|
+
var ContextMenu_1 = require("../ContextMenu");
|
|
59
|
+
var IconButton_1 = require("../IconButton");
|
|
60
|
+
var TextLabel_1 = require("../TextLabel");
|
|
61
|
+
// 한 번에 렌더링할 개수 (무한 스크롤)
|
|
62
|
+
var RENDER_LIST_COUNT = 20;
|
|
63
|
+
var ComboBox = function (_a) {
|
|
64
|
+
var _b = _a.name, name = _b === void 0 ? 'comboBoxSearch' : _b, dropdownOptions = _a.dropdownOptions, noResultText = _a.noResultText, _c = _a.customWidth, customWidth = _c === void 0 ? '200px' : _c, _d = _a.customTextSize, customTextSize = _d === void 0 ? 'body2' : _d, _e = _a.customTextColor, customTextColor = _e === void 0 ? 'sysTextSecondary' : _e, _f = _a.useImageMode, useImageMode = _f === void 0 ? 'none' : _f, _g = _a.imageSize, imageSize = _g === void 0 ? 24 : _g, _h = _a.imageShape, imageShape = _h === void 0 ? 'circular' : _h, useMultipleMode = _a.useMultipleMode, value = _a.value, defaultValue = _a.defaultValue, onChange = _a.onChange, values = _a.values, onChangeMultiple = _a.onChangeMultiple, placeholder = _a.placeholder, _j = _a.size, size = _j === void 0 ? 'large' : _j, _k = _a.state, state = _k === void 0 ? 'normal' : _k;
|
|
65
|
+
var isMultiple = useMultipleMode === 'use';
|
|
66
|
+
// 드롭다운 오픈 상태
|
|
67
|
+
var _l = (0, react_1.useState)(false), showDropdown = _l[0], setShowDropdown = _l[1];
|
|
68
|
+
// 검색 상태
|
|
69
|
+
var _m = (0, react_1.useState)(false), isSearching = _m[0], setIsSearching = _m[1];
|
|
70
|
+
// 호버 style을 위한 상태
|
|
71
|
+
var _o = (0, react_1.useState)(null), hoveredValue = _o[0], setHoveredValue = _o[1];
|
|
72
|
+
// 렌더링 개수 제어를 위한 상태 (랜더 성능 최적화)
|
|
73
|
+
var _p = (0, react_1.useState)(RENDER_LIST_COUNT), displayCount = _p[0], setDisplayCount = _p[1];
|
|
74
|
+
// react-hook-form
|
|
75
|
+
// 외부 상태 연동
|
|
76
|
+
var _q = (0, react_hook_form_1.useFormContext)(), setValue = _q.setValue, watch = _q.watch;
|
|
77
|
+
var currentValue = watch(name);
|
|
78
|
+
// input 표현을 위한 내부 상태
|
|
79
|
+
var _r = (0, react_1.useState)(currentValue || ''), localInputValue = _r[0], setLocalInputValue = _r[1];
|
|
80
|
+
// 외부(watch)에서 오는 값이 변경될 때만 로컬 값을 동기화
|
|
81
|
+
(0, react_1.useEffect)(function () {
|
|
82
|
+
setLocalInputValue(currentValue || '');
|
|
83
|
+
}, [currentValue]);
|
|
84
|
+
var dropdownRef = (0, react_1.useRef)(null);
|
|
85
|
+
var valueRef = (0, react_1.useRef)(value);
|
|
86
|
+
if (!isMultiple) {
|
|
87
|
+
valueRef.current = value;
|
|
88
|
+
}
|
|
89
|
+
var valuesRef = (0, react_1.useRef)(values);
|
|
90
|
+
(0, react_1.useEffect)(function () {
|
|
91
|
+
valuesRef.current = values;
|
|
92
|
+
}, [values]);
|
|
93
|
+
// ---- 유틸 ----
|
|
94
|
+
var getOptionText = function (val) {
|
|
95
|
+
var _a, _b;
|
|
96
|
+
return (_b = (_a = dropdownOptions.find(function (opt) { return opt.value === val; })) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : '';
|
|
97
|
+
};
|
|
98
|
+
var getOptionImageSrc = function (val) {
|
|
99
|
+
var _a, _b;
|
|
100
|
+
if (useImageMode === 'none' || !val)
|
|
101
|
+
return '';
|
|
102
|
+
return (_b = (_a = dropdownOptions.find(function (opt) { return opt.value === val; })) === null || _a === void 0 ? void 0 : _a.imageSrc) !== null && _b !== void 0 ? _b : '';
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* @when : 선택된 값이 변경될 때 (단일선택 모드)
|
|
106
|
+
* @expected : 검색 입력창의 텍스트를 현재 선택된 값으로 동기화합니다.
|
|
107
|
+
* @clear : -
|
|
108
|
+
*/
|
|
109
|
+
(0, react_1.useEffect)(function () {
|
|
110
|
+
if (isMultiple)
|
|
111
|
+
return;
|
|
112
|
+
if (isSearching)
|
|
113
|
+
return;
|
|
114
|
+
setValue(name, value ? getOptionText(value) : getOptionText(defaultValue !== null && defaultValue !== void 0 ? defaultValue : ''));
|
|
115
|
+
}, [isSearching, dropdownOptions]);
|
|
116
|
+
/**
|
|
117
|
+
* @when : 드롭다운 외부 클릭 시
|
|
118
|
+
* @expected : 드롭다운 목록을 닫고, 단일선택 시 텍스트를 현재 선택된 값으로 되돌립니다.
|
|
119
|
+
* @clear : -
|
|
120
|
+
*/
|
|
121
|
+
(0, react_1.useEffect)(function () {
|
|
122
|
+
var handleClickOutside = function (event) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
|
|
125
|
+
setShowDropdown(false);
|
|
126
|
+
setIsSearching(false);
|
|
127
|
+
setHoveredValue(null);
|
|
128
|
+
if (isMultiple) {
|
|
129
|
+
setValue(name, '');
|
|
130
|
+
setLocalInputValue('');
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
setValue(name, getOptionText((_a = valueRef.current) !== null && _a !== void 0 ? _a : ''));
|
|
134
|
+
setLocalInputValue(getOptionText((_b = valueRef.current) !== null && _b !== void 0 ? _b : ''));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
document.addEventListener('mousedown', handleClickOutside);
|
|
139
|
+
return function () {
|
|
140
|
+
document.removeEventListener('mousedown', handleClickOutside);
|
|
141
|
+
};
|
|
142
|
+
}, [dropdownOptions, isMultiple]);
|
|
143
|
+
var valuesSet = (0, react_1.useMemo)(function () { return new Set(values); }, [values]);
|
|
144
|
+
// ---- 옵션 필터링 ----
|
|
145
|
+
var lowercaseOptions = (0, react_1.useMemo)(function () {
|
|
146
|
+
if (!showDropdown)
|
|
147
|
+
return [];
|
|
148
|
+
return dropdownOptions.map(function (opt) { return (__assign(__assign({}, opt), { lowerText: opt.text.toLowerCase() })); });
|
|
149
|
+
}, [showDropdown, dropdownOptions]);
|
|
150
|
+
var filteredOptions = (0, react_1.useMemo)(function () {
|
|
151
|
+
if (!showDropdown)
|
|
152
|
+
return [];
|
|
153
|
+
// 명시적으로 검색 중이 아닐 때는 전체 리스트를 보여줍니다.
|
|
154
|
+
if (!isSearching || !localInputValue)
|
|
155
|
+
return lowercaseOptions;
|
|
156
|
+
var query = localInputValue.toLowerCase();
|
|
157
|
+
return lowercaseOptions.filter(function (opt) { return opt.lowerText.includes(query); });
|
|
158
|
+
}, [showDropdown, isSearching, lowercaseOptions, localInputValue]);
|
|
159
|
+
// 실제 렌더링할 개수 (스크롤 시 확장됨)
|
|
160
|
+
var displayOptions = (0, react_1.useMemo)(function () {
|
|
161
|
+
return filteredOptions.slice(0, displayCount);
|
|
162
|
+
}, [filteredOptions, displayCount]);
|
|
163
|
+
// 검색어가 바뀌면 렌더링 개수 초기화
|
|
164
|
+
(0, react_1.useEffect)(function () {
|
|
165
|
+
setDisplayCount(RENDER_LIST_COUNT);
|
|
166
|
+
}, [localInputValue]);
|
|
167
|
+
// --- 옵션 리스트 무한 스크롤 로직 ---
|
|
168
|
+
var filteredLengthRef = (0, react_1.useRef)(filteredOptions.length);
|
|
169
|
+
filteredLengthRef.current = filteredOptions.length;
|
|
170
|
+
var handleScroll = (0, react_1.useCallback)(function (e) {
|
|
171
|
+
var _a = e.currentTarget, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
172
|
+
if (scrollHeight - scrollTop <= clientHeight + RENDER_LIST_COUNT) {
|
|
173
|
+
setDisplayCount(function (prev) {
|
|
174
|
+
if (prev < filteredLengthRef.current)
|
|
175
|
+
return prev + RENDER_LIST_COUNT;
|
|
176
|
+
return prev;
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
}, []);
|
|
180
|
+
// 렌더링 시점에 첫 번째 항목을 기본 하이라이트로 결정 (Double Render 방지)
|
|
181
|
+
var defaultHoveredValue = (0, react_1.useMemo)(function () {
|
|
182
|
+
return isSearching && displayOptions.length > 0 ? displayOptions[0].value : null;
|
|
183
|
+
}, [isSearching, displayOptions]);
|
|
184
|
+
var effectiveHoveredValue = hoveredValue !== null ? hoveredValue : defaultHoveredValue;
|
|
185
|
+
/** 다중선택: 옵션 토글 */
|
|
186
|
+
var handleToggleOption = (0, react_1.useCallback)(function (opt) {
|
|
187
|
+
var currentValues = valuesRef.current;
|
|
188
|
+
if (!isMultiple || !currentValues || !onChangeMultiple || opt.disabled)
|
|
189
|
+
return;
|
|
190
|
+
var newValues = currentValues.includes(opt.value)
|
|
191
|
+
? currentValues.filter(function (v) { return v !== opt.value; })
|
|
192
|
+
: __spreadArray(__spreadArray([], currentValues, true), [opt.value], false);
|
|
193
|
+
onChangeMultiple(newValues);
|
|
194
|
+
}, [isMultiple, onChangeMultiple]);
|
|
195
|
+
/** 다중선택: 칩 제거 */
|
|
196
|
+
var handleRemoveChip = (0, react_1.useCallback)(function (optValue) {
|
|
197
|
+
var currentValues = valuesRef.current;
|
|
198
|
+
if (!isMultiple || !currentValues || !onChangeMultiple)
|
|
199
|
+
return;
|
|
200
|
+
onChangeMultiple(currentValues.filter(function (v) { return v !== optValue; }));
|
|
201
|
+
}, [isMultiple, onChangeMultiple]);
|
|
202
|
+
/** 단일선택: 옵션 선택 */
|
|
203
|
+
var handleSelectSingle = (0, react_1.useCallback)(function (opt) {
|
|
204
|
+
if (isMultiple || !onChange || opt.disabled)
|
|
205
|
+
return;
|
|
206
|
+
onChange(opt.value);
|
|
207
|
+
setValue(name, opt.text);
|
|
208
|
+
setLocalInputValue(opt.text);
|
|
209
|
+
setShowDropdown(false);
|
|
210
|
+
setIsSearching(false);
|
|
211
|
+
setHoveredValue(null);
|
|
212
|
+
}, [isMultiple, onChange, setValue, name]);
|
|
213
|
+
var handleHover = (0, react_1.useCallback)(function (val) {
|
|
214
|
+
setHoveredValue(function (prev) { return (prev === val ? prev : val); });
|
|
215
|
+
}, []);
|
|
216
|
+
var onKeyDown = function (e) {
|
|
217
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
218
|
+
if (state === 'disabled' || state === 'read_only')
|
|
219
|
+
return;
|
|
220
|
+
if (!showDropdown) {
|
|
221
|
+
if (e.key === 'ArrowDown' || e.key === 'ArrowUp' || e.key === 'Enter') {
|
|
222
|
+
setShowDropdown(true);
|
|
223
|
+
}
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
switch (e.key) {
|
|
227
|
+
case 'ArrowDown': {
|
|
228
|
+
e.preventDefault();
|
|
229
|
+
var currentIndex = displayOptions.findIndex(function (o) { return o.value === effectiveHoveredValue; });
|
|
230
|
+
var nextIndex = currentIndex < displayOptions.length - 1 ? currentIndex + 1 : currentIndex;
|
|
231
|
+
setHoveredValue((_b = (_a = displayOptions[nextIndex]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : null);
|
|
232
|
+
break;
|
|
233
|
+
}
|
|
234
|
+
case 'ArrowUp': {
|
|
235
|
+
e.preventDefault();
|
|
236
|
+
var currentIndex = displayOptions.findIndex(function (o) { return o.value === effectiveHoveredValue; });
|
|
237
|
+
var nextIndex = currentIndex > 0 ? currentIndex - 1 : currentIndex;
|
|
238
|
+
setHoveredValue((_d = (_c = displayOptions[nextIndex]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : null);
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case 'Enter': {
|
|
242
|
+
e.preventDefault();
|
|
243
|
+
var opt = displayOptions.find(function (o) { return o.value === effectiveHoveredValue; });
|
|
244
|
+
if (opt) {
|
|
245
|
+
if (isMultiple) {
|
|
246
|
+
handleToggleOption(opt);
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
handleSelectSingle(opt);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
case 'Escape':
|
|
255
|
+
e.preventDefault();
|
|
256
|
+
setShowDropdown(false);
|
|
257
|
+
setIsSearching(false);
|
|
258
|
+
setHoveredValue(null);
|
|
259
|
+
if (isMultiple) {
|
|
260
|
+
setValue(name, '');
|
|
261
|
+
setLocalInputValue('');
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
setValue(name, getOptionText((_e = valueRef.current) !== null && _e !== void 0 ? _e : ''));
|
|
265
|
+
setLocalInputValue(getOptionText((_f = valueRef.current) !== null && _f !== void 0 ? _f : ''));
|
|
266
|
+
}
|
|
267
|
+
break;
|
|
268
|
+
case 'Tab':
|
|
269
|
+
setShowDropdown(false);
|
|
270
|
+
setIsSearching(false);
|
|
271
|
+
setHoveredValue(null);
|
|
272
|
+
if (isMultiple) {
|
|
273
|
+
setValue(name, '');
|
|
274
|
+
setLocalInputValue('');
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
setValue(name, getOptionText((_g = valueRef.current) !== null && _g !== void 0 ? _g : ''));
|
|
278
|
+
setLocalInputValue(getOptionText((_h = valueRef.current) !== null && _h !== void 0 ? _h : ''));
|
|
279
|
+
}
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
return ((0, jsx_runtime_1.jsxs)(S_ComboBox, __assign({ "x-pds-name": "ComboBox", ref: dropdownRef, customWidth: customWidth, isFocused: showDropdown, isMultiple: isMultiple, size: size, state: state }, { children: [isMultiple && values && values.length > 0 && ((0, jsx_runtime_1.jsx)(S_ChipsArea, { children: values.map(function (val) { return ((0, jsx_runtime_1.jsx)(ComboBoxChip, { val: val, text: getOptionText(val), imageSrc: getOptionImageSrc(val), onRemove: handleRemoveChip }, val)); }) })), (0, jsx_runtime_1.jsxs)(S_InputRow, __assign({ isMultiple: isMultiple, size: size }, { children: [useImageMode === 'use' && !isMultiple && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_2.ImageView, { src: getOptionImageSrc(localInputValue), shapeType: imageShape, width: imageSize, height: imageSize }), (0, jsx_runtime_1.jsx)(components_2.Spacing, { spacingType: "width", size: "spacing_a" })] })), (0, jsx_runtime_1.jsx)(components_1.TextFieldBase, { name: name, value: localInputValue, placeholder: placeholder, state: state, isFocused: showDropdown, onFocus: function () {
|
|
284
|
+
setShowDropdown(true);
|
|
285
|
+
setIsSearching(false);
|
|
286
|
+
}, onChange: function (e) {
|
|
287
|
+
var val = e.target.value;
|
|
288
|
+
setLocalInputValue(val);
|
|
289
|
+
setIsSearching(true);
|
|
290
|
+
setHoveredValue(null);
|
|
291
|
+
if (val === '') {
|
|
292
|
+
setValue(name, '', { shouldValidate: true });
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
setValue(name, val);
|
|
296
|
+
}
|
|
297
|
+
}, onKeyDown: onKeyDown, validationPoint: "onChange", responsiveMode: "use", customWidth: "100%", textSize: customTextSize, customTextColor: customTextColor, textWeight: "normal", hintText: placeholder, disabled: state === 'disabled', readOnly: state === 'read_only', autoComplete: "off" }), (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { iconName: "ic_arrow_down", iconColorKey: state === 'disabled'
|
|
298
|
+
? 'ui_cpnt_dropdown_base_disabled'
|
|
299
|
+
: 'ui_cpnt_textlabel_sys_primary', baseColorKey: "ui_menu_background_transparent", baseSize: "xsmall", shapeType: "round", iconSize: 20, state: state === 'disabled' ? 'disabled' : 'normal', onClick: function () {
|
|
300
|
+
if (state === 'disabled' || state === 'read_only')
|
|
301
|
+
return;
|
|
302
|
+
setShowDropdown(!showDropdown);
|
|
303
|
+
setIsSearching(false);
|
|
304
|
+
setHoveredValue(null);
|
|
305
|
+
} })] })), showDropdown && ((0, jsx_runtime_1.jsx)(S_ContextMenuWrapper, __assign({ customWidth: customWidth || '100%' }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, __assign({ maxHeight: 200, customWidth: customWidth || '100%', onScroll: handleScroll, autoWidthMode: customWidth ? 'none' : 'use' }, { children: displayOptions.length > 0 ? (displayOptions.map(function (opt) {
|
|
306
|
+
var _a;
|
|
307
|
+
return ((0, jsx_runtime_1.jsx)(ComboBoxOption, { opt: opt, isMultiple: isMultiple, isSelected: isMultiple ? valuesSet.has(opt.value) : opt.value === value, isDisabled: (_a = opt.disabled) !== null && _a !== void 0 ? _a : false, isHovered: effectiveHoveredValue === opt.value, useImageMode: useImageMode, imageShape: useImageMode === 'use' ? imageShape : 'rectangle', imageSize: useImageMode === 'use' ? imageSize : 0, customTextSize: customTextSize, onSelect: isMultiple ? handleToggleOption : handleSelectSingle, onHover: handleHover }, opt.value));
|
|
308
|
+
})) : ((0, jsx_runtime_1.jsx)(S_NoResult, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: noResultText !== null && noResultText !== void 0 ? noResultText : (isSearching ? 'No Result' : ''), styleTheme: "caption1Regular", colorTheme: "sysTextSecondary" }) })) })) })))] })));
|
|
309
|
+
};
|
|
310
|
+
exports.default = ComboBox;
|
|
311
|
+
/**
|
|
312
|
+
* @component : ComboBox의 개별 옵션 항목
|
|
313
|
+
* @description : React.memo를 사용하여 성능을 최적화합니다.
|
|
314
|
+
*/
|
|
315
|
+
var ComboBoxOption = (0, react_1.memo)(function (_a) {
|
|
316
|
+
var opt = _a.opt, isMultiple = _a.isMultiple, isSelected = _a.isSelected, isDisabled = _a.isDisabled, isHovered = _a.isHovered, useImageMode = _a.useImageMode, imageShape = _a.imageShape, imageSize = _a.imageSize, customTextSize = _a.customTextSize, onSelect = _a.onSelect, onHover = _a.onHover;
|
|
317
|
+
return ((0, jsx_runtime_1.jsxs)(S_ContextItemBox, __assign({ onMouseDown: function (e) {
|
|
318
|
+
e.preventDefault();
|
|
319
|
+
e.stopPropagation();
|
|
320
|
+
onSelect(opt);
|
|
321
|
+
}, onMouseEnter: function () { return onHover(opt.value); }, isSelected: isSelected, isDisabled: isDisabled, isHovered: isHovered }, { children: [isMultiple && ((0, jsx_runtime_1.jsx)(Icon_1.Icon, { size: 16, iconName: isSelected ? 'ic_checkbox_on' : 'ic_checkbox_off', fillType: isSelected ? 'fill' : 'line', colorKey: isDisabled
|
|
322
|
+
? 'ui_cpnt_selcontrols_icon_disabled'
|
|
323
|
+
: isSelected
|
|
324
|
+
? 'ui_cpnt_selcontrols_icon_primary'
|
|
325
|
+
: 'ui_cpnt_selcontrols_icon_default' })), useImageMode === 'use' && imageSize > 0 && opt.imageSrc && ((0, jsx_runtime_1.jsx)(components_2.ImageView, { src: opt.imageSrc, shapeType: imageShape, width: imageSize, height: imageSize, ratio: "1_1", scaleType: "cover" })), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: opt.text, customFontSize: customTextSize, colorTheme: isDisabled ? 'sysTextTertiary' : 'sysTextPrimary' })] })));
|
|
326
|
+
}, function (prev, next) {
|
|
327
|
+
// onSelect, onHover등 함수 레퍼런스 변경으로 인한 리렌더링 완벽 차단
|
|
328
|
+
return (prev.opt.value === next.opt.value &&
|
|
329
|
+
prev.isSelected === next.isSelected &&
|
|
330
|
+
prev.isDisabled === next.isDisabled &&
|
|
331
|
+
prev.isHovered === next.isHovered &&
|
|
332
|
+
prev.imageShape === next.imageShape &&
|
|
333
|
+
prev.imageSize === next.imageSize &&
|
|
334
|
+
prev.customTextSize === next.customTextSize);
|
|
335
|
+
});
|
|
336
|
+
ComboBoxOption.displayName = 'ComboBoxOption';
|
|
337
|
+
/**
|
|
338
|
+
* @component : 콤보박스 상단에 표시되는 선택된 옵션 칩 (메모이징)
|
|
339
|
+
*/
|
|
340
|
+
var ComboBoxChip = (0, react_1.memo)(function (_a) {
|
|
341
|
+
var val = _a.val, text = _a.text, imageSrc = _a.imageSrc, onRemove = _a.onRemove;
|
|
342
|
+
return ((0, jsx_runtime_1.jsx)(Chip_1.Chip, { displayType: "removable", text: text, onClickXMarkIcon: function (e) {
|
|
343
|
+
e.stopPropagation();
|
|
344
|
+
onRemove(val);
|
|
345
|
+
}, imageMode: "left", imageSrc: imageSrc }));
|
|
346
|
+
});
|
|
347
|
+
ComboBoxChip.displayName = 'ComboBoxChip';
|
|
348
|
+
var small = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-radius: 10px;\n height: 32px;\n padding-left: ", ";\n padding-right: ", ";\n width: 188px;\n"], ["\n border-radius: 10px;\n height: 32px;\n padding-left: ", ";\n padding-right: ", ";\n width: 188px;\n"])), function (_a) {
|
|
349
|
+
var theme = _a.theme;
|
|
350
|
+
return theme.spacing.spacingC;
|
|
351
|
+
}, function (_a) {
|
|
352
|
+
var theme = _a.theme;
|
|
353
|
+
return theme.spacing.spacingC;
|
|
354
|
+
});
|
|
355
|
+
var medium = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-radius: 12px;\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n width: 188px;\n"], ["\n border-radius: 12px;\n height: 40px;\n padding-left: ", ";\n padding-right: ", ";\n width: 188px;\n"])), function (_a) {
|
|
356
|
+
var theme = _a.theme;
|
|
357
|
+
return theme.spacing.spacingC;
|
|
358
|
+
}, function (_a) {
|
|
359
|
+
var theme = _a.theme;
|
|
360
|
+
return theme.spacing.spacingC;
|
|
361
|
+
});
|
|
362
|
+
var large = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border-radius: 14px;\n height: 48px;\n padding-left: ", ";\n padding-right: ", ";\n width: ", ";\n"], ["\n border-radius: 14px;\n height: 48px;\n padding-left: ", ";\n padding-right: ", ";\n width: ", ";\n"])), function (_a) {
|
|
363
|
+
var theme = _a.theme;
|
|
364
|
+
return theme.spacing.spacingD;
|
|
365
|
+
}, function (_a) {
|
|
366
|
+
var theme = _a.theme;
|
|
367
|
+
return theme.spacing.spacingB;
|
|
368
|
+
}, function (_a) {
|
|
369
|
+
var size = _a.size;
|
|
370
|
+
return (size === 'rlarge' ? '100%' : '432px');
|
|
371
|
+
});
|
|
372
|
+
var S_ComboBox = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n ", "\n ", "\n \n\n background-color: ", ";\n border: solid 2px\n ", ";\n\n box-sizing: border-box;\n display: flex;\n\n /* TextField \uC2A4\uD0C0\uC77C \uB3D9\uAE30\uD654 */\n flex-direction: ", ";\n\n padding-right: 4px;\n\n position: relative;\n transition: all 0.2s ease-in-out;\n\n &:hover {\n ", "\n }\n\n &:active {\n ", "\n }\n\n width: ", ";\n"], ["\n ", ";\n ", "\n ", "\n \n\n background-color: ", ";\n border: solid 2px\n ", ";\n\n box-sizing: border-box;\n display: flex;\n\n /* TextField \uC2A4\uD0C0\uC77C \uB3D9\uAE30\uD654 */\n flex-direction: ", ";\n\n padding-right: 4px;\n\n position: relative;\n transition: all 0.2s ease-in-out;\n\n &:hover {\n ", "\n }\n\n &:active {\n ", "\n }\n\n width: ", ";\n"])), function (_a) {
|
|
373
|
+
var size = _a.size;
|
|
374
|
+
return size &&
|
|
375
|
+
{
|
|
376
|
+
small: small,
|
|
377
|
+
medium: medium,
|
|
378
|
+
large: large,
|
|
379
|
+
rlarge: large
|
|
380
|
+
}[size];
|
|
381
|
+
}, function (_a) {
|
|
382
|
+
var isMultiple = _a.isMultiple;
|
|
383
|
+
return !isMultiple && 'align-items: center;';
|
|
384
|
+
}, function (_a) {
|
|
385
|
+
var isMultiple = _a.isMultiple;
|
|
386
|
+
return isMultiple && "height: auto;";
|
|
387
|
+
}, function (_a) {
|
|
388
|
+
var theme = _a.theme, state = _a.state;
|
|
389
|
+
return state === 'normal'
|
|
390
|
+
? theme.ui_cpnt_textfield_base_normal
|
|
391
|
+
: theme.ui_cpnt_textfield_base_disabled;
|
|
392
|
+
}, function (_a) {
|
|
393
|
+
var theme = _a.theme, isFocused = _a.isFocused, state = _a.state;
|
|
394
|
+
if (state === 'disabled' || state === 'read_only')
|
|
395
|
+
return theme.ui_cpnt_textfield_border_disabled;
|
|
396
|
+
return isFocused
|
|
397
|
+
? theme.ui_cpnt_textfield_border_focus
|
|
398
|
+
: theme.ui_cpnt_textfield_border_normal;
|
|
399
|
+
}, function (_a) {
|
|
400
|
+
var isMultiple = _a.isMultiple;
|
|
401
|
+
return (isMultiple ? 'column' : 'row');
|
|
402
|
+
}, function (_a) {
|
|
403
|
+
var state = _a.state, theme = _a.theme;
|
|
404
|
+
return state === 'normal' && "background-color: ".concat(theme.ui_cpnt_textfield_base_hover, ";");
|
|
405
|
+
}, function (_a) {
|
|
406
|
+
var state = _a.state, theme = _a.theme;
|
|
407
|
+
return state === 'normal' && "background-color: ".concat(theme.ui_cpnt_textfield_base_pressed, ";");
|
|
408
|
+
}, function (_a) {
|
|
409
|
+
var customWidth = _a.customWidth;
|
|
410
|
+
return customWidth;
|
|
411
|
+
});
|
|
412
|
+
var S_InputRow = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n ", ";\n\n width: 100%;\n"], ["\n align-items: center;\n display: flex;\n ", ";\n\n width: 100%;\n"])), function (_a) {
|
|
413
|
+
var isMultiple = _a.isMultiple, size = _a.size;
|
|
414
|
+
return isMultiple && "height: ".concat(size === 'small' ? 32 : size === 'medium' ? 40 : 48, "px;");
|
|
415
|
+
});
|
|
416
|
+
var S_ChipsArea = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n flex-wrap: wrap;\n gap: ", ";\n padding-bottom: ", ";\n padding-top: ", ";\n"], ["\n display: flex;\n flex-wrap: wrap;\n gap: ", ";\n padding-bottom: ", ";\n padding-top: ", ";\n"])), function (_a) {
|
|
417
|
+
var theme = _a.theme;
|
|
418
|
+
return theme.spacing.spacingA;
|
|
419
|
+
}, function (_a) {
|
|
420
|
+
var theme = _a.theme;
|
|
421
|
+
return theme.spacing.spacingB;
|
|
422
|
+
}, function (_a) {
|
|
423
|
+
var theme = _a.theme;
|
|
424
|
+
return theme.spacing.spacingB;
|
|
425
|
+
});
|
|
426
|
+
var S_ContextMenuWrapper = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: block;\n left: 0;\n min-width: ", ";\n padding-top: 4px;\n position: absolute;\n top: 100%;\n z-index: 10;\n\n & > ul {\n &::-webkit-scrollbar {\n display: initial;\n height: 8px;\n padding-right: 10px;\n width: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #ccc;\n border-radius: 32px;\n }\n &::-webkit-scrollbar-track {\n background-color: #e3e3e3;\n border-radius: 32px;\n margin-bottom: 7px;\n margin-top: 7px;\n }\n }\n"], ["\n display: block;\n left: 0;\n min-width: ", ";\n padding-top: 4px;\n position: absolute;\n top: 100%;\n z-index: 10;\n\n & > ul {\n &::-webkit-scrollbar {\n display: initial;\n height: 8px;\n padding-right: 10px;\n width: 8px;\n }\n &::-webkit-scrollbar-thumb {\n background-color: #ccc;\n border-radius: 32px;\n }\n &::-webkit-scrollbar-track {\n background-color: #e3e3e3;\n border-radius: 32px;\n margin-bottom: 7px;\n margin-top: 7px;\n }\n }\n"])), function (_a) {
|
|
427
|
+
var customWidth = _a.customWidth;
|
|
428
|
+
return customWidth;
|
|
429
|
+
});
|
|
430
|
+
var S_NoResult = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n padding: ", ";\n text-align: center;\n"], ["\n padding: ", ";\n text-align: center;\n"])), function (_a) {
|
|
431
|
+
var theme = _a.theme;
|
|
432
|
+
return "".concat(theme.spacing.spacingB, " ").concat(theme.spacing.spacingE);
|
|
433
|
+
});
|
|
434
|
+
var S_ContextItemBox = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n cursor: ", ";\n display: flex;\n gap: ", ";\n opacity: ", ";\n padding: ", ";\n\n & > div:nth-child(2) {\n opacity: ", ";\n }\n\n ", "\n"], ["\n align-items: center;\n background-color: ", ";\n cursor: ", ";\n display: flex;\n gap: ", ";\n opacity: ", ";\n padding: ", ";\n\n & > div:nth-child(2) {\n opacity: ", ";\n }\n\n ", "\n"])), function (_a) {
|
|
435
|
+
var isHovered = _a.isHovered, isSelected = _a.isSelected, theme = _a.theme, isDisabled = _a.isDisabled;
|
|
436
|
+
if (isDisabled)
|
|
437
|
+
return 'transparent';
|
|
438
|
+
if (isHovered)
|
|
439
|
+
return theme.ui_cpnt_contextmenu_menu_base_hover;
|
|
440
|
+
if (isSelected)
|
|
441
|
+
return theme.ui_cpnt_contextmenu_menu_base_selected;
|
|
442
|
+
return 'transparent';
|
|
443
|
+
}, function (_a) {
|
|
444
|
+
var isDisabled = _a.isDisabled;
|
|
445
|
+
return (isDisabled ? 'not-allowed' : 'pointer');
|
|
446
|
+
}, function (_a) {
|
|
447
|
+
var theme = _a.theme;
|
|
448
|
+
return theme.spacing.spacingB;
|
|
449
|
+
}, function (_a) {
|
|
450
|
+
var isDisabled = _a.isDisabled;
|
|
451
|
+
return (isDisabled ? 0.5 : 1);
|
|
452
|
+
}, function (_a) {
|
|
453
|
+
var theme = _a.theme;
|
|
454
|
+
return "".concat(theme.spacing.spacingB, " ").concat(theme.spacing.spacingE);
|
|
455
|
+
}, function (_a) {
|
|
456
|
+
var isDisabled = _a.isDisabled;
|
|
457
|
+
return (isDisabled ? 0.4 : 1);
|
|
458
|
+
}, function (_a) {
|
|
459
|
+
var isDisabled = _a.isDisabled, theme = _a.theme;
|
|
460
|
+
return !isDisabled &&
|
|
461
|
+
"\n &:hover {\n background-color: ".concat(theme.ui_cpnt_contextmenu_menu_base_hover, ";\n }\n ");
|
|
462
|
+
});
|
|
463
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as ComboBox } from './ComboBox';
|
|
@@ -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.ComboBox = void 0;
|
|
7
|
+
var ComboBox_1 = require("./ComboBox");
|
|
8
|
+
Object.defineProperty(exports, "ComboBox", { enumerable: true, get: function () { return __importDefault(ComboBox_1).default; } });
|
|
@@ -4,6 +4,7 @@ type ContextMenuProps = {
|
|
|
4
4
|
autoWidthMode?: 'none' | 'use';
|
|
5
5
|
maxHeight?: number;
|
|
6
6
|
customWidth?: string;
|
|
7
|
+
onScroll?: (e: React.UIEvent<HTMLUListElement>) => void;
|
|
7
8
|
};
|
|
8
|
-
declare function ContextMenu({ children, autoWidthMode, maxHeight, customWidth }: ContextMenuProps): JSX.Element;
|
|
9
|
+
declare function ContextMenu({ children, autoWidthMode, maxHeight, customWidth, onScroll }: ContextMenuProps): JSX.Element;
|
|
9
10
|
export default ContextMenu;
|
|
@@ -21,8 +21,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
22
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
23
23
|
function ContextMenu(_a) {
|
|
24
|
-
var children = _a.children, _b = _a.autoWidthMode, autoWidthMode = _b === void 0 ? 'none' : _b, maxHeight = _a.maxHeight, customWidth = _a.customWidth;
|
|
25
|
-
return ((0, jsx_runtime_1.jsx)(S_ContextMenu, __assign({ "x-pds-name": "ContextMenu", "x-pds-element-type": "component", "x-pds-device-type": "desktop", autoWidth: autoWidthMode === 'use', maxHeight: maxHeight, customWidth: customWidth }, { children: children })));
|
|
24
|
+
var children = _a.children, _b = _a.autoWidthMode, autoWidthMode = _b === void 0 ? 'none' : _b, maxHeight = _a.maxHeight, customWidth = _a.customWidth, onScroll = _a.onScroll;
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(S_ContextMenu, __assign({ "x-pds-name": "ContextMenu", "x-pds-element-type": "component", "x-pds-device-type": "desktop", autoWidth: autoWidthMode === 'use', maxHeight: maxHeight, customWidth: customWidth, onScroll: onScroll }, { children: children })));
|
|
26
26
|
}
|
|
27
27
|
var S_ContextMenu = styled_components_1.default.ul(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 14px;\n box-shadow: ", ";\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n max-height: ", ";\n min-width: 128px;\n overflow-y: auto;\n padding: ", " 0;\n position: relative;\n vertical-align: baseline;\n width: ", ";\n\n z-index: 400;\n\n ", "\n"], ["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 14px;\n box-shadow: ", ";\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n max-height: ", ";\n min-width: 128px;\n overflow-y: auto;\n padding: ", " 0;\n position: relative;\n vertical-align: baseline;\n width: ", ";\n\n z-index: 400;\n\n ", "\n"])), function (_a) {
|
|
28
28
|
var theme = _a.theme;
|
|
@@ -16,6 +16,7 @@ import { ChatBubbleListItem } from './ChatBubbleListItem';
|
|
|
16
16
|
import { ChatList } from './ChatList';
|
|
17
17
|
import { Checkbox } from './Checkbox';
|
|
18
18
|
import { Chip } from './Chip';
|
|
19
|
+
import { ComboBox } from './ComboBox';
|
|
19
20
|
import { ContextMenu } from './ContextMenu';
|
|
20
21
|
import { ContextMenuItem } from './ContextMenuItem';
|
|
21
22
|
import { DesktopAlertDialog } from './DesktopAlertDialog';
|
|
@@ -54,4 +55,4 @@ import { UploadTextButton } from './UploadTextButton';
|
|
|
54
55
|
import { UserDesktopNavBar } from './UserDesktopNavBar';
|
|
55
56
|
import { UserDesktopSideTab } from './UserDesktopSideTab';
|
|
56
57
|
import { UserDesktopTabBar } from './UserDesktopTabBar';
|
|
57
|
-
export { AdminList, AdminListHeader, AdminListItem, BasicButtonGroup, BasicChatListItem, BasicFormGroup, BasicList, BasicListItem, BlogTextField, BodyTextGroup, BoxItem, Card, CardList, ChatBubbleListItem, ChatList, Checkbox, Chip, ContextMenu, ContextMenuItem, DesktopAlertDialog, DesktopHeaderBar, DesktopTabBar, Dropdown, DynamicDesktopNavBar, DynamicDesktopNavBarTemplates, EditApplyTextField, FilterBar, FloatingActionButton, Hero, HorizontalFormGroup, IconButton, ImageSlide, LottieReactionButton, MainButton, PageTitleTextGroup, PriceTextField, Radio, ReactionButton, RichTextEditor, SegmentedButtonGroup, Select, Slider, Snackbar, SpeechBubble, StatusBlock, TextButton, TextField, TextLabel, PriceTextLabel, UploadIconButton, UploadMainButton, UploadTextButton, UserDesktopNavBar, UserDesktopTabBar, UserDesktopSideTab, Calendar, LocalizedButton };
|
|
58
|
+
export { AdminList, AdminListHeader, AdminListItem, BasicButtonGroup, BasicChatListItem, BasicFormGroup, BasicList, BasicListItem, BlogTextField, BodyTextGroup, BoxItem, Card, CardList, ChatBubbleListItem, ChatList, Checkbox, Chip, ComboBox, ContextMenu, ContextMenuItem, DesktopAlertDialog, DesktopHeaderBar, DesktopTabBar, Dropdown, DynamicDesktopNavBar, DynamicDesktopNavBarTemplates, EditApplyTextField, FilterBar, FloatingActionButton, Hero, HorizontalFormGroup, IconButton, ImageSlide, LottieReactionButton, MainButton, PageTitleTextGroup, PriceTextField, Radio, ReactionButton, RichTextEditor, SegmentedButtonGroup, Select, Slider, Snackbar, SpeechBubble, StatusBlock, TextButton, TextField, TextLabel, PriceTextLabel, UploadIconButton, UploadMainButton, UploadTextButton, UserDesktopNavBar, UserDesktopTabBar, UserDesktopSideTab, Calendar, LocalizedButton };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.LocalizedButton = exports.Calendar = exports.UserDesktopSideTab = exports.UserDesktopTabBar = exports.UserDesktopNavBar = exports.UploadTextButton = exports.UploadMainButton = void 0;
|
|
3
|
+
exports.PriceTextLabel = exports.TextLabel = exports.TextField = exports.TextButton = exports.StatusBlock = exports.SpeechBubble = exports.Snackbar = exports.Slider = exports.Select = exports.SegmentedButtonGroup = exports.RichTextEditor = exports.ReactionButton = exports.Radio = exports.PriceTextField = exports.PageTitleTextGroup = exports.MainButton = exports.LottieReactionButton = exports.ImageSlide = exports.IconButton = exports.HorizontalFormGroup = exports.Hero = exports.FloatingActionButton = exports.FilterBar = exports.EditApplyTextField = exports.DynamicDesktopNavBarTemplates = exports.DynamicDesktopNavBar = exports.Dropdown = exports.DesktopTabBar = exports.DesktopHeaderBar = exports.DesktopAlertDialog = exports.ContextMenuItem = exports.ContextMenu = exports.ComboBox = exports.Chip = exports.Checkbox = exports.ChatList = exports.ChatBubbleListItem = exports.CardList = exports.Card = exports.BoxItem = exports.BodyTextGroup = exports.BlogTextField = exports.BasicListItem = exports.BasicList = exports.BasicFormGroup = exports.BasicChatListItem = exports.BasicButtonGroup = exports.AdminListItem = exports.AdminListHeader = exports.AdminList = void 0;
|
|
4
|
+
exports.LocalizedButton = exports.Calendar = exports.UserDesktopSideTab = exports.UserDesktopTabBar = exports.UserDesktopNavBar = exports.UploadTextButton = exports.UploadMainButton = exports.UploadIconButton = void 0;
|
|
5
5
|
var AdminList_1 = require("./AdminList");
|
|
6
6
|
Object.defineProperty(exports, "AdminList", { enumerable: true, get: function () { return AdminList_1.AdminList; } });
|
|
7
7
|
var AdminListHeader_1 = require("./AdminListHeader");
|
|
@@ -38,6 +38,8 @@ var Checkbox_1 = require("./Checkbox");
|
|
|
38
38
|
Object.defineProperty(exports, "Checkbox", { enumerable: true, get: function () { return Checkbox_1.Checkbox; } });
|
|
39
39
|
var Chip_1 = require("./Chip");
|
|
40
40
|
Object.defineProperty(exports, "Chip", { enumerable: true, get: function () { return Chip_1.Chip; } });
|
|
41
|
+
var ComboBox_1 = require("./ComboBox");
|
|
42
|
+
Object.defineProperty(exports, "ComboBox", { enumerable: true, get: function () { return ComboBox_1.ComboBox; } });
|
|
41
43
|
var ContextMenu_1 = require("./ContextMenu");
|
|
42
44
|
Object.defineProperty(exports, "ContextMenu", { enumerable: true, get: function () { return ContextMenu_1.ContextMenu; } });
|
|
43
45
|
var ContextMenuItem_1 = require("./ContextMenuItem");
|
|
@@ -8,5 +8,5 @@ export { ContainersBox as WSContainersBox } from './layout/LayoutWS/ContainersBo
|
|
|
8
8
|
export { LayoutWT } from './layout/LayoutWT';
|
|
9
9
|
export { GlobalMenuContainer as WTGlobalMenuContainer } from './layout/LayoutWT/Containers';
|
|
10
10
|
export { ContainersBox as WTContainersBox } from './layout/LayoutWT/ContainersBox';
|
|
11
|
-
export { AdminList as D_AdminList, AdminListHeader as D_AdminListHeader, AdminListItem as D_AdminListItem, BasicButtonGroup as D_BasicButtonGroup, BasicChatListItem as D_BasicChatListItem, BasicFormGroup as D_BasicFormGroup, BasicList as D_BasicList, BasicListItem as D_BasicListItem, BlogTextField as D_BlogTextField, BodyTextGroup as D_BodyTextGroup, BoxItem as D_BoxItem, Card as D_Card, CardList as D_CardList, ChatBubbleListItem as D_ChatBubbleListItem, ChatList as D_ChatList, Checkbox as D_Checkbox, Chip as D_Chip, ContextMenu as D_ContextMenu, ContextMenuItem as D_ContextMenuItem, DesktopAlertDialog as D_DesktopAlertDialog, DesktopHeaderBar as D_DesktopHeaderBar, DesktopTabBar as D_DesktopTabBar, Dropdown as D_Dropdown, DynamicDesktopNavBar as D_DynamicDesktopNavBar, DynamicDesktopNavBarTemplates as D_DynamicDesktopNavBarTemplates, EditApplyTextField as D_EditApplyTextField, FilterBar as D_FilterBar, FloatingActionButton as D_FloatingActionButton, Hero as D_Hero, HorizontalFormGroup as D_HorizontalFormGroup, IconButton as D_IconButton, ImageSlide as D_ImageSlide, LottieReactionButton as D_LottieReactionButton, MainButton as D_MainButton, PageTitleTextGroup as D_PageTitleTextGroup, Radio as D_Radio, ReactionButton as D_ReactionButton, RichTextEditor as D_RichTextEditor, SegmentedButtonGroup as D_SegmentedButtonGroup, Select as D_Select, Slider as D_Slider, Snackbar as D_Snackbar, SpeechBubble as D_SpeechBubble, StatusBlock as D_StatusBlock, TextButton as D_TextButton, PriceTextField as D_PriceTextField, TextField as D_TextField, TextLabel as D_TextLabel, PriceTextLabel as D_PriceTextLabel, UploadIconButton as D_UploadIconButton, UploadMainButton as D_UploadMainButton, UploadTextButton as D_UploadTextButton, UserDesktopNavBar as D_UserDesktopNavBar, UserDesktopTabBar as D_UserDesktopTabBar, UserDesktopSideTab as D_UserDesktopSideTab, Calendar as D_Calendar, LocalizedButton } from './components';
|
|
11
|
+
export { AdminList as D_AdminList, AdminListHeader as D_AdminListHeader, AdminListItem as D_AdminListItem, BasicButtonGroup as D_BasicButtonGroup, BasicChatListItem as D_BasicChatListItem, BasicFormGroup as D_BasicFormGroup, BasicList as D_BasicList, BasicListItem as D_BasicListItem, BlogTextField as D_BlogTextField, BodyTextGroup as D_BodyTextGroup, BoxItem as D_BoxItem, Card as D_Card, CardList as D_CardList, ChatBubbleListItem as D_ChatBubbleListItem, ChatList as D_ChatList, Checkbox as D_Checkbox, Chip as D_Chip, ComboBox as D_ComboBox, ContextMenu as D_ContextMenu, ContextMenuItem as D_ContextMenuItem, DesktopAlertDialog as D_DesktopAlertDialog, DesktopHeaderBar as D_DesktopHeaderBar, DesktopTabBar as D_DesktopTabBar, Dropdown as D_Dropdown, DynamicDesktopNavBar as D_DynamicDesktopNavBar, DynamicDesktopNavBarTemplates as D_DynamicDesktopNavBarTemplates, EditApplyTextField as D_EditApplyTextField, FilterBar as D_FilterBar, FloatingActionButton as D_FloatingActionButton, Hero as D_Hero, HorizontalFormGroup as D_HorizontalFormGroup, IconButton as D_IconButton, ImageSlide as D_ImageSlide, LottieReactionButton as D_LottieReactionButton, MainButton as D_MainButton, PageTitleTextGroup as D_PageTitleTextGroup, Radio as D_Radio, ReactionButton as D_ReactionButton, RichTextEditor as D_RichTextEditor, SegmentedButtonGroup as D_SegmentedButtonGroup, Select as D_Select, Slider as D_Slider, Snackbar as D_Snackbar, SpeechBubble as D_SpeechBubble, StatusBlock as D_StatusBlock, TextButton as D_TextButton, PriceTextField as D_PriceTextField, TextField as D_TextField, TextLabel as D_TextLabel, PriceTextLabel as D_PriceTextLabel, UploadIconButton as D_UploadIconButton, UploadMainButton as D_UploadMainButton, UploadTextButton as D_UploadTextButton, UserDesktopNavBar as D_UserDesktopNavBar, UserDesktopTabBar as D_UserDesktopTabBar, UserDesktopSideTab as D_UserDesktopSideTab, Calendar as D_Calendar, LocalizedButton } from './components';
|
|
12
12
|
export { AnnotationSheet as D_AnnotationSheet, ContentSheet as D_ContentSheet, DesktopBasicModal as D_DesktopBasicModal, DesktopBasicModalWithTab as D_DesktopBasicModalWithTab, DesktopBasicModalWithTabInfoType, DesktopHeadlessModal as D_DesktopHeadlessModal, DesktopTutorialModal as D_DesktopTutorialModal, DesktopTutorialModalInfoType, SectionSheet as D_SectionSheet, LocalizedContentModal as D_LocalizedContentModal } from './panels';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.D_LocalizedContentModal = exports.D_SectionSheet = exports.D_DesktopTutorialModal = exports.D_DesktopHeadlessModal = exports.D_DesktopBasicModalWithTab = exports.D_DesktopBasicModal = exports.D_ContentSheet = exports.D_AnnotationSheet = exports.LocalizedButton = exports.D_Calendar = exports.D_UserDesktopSideTab = exports.D_UserDesktopTabBar = exports.D_UserDesktopNavBar = exports.D_UploadTextButton = exports.D_UploadMainButton = exports.D_UploadIconButton = exports.D_PriceTextLabel = exports.D_TextLabel = exports.D_TextField = exports.D_PriceTextField = exports.D_TextButton = exports.D_StatusBlock = exports.D_SpeechBubble = exports.D_Snackbar = exports.D_Slider = void 0;
|
|
3
|
+
exports.D_SegmentedButtonGroup = exports.D_RichTextEditor = exports.D_ReactionButton = exports.D_Radio = exports.D_PageTitleTextGroup = exports.D_MainButton = exports.D_LottieReactionButton = exports.D_ImageSlide = exports.D_IconButton = exports.D_HorizontalFormGroup = exports.D_Hero = exports.D_FloatingActionButton = exports.D_FilterBar = exports.D_EditApplyTextField = exports.D_DynamicDesktopNavBarTemplates = exports.D_DynamicDesktopNavBar = exports.D_Dropdown = exports.D_DesktopTabBar = exports.D_DesktopHeaderBar = exports.D_DesktopAlertDialog = exports.D_ContextMenuItem = exports.D_ContextMenu = exports.D_ComboBox = exports.D_Chip = exports.D_Checkbox = exports.D_ChatList = exports.D_ChatBubbleListItem = exports.D_CardList = exports.D_Card = exports.D_BoxItem = exports.D_BodyTextGroup = exports.D_BlogTextField = exports.D_BasicListItem = exports.D_BasicList = exports.D_BasicFormGroup = exports.D_BasicChatListItem = exports.D_BasicButtonGroup = exports.D_AdminListItem = exports.D_AdminListHeader = exports.D_AdminList = exports.WTContainersBox = exports.WTGlobalMenuContainer = exports.LayoutWT = exports.WSContainersBox = exports.WSGlobalMenuContainer = exports.LayoutWS = exports.WHContainersBox = exports.LayoutWH = exports.WFContainersBox = exports.LayoutWF = void 0;
|
|
4
|
+
exports.D_LocalizedContentModal = exports.D_SectionSheet = exports.D_DesktopTutorialModal = exports.D_DesktopHeadlessModal = exports.D_DesktopBasicModalWithTab = exports.D_DesktopBasicModal = exports.D_ContentSheet = exports.D_AnnotationSheet = exports.LocalizedButton = exports.D_Calendar = exports.D_UserDesktopSideTab = exports.D_UserDesktopTabBar = exports.D_UserDesktopNavBar = exports.D_UploadTextButton = exports.D_UploadMainButton = exports.D_UploadIconButton = exports.D_PriceTextLabel = exports.D_TextLabel = exports.D_TextField = exports.D_PriceTextField = exports.D_TextButton = exports.D_StatusBlock = exports.D_SpeechBubble = exports.D_Snackbar = exports.D_Slider = exports.D_Select = void 0;
|
|
5
5
|
// layoutWF
|
|
6
6
|
var LayoutWF_1 = require("./layout/LayoutWF");
|
|
7
7
|
Object.defineProperty(exports, "LayoutWF", { enumerable: true, get: function () { return LayoutWF_1.LayoutWF; } });
|
|
@@ -45,6 +45,7 @@ Object.defineProperty(exports, "D_ChatBubbleListItem", { enumerable: true, get:
|
|
|
45
45
|
Object.defineProperty(exports, "D_ChatList", { enumerable: true, get: function () { return components_1.ChatList; } });
|
|
46
46
|
Object.defineProperty(exports, "D_Checkbox", { enumerable: true, get: function () { return components_1.Checkbox; } });
|
|
47
47
|
Object.defineProperty(exports, "D_Chip", { enumerable: true, get: function () { return components_1.Chip; } });
|
|
48
|
+
Object.defineProperty(exports, "D_ComboBox", { enumerable: true, get: function () { return components_1.ComboBox; } });
|
|
48
49
|
Object.defineProperty(exports, "D_ContextMenu", { enumerable: true, get: function () { return components_1.ContextMenu; } });
|
|
49
50
|
Object.defineProperty(exports, "D_ContextMenuItem", { enumerable: true, get: function () { return components_1.ContextMenuItem; } });
|
|
50
51
|
Object.defineProperty(exports, "D_DesktopAlertDialog", { enumerable: true, get: function () { return components_1.DesktopAlertDialog; } });
|
|
@@ -13,11 +13,13 @@ export type ChipProps = {
|
|
|
13
13
|
value?: PDSValueOption['value'];
|
|
14
14
|
id?: PDSValueOption['value'];
|
|
15
15
|
onClickChip?: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
16
|
-
onClickXMarkIcon?: () => void;
|
|
16
|
+
onClickXMarkIcon?: (e?: React.MouseEvent) => void;
|
|
17
|
+
imageMode?: 'none' | 'left';
|
|
18
|
+
imageSrc?: string;
|
|
17
19
|
/** @deprecated value 필드를 대신 사용하세요. */
|
|
18
20
|
activeChipId?: string | number;
|
|
19
21
|
/** @deprecated id 필드를 대신 사용하세요. */
|
|
20
22
|
chipId?: string | number;
|
|
21
23
|
};
|
|
22
|
-
export default function Chip({ displayType, shapeType, text, filterIconMode, iconFillType, iconName, overrideTextColorKey, overrideBackgroundColorKey, value, id, onClickChip, onClickXMarkIcon, activeChipId, chipId }: ChipProps): JSX.Element;
|
|
24
|
+
export default function Chip({ displayType, shapeType, text, filterIconMode, iconFillType, iconName, overrideTextColorKey, overrideBackgroundColorKey, value, id, onClickChip, onClickXMarkIcon, imageMode, imageSrc, activeChipId, chipId }: ChipProps): JSX.Element;
|
|
23
25
|
export {};
|