pds-dev-kit-web 2.2.10 → 2.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/common/hooks/index.d.ts +1 -0
- package/dist/src/common/hooks/index.js +3 -1
- package/dist/src/common/hooks/useAbsolutePositioner.d.ts +13 -0
- package/dist/src/common/hooks/useAbsolutePositioner.js +54 -0
- package/dist/src/common/hooks/useTooltip.d.ts +17 -0
- package/dist/src/common/hooks/useTooltip.js +76 -0
- package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +2 -1
- package/dist/src/common/styles/colorSet/PaletteColor_light.json +2 -1
- package/dist/src/common/styles/colorSet/UIColor.json +2 -1
- package/dist/src/common/styles/colorSet/index.d.ts +843 -840
- package/dist/src/common/styles/colorSet/index.js +3 -3
- package/dist/src/common/styles/colorSet/ui-type.d.ts +1 -0
- package/dist/src/common/styles/systemUI/index.d.ts +1 -0
- package/dist/src/common/styles/systemUI/index.js +5 -0
- package/dist/src/common/styles/systemUI/tooltipStyle.d.ts +1 -0
- package/dist/src/common/styles/systemUI/tooltipStyle.js +28 -0
- package/dist/src/common/types/components.d.ts +3 -2
- package/dist/src/common/types/systemUI.d.ts +13 -0
- package/dist/src/common/types/systemUI.js +2 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.d.ts +13 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.js +20 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.d.ts +17 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +71 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/index.d.ts +1 -0
- package/dist/src/common/utils/SystemUIPositionGenerator/index.js +8 -0
- package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +54 -42
- package/dist/src/desktop/components/BasicButtonGroup/constants.d.ts +0 -6
- package/dist/src/desktop/components/BasicButtonGroup/constants.js +1 -8
- package/dist/src/desktop/components/Dropdown/Dropdown.js +48 -9
- package/dist/src/desktop/components/IconButton/IconButton.d.ts +3 -1
- package/dist/src/desktop/components/IconButton/IconButton.js +48 -44
- package/dist/src/desktop/components/SegmentedButtonGroup/SegmentedButtonGroup.js +54 -42
- package/dist/src/desktop/components/SegmentedButtonGroup/constants.d.ts +0 -6
- package/dist/src/desktop/components/SegmentedButtonGroup/constants.js +1 -8
- package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +3 -1
- package/dist/src/desktop/components/TextLabel/TextLabel.js +33 -63
- package/dist/src/desktop/components/UploadIconButton/UploadIconButton.d.ts +3 -1
- package/dist/src/desktop/components/UploadIconButton/UploadIconButton.js +49 -45
- package/dist/src/desktop/components/UploadIconButton/constants.d.ts +7 -0
- package/dist/src/desktop/components/UploadIconButton/constants.js +10 -0
- package/dist/src/mobile/components/Dropdown/Dropdown.js +48 -9
- package/package.json +1 -1
- package/release-note.md +8 -4
|
@@ -37,9 +37,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
37
|
__setModuleDefault(result, mod);
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
40
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
44
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
42
45
|
var react_1 = require("react");
|
|
46
|
+
var react_dom_1 = require("react-dom");
|
|
47
|
+
var clickTypeSystemUICssGenerator_1 = __importDefault(require("../../../common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator"));
|
|
43
48
|
var styled_components_1 = __importStar(require("styled-components"));
|
|
44
49
|
var transitionStyle_1 = require("../../../common/styles/movement/transitionStyle");
|
|
45
50
|
var hybrid_1 = require("../../../hybrid");
|
|
@@ -55,6 +60,10 @@ function Dropdown(_a) {
|
|
|
55
60
|
size = _e === void 0 ? 'large' : _e, _f = _a.state, state = _f === void 0 ? 'normal' : _f, valueArray = _a.valueArray, customWidth = _a.customWidth, _g = _a.displayType, displayType = _g === void 0 ? 'text_only' : _g, _h = _a.fontWeight, fontWeight = _h === void 0 ? 'regular' : _h, onChange = _a.onChange;
|
|
56
61
|
var _j = (0, react_1.useState)(false), isFocused = _j[0], setIsFocused = _j[1];
|
|
57
62
|
var _k = (0, react_1.useState)(null), selectedValue = _k[0], setSelectedValue = _k[1];
|
|
63
|
+
var _l = (0, react_1.useState)(null), contextMenuSizeOffset = _l[0], setContextMenuSizeOffset = _l[1];
|
|
64
|
+
var _m = (0, react_1.useState)(null), dropdownPositionOffset = _m[0], setDropdownPositionOffset = _m[1];
|
|
65
|
+
var contextMenuRef = (0, react_1.useRef)(null);
|
|
66
|
+
var dropdownRef = (0, react_1.useRef)(null);
|
|
58
67
|
/**
|
|
59
68
|
* @when value 프롭의 값에 따라
|
|
60
69
|
* @expected 값이 null일 때 드롭다운을 초기화하고, 값이 있다면 해당 값으로 설정해줍니다.
|
|
@@ -80,6 +89,36 @@ function Dropdown(_a) {
|
|
|
80
89
|
}
|
|
81
90
|
setSelectedValue(defaultValue);
|
|
82
91
|
}, [defaultValue]);
|
|
92
|
+
/**
|
|
93
|
+
* @when : isFocused 변경되었을 때
|
|
94
|
+
* @expected : dropdownRef, contextMenuRef 의 위치를 업데이트합니다.
|
|
95
|
+
* @clear :
|
|
96
|
+
*/
|
|
97
|
+
(0, react_1.useEffect)(function () {
|
|
98
|
+
if (dropdownRef.current) {
|
|
99
|
+
var _a = dropdownRef.current.getBoundingClientRect(), top_1 = _a.top, right = _a.right, left = _a.left, bottom = _a.bottom;
|
|
100
|
+
setDropdownPositionOffset({
|
|
101
|
+
top: top_1 + window.scrollY,
|
|
102
|
+
right: right + window.scrollX,
|
|
103
|
+
bottom: bottom + window.scrollY,
|
|
104
|
+
left: left + window.scrollX
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
if (!isFocused && contextMenuRef.current) {
|
|
108
|
+
setContextMenuSizeOffset(null);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (contextMenuRef.current) {
|
|
112
|
+
setContextMenuSizeOffset({
|
|
113
|
+
height: contextMenuRef.current.offsetHeight,
|
|
114
|
+
width: contextMenuRef.current.offsetWidth
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}, [isFocused]);
|
|
118
|
+
var contextMenuPositionCss = (0, clickTypeSystemUICssGenerator_1.default)({
|
|
119
|
+
sizeOffset: contextMenuSizeOffset,
|
|
120
|
+
positionOffset: dropdownPositionOffset
|
|
121
|
+
});
|
|
83
122
|
var handleClick = function () {
|
|
84
123
|
if (state === 'disabled' || state === 'read_only') {
|
|
85
124
|
return;
|
|
@@ -101,12 +140,14 @@ function Dropdown(_a) {
|
|
|
101
140
|
}
|
|
102
141
|
};
|
|
103
142
|
var getCustomWidth = function () {
|
|
143
|
+
var _a;
|
|
104
144
|
if (customWidth) {
|
|
105
145
|
return customWidth;
|
|
106
146
|
}
|
|
107
|
-
if (
|
|
108
|
-
return
|
|
147
|
+
if ((_a = dropdownRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) {
|
|
148
|
+
return "".concat(dropdownRef.current.offsetWidth, "px");
|
|
109
149
|
}
|
|
150
|
+
return '';
|
|
110
151
|
};
|
|
111
152
|
var getIconColorKey = function () {
|
|
112
153
|
if (state === 'disabled' || state === 'read_only') {
|
|
@@ -194,7 +235,8 @@ function Dropdown(_a) {
|
|
|
194
235
|
var LARGE_HEIGHT = 48;
|
|
195
236
|
return LARGE_HEIGHT * maxHeightItemNumber;
|
|
196
237
|
}, [size, maxHeightItemNumber]);
|
|
197
|
-
return ((0, jsx_runtime_1.jsxs)(S_Dropdown, __assign({ "x-pds-name": "Dropdown", "x-pds-element-type": "component", "x-pds-device-type": "mobile", className: "container", size: size, tabIndex: 0, onBlur: handleBlur, responsiveMode: responsiveMode, customWidth: customWidth, displayType: displayType }, { children: [(0, jsx_runtime_1.jsxs)(S_Select, __assign({ size: size, onClick: handleClick, isFocused: isFocused, state: state, colorTheme: colorTheme, responsiveMode: responsiveMode, customWidth: customWidth, displayType: displayType }, { children: [(0, jsx_runtime_1.jsxs)(S_TextLabel, __assign({ size: size, responsiveMode: responsiveMode, displayType: displayType }, { children: [(displayType === 'icon_only' || displayType === 'icon_text') && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.iconName) && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Icon, { size: size === 'small' ? 20 : 24, iconName: selectedValue.iconName, fillType: selectedValue.iconFillType, colorKey: getIconColorKey() }), displayType === 'icon_text' && (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b", spacingType: "width" })] })), (displayType === 'text_only' || displayType === 'icon_text') && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.text) || (value === null || value === void 0 ? void 0 : value.text) || (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.text) || hintText, styleTheme: fontWeight === 'bold' ? 'form2Bold' : 'form2Regular', singleLineMode: "use", colorTheme: getTextColorTheme(), colorOverride: getTextColorOverride(), ellipsisMode: "use", lineLimit: 1, wordBreak: "break_all" }))] })), (0, jsx_runtime_1.jsx)(hybrid_1.Icon, { size: 16, fillType: "line", iconName: isFocused ? 'ic_arrow_up' : 'ic_arrow_down', colorKey: getArrowIconColorKey() })] })), isFocused &&
|
|
238
|
+
return ((0, jsx_runtime_1.jsxs)(S_Dropdown, __assign({ "x-pds-name": "Dropdown", "x-pds-element-type": "component", "x-pds-device-type": "mobile", className: "container", ref: dropdownRef, size: size, tabIndex: 0, onBlur: handleBlur, responsiveMode: responsiveMode, customWidth: customWidth, displayType: displayType }, { children: [(0, jsx_runtime_1.jsxs)(S_Select, __assign({ size: size, onClick: handleClick, isFocused: isFocused, state: state, colorTheme: colorTheme, responsiveMode: responsiveMode, customWidth: customWidth, displayType: displayType }, { children: [(0, jsx_runtime_1.jsxs)(S_TextLabel, __assign({ size: size, responsiveMode: responsiveMode, displayType: displayType }, { children: [(displayType === 'icon_only' || displayType === 'icon_text') && (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.iconName) && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Icon, { size: size === 'small' ? 20 : 24, iconName: selectedValue.iconName, fillType: selectedValue.iconFillType, colorKey: getIconColorKey() }), displayType === 'icon_text' && (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b", spacingType: "width" })] })), (displayType === 'text_only' || displayType === 'icon_text') && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.text) || (value === null || value === void 0 ? void 0 : value.text) || (defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.text) || hintText, styleTheme: fontWeight === 'bold' ? 'form2Bold' : 'form2Regular', singleLineMode: "use", colorTheme: getTextColorTheme(), colorOverride: getTextColorOverride(), ellipsisMode: "use", lineLimit: 1, wordBreak: "break_all" }))] })), (0, jsx_runtime_1.jsx)(hybrid_1.Icon, { size: 16, fillType: "line", iconName: isFocused ? 'ic_arrow_up' : 'ic_arrow_down', colorKey: getArrowIconColorKey() })] })), isFocused &&
|
|
239
|
+
(0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(S_ContextMenuWrapper, __assign({ ref: contextMenuRef, contextMenuPositionCss: contextMenuPositionCss }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, __assign({ autoWidthMode: "use", maxHeight: maxHeight, customWidth: getCustomWidth() }, { children: valueArray.map(function (el) { return ((0, jsx_runtime_1.jsx)("div", __assign({ onMouseDown: function () { return handleClickOption(el); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, size: size, isSelected: (selectedValue === null || selectedValue === void 0 ? void 0 : selectedValue.value) === el.value, state: el.state, displayType: displayType }) }), el.value)); }) })) })), document.body)] })));
|
|
198
240
|
}
|
|
199
241
|
var S_TextLabel = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n padding-right: ", ";\n\n ", ";\n"], ["\n align-items: center;\n display: flex;\n padding-right: ", ";\n\n ", ";\n"])), function (_a) {
|
|
200
242
|
var theme = _a.theme;
|
|
@@ -369,12 +411,9 @@ var S_Select = styled_components_1.default.div(templateObject_14 || (templateObj
|
|
|
369
411
|
var state = _a.state;
|
|
370
412
|
return state === 'normal' && normalActionColor;
|
|
371
413
|
});
|
|
372
|
-
var S_ContextMenuWrapper = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: block;\n
|
|
373
|
-
var
|
|
374
|
-
return
|
|
375
|
-
}, function (_a) {
|
|
376
|
-
var displayType = _a.displayType;
|
|
377
|
-
return (displayType === 'icon_only' ? '100%' : 'inherit');
|
|
414
|
+
var S_ContextMenuWrapper = styled_components_1.default.div(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n display: block;\n position: absolute;\n\n ", ";\n"], ["\n display: block;\n position: absolute;\n\n ", ";\n"])), function (_a) {
|
|
415
|
+
var contextMenuPositionCss = _a.contextMenuPositionCss;
|
|
416
|
+
return contextMenuPositionCss;
|
|
378
417
|
});
|
|
379
418
|
exports.default = Dropdown;
|
|
380
419
|
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15;
|
package/package.json
CHANGED
package/release-note.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# PDS-DEV-KIT-WEB Release Notes
|
|
2
|
-
## [v2.2.
|
|
2
|
+
## [v2.2.11]
|
|
3
3
|
## daily|https://design.storybook.publ.biz/
|
|
4
4
|
|
|
5
5
|
### Component
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
* systemUI의 positioning을 모듈화
|
|
7
|
+
* TextLabel (tooltip)
|
|
8
|
+
* ContextMenu
|
|
9
|
+
* Dropdown
|
|
10
|
+
* IconButton/ButtonGroup (tooltip)
|
|
11
|
+
### Color
|
|
12
|
+
* 컬러 키 값 23.10.20 18시 48분 기준 싱크
|