pds-dev-kit-web 2.2.9 → 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.
Files changed (56) hide show
  1. package/dist/src/common/assets/icons/fill/LogoGoogle.d.ts +4 -0
  2. package/dist/src/common/assets/icons/fill/LogoGoogle.js +30 -0
  3. package/dist/src/common/assets/icons/fill/TypefaceSystem.d.ts +4 -0
  4. package/dist/src/common/assets/icons/fill/TypefaceSystem.js +30 -0
  5. package/dist/src/common/assets/icons/fill/index.d.ts +2 -0
  6. package/dist/src/common/assets/icons/fill/index.js +4 -0
  7. package/dist/src/common/assets/icons/line/LogoGoogle.d.ts +4 -0
  8. package/dist/src/common/assets/icons/line/LogoGoogle.js +30 -0
  9. package/dist/src/common/assets/icons/line/TypefaceSystem.d.ts +4 -0
  10. package/dist/src/common/assets/icons/line/TypefaceSystem.js +30 -0
  11. package/dist/src/common/assets/icons/line/index.d.ts +2 -0
  12. package/dist/src/common/assets/icons/line/index.js +4 -0
  13. package/dist/src/common/hooks/index.d.ts +1 -0
  14. package/dist/src/common/hooks/index.js +3 -1
  15. package/dist/src/common/hooks/useAbsolutePositioner.d.ts +13 -0
  16. package/dist/src/common/hooks/useAbsolutePositioner.js +54 -0
  17. package/dist/src/common/hooks/useTooltip.d.ts +17 -0
  18. package/dist/src/common/hooks/useTooltip.js +76 -0
  19. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +2 -1
  20. package/dist/src/common/styles/colorSet/PaletteColor_light.json +2 -1
  21. package/dist/src/common/styles/colorSet/UIColor.json +2 -1
  22. package/dist/src/common/styles/colorSet/index.d.ts +843 -840
  23. package/dist/src/common/styles/colorSet/index.js +3 -3
  24. package/dist/src/common/styles/colorSet/ui-type.d.ts +1 -0
  25. package/dist/src/common/styles/systemUI/index.d.ts +1 -0
  26. package/dist/src/common/styles/systemUI/index.js +5 -0
  27. package/dist/src/common/styles/systemUI/tooltipStyle.d.ts +1 -0
  28. package/dist/src/common/styles/systemUI/tooltipStyle.js +28 -0
  29. package/dist/src/common/types/components.d.ts +3 -2
  30. package/dist/src/common/types/systemUI.d.ts +13 -0
  31. package/dist/src/common/types/systemUI.js +2 -0
  32. package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.d.ts +13 -0
  33. package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.js +20 -0
  34. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.d.ts +17 -0
  35. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +71 -0
  36. package/dist/src/common/utils/SystemUIPositionGenerator/index.d.ts +1 -0
  37. package/dist/src/common/utils/SystemUIPositionGenerator/index.js +8 -0
  38. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +54 -42
  39. package/dist/src/desktop/components/BasicButtonGroup/constants.d.ts +0 -6
  40. package/dist/src/desktop/components/BasicButtonGroup/constants.js +1 -8
  41. package/dist/src/desktop/components/Dropdown/Dropdown.js +48 -9
  42. package/dist/src/desktop/components/IconButton/IconButton.d.ts +3 -1
  43. package/dist/src/desktop/components/IconButton/IconButton.js +48 -44
  44. package/dist/src/desktop/components/SegmentedButtonGroup/SegmentedButtonGroup.js +54 -42
  45. package/dist/src/desktop/components/SegmentedButtonGroup/constants.d.ts +0 -6
  46. package/dist/src/desktop/components/SegmentedButtonGroup/constants.js +1 -8
  47. package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +3 -1
  48. package/dist/src/desktop/components/TextLabel/TextLabel.js +33 -63
  49. package/dist/src/desktop/components/UploadIconButton/UploadIconButton.d.ts +3 -1
  50. package/dist/src/desktop/components/UploadIconButton/UploadIconButton.js +49 -45
  51. package/dist/src/desktop/components/UploadIconButton/constants.d.ts +7 -0
  52. package/dist/src/desktop/components/UploadIconButton/constants.js +10 -0
  53. package/dist/src/mobile/components/Dropdown/Dropdown.js +48 -9
  54. package/package.json +1 -1
  55. package/release-note.md +9 -4
  56. package/webhook/node_modules/esrecurse/.babelrc +3 -0
@@ -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 (displayType === 'icon_only') {
108
- return 'auto';
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 && ((0, jsx_runtime_1.jsx)(S_ContextMenuWrapper, __assign({ displayType: displayType }, { 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)(react_1.Fragment, { 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, onClick: handleClickOption, state: el.state, displayType: displayType }) }, el.value)); }) })) })))] })));
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 margin-top: ", ";\n position: absolute;\n width: inherit;\n width: ", ";\n"], ["\n display: block;\n margin-top: ", ";\n position: absolute;\n width: inherit;\n width: ", ";\n"])), function (_a) {
373
- var theme = _a.theme;
374
- return theme.spacing.spacingB;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.9",
3
+ "version": "2.2.11",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,7 +1,12 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v2.2.9]
2
+ ## [v2.2.11]
3
3
  ## daily|https://design.storybook.publ.biz/
4
4
 
5
- ### common
6
- * MobileHeaderBar
7
- * MobileHeaderBar: colorTheme transparent 추가
5
+ ### Component
6
+ * systemUI의 positioning을 모듈화
7
+ * TextLabel (tooltip)
8
+ * ContextMenu
9
+ * Dropdown
10
+ * IconButton/ButtonGroup (tooltip)
11
+ ### Color
12
+ * 컬러 키 값 23.10.20 18시 48분 기준 싱크
@@ -0,0 +1,3 @@
1
+ {
2
+ "presets": ["es2015"]
3
+ }