pds-dev-kit-web 1.3.9 → 1.3.12

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 (37) hide show
  1. package/dist/src/common/assets/icons/fill/Question.d.ts +4 -0
  2. package/dist/src/common/assets/icons/fill/Question.js +34 -0
  3. package/dist/src/common/assets/icons/fill/index.d.ts +1 -0
  4. package/dist/src/common/assets/icons/fill/index.js +2 -0
  5. package/dist/src/common/assets/icons/line/Requirement.d.ts +4 -0
  6. package/dist/src/common/assets/icons/line/Requirement.js +34 -0
  7. package/dist/src/common/assets/icons/line/index.d.ts +1 -0
  8. package/dist/src/common/assets/icons/line/index.js +2 -0
  9. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +3 -1
  10. package/dist/src/common/styles/colorSet/PaletteColor_light.json +3 -1
  11. package/dist/src/common/styles/colorSet/UIColor.json +8 -2
  12. package/dist/src/common/styles/colorSet/index.d.ts +10 -0
  13. package/dist/src/common/styles/colorSet/ui-type.d.ts +6 -0
  14. package/dist/src/common/styles/theme.js +1 -1
  15. package/dist/src/common/styles/ui-colors.d.ts +3 -1
  16. package/dist/src/common/styles/ui-colors.js +5 -4
  17. package/dist/src/common/types/{comopnents.d.ts → components.d.ts} +5 -0
  18. package/dist/src/common/types/{comopnents.js → components.js} +0 -0
  19. package/dist/src/common/types/index.d.ts +1 -1
  20. package/dist/src/common/types/index.js +1 -1
  21. package/dist/src/desktop/components/AdminList/AdminList.js +1 -1
  22. package/dist/src/desktop/components/DesktopBasicModal/DesktopBasicModal.d.ts +2 -1
  23. package/dist/src/desktop/components/DesktopBasicModal/DesktopBasicModal.js +18 -15
  24. package/dist/src/desktop/components/DesktopTabBar/DesktopTabBar.d.ts +9 -4
  25. package/dist/src/desktop/components/DesktopTabBar/DesktopTabBar.js +81 -38
  26. package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +3 -1
  27. package/dist/src/desktop/components/TextLabel/TextLabel.js +11 -4
  28. package/dist/src/desktop/components/UserDesktopTabBar/UserDesktopTabBar.d.ts +6 -4
  29. package/dist/src/desktop/components/UserDesktopTabBar/UserDesktopTabBar.js +38 -16
  30. package/dist/src/mobile/components/MobileBasicModal/MobileBasicModal.d.ts +2 -1
  31. package/dist/src/mobile/components/MobileBasicModal/MobileBasicModal.js +18 -15
  32. package/dist/src/mobile/components/MobileTabBar/MobileTabBar.d.ts +6 -4
  33. package/dist/src/mobile/components/MobileTabBar/MobileTabBar.js +21 -12
  34. package/dist/src/mobile/components/TextLabel/TextLabel.d.ts +3 -1
  35. package/dist/src/mobile/components/TextLabel/TextLabel.js +10 -3
  36. package/package.json +1 -1
  37. package/release-note.md +14 -18
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import IconType from '../IconType';
3
+ declare const Question: ({ color, size, ...rest }: IconType) => JSX.Element;
4
+ export default Question;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var Question = function (_a) {
30
+ var color = _a.color, size = _a.size, rest = __rest(_a, ["color", "size"]);
31
+ return (react_1.default.createElement("svg", __assign({ width: size, height: size, viewBox: "0 0 24 24" }, rest),
32
+ react_1.default.createElement("path", { fill: color, fillRule: "evenodd", d: "M12.0001,2 C17.5231,2 22.0001,6.477 22.0001,12 C22.0001,17.523 17.5231,22 12.0001,22 C6.4771,22 2.0001,17.523 2.0001,12 C2.0001,6.477 6.4771,2 12.0001,2 Z M11.7876652,14.8317533 C11.432968,14.8317533 11.1366272,14.9408168 10.8986427,15.158944 C10.66157,15.3779367 10.5439455,15.6575203 10.5439455,15.9976948 C10.5439455,16.3378693 10.66157,16.6174529 10.8986427,16.8355801 C11.1366272,17.0545728 11.432968,17.1636364 11.7876652,17.1636364 C12.1414506,17.1636364 12.4377914,17.0545728 12.6748641,16.8355801 C12.9119368,16.6174529 13.0304731,16.3378693 13.0304731,15.9976948 C13.0304731,15.6575203 12.9119368,15.3779367 12.6748641,15.158944 C12.4377914,14.9408168 12.1414506,14.8317533 11.7876652,14.8317533 Z M11.8870534,6.8 C10.8940836,6.8 10.1071846,7.1393089 9.57285929,7.66558393 C9.27195935,7.96161363 9.15342301,8.18666545 9.05585848,8.51385618 C8.84066944,9.23661876 9.26284117,9.97669301 10.0533874,9.97669301 L10.0533874,9.97669301 L10.1199501,9.97669301 C10.5676527,9.97669301 10.9360272,9.74211977 11.087389,9.34914467 C11.1402744,9.21238241 11.1548635,9.12236168 11.2806944,8.95097606 C11.4338798,8.74237033 11.7119843,8.66100544 11.9754997,8.69649439 C12.4861178,8.76747227 12.7514568,9.03840004 12.7514568,9.73259835 C12.7514568,10.0173755 12.6666577,10.2787818 12.495236,10.5159518 C12.324726,10.7522562 12.0247379,10.9686522 11.7475452,11.2993053 C11.4183789,11.6905492 11.1986308,11.9952347 11.0655053,12.3414683 C10.8995545,12.7699323 10.8858772,13.0339354 10.8913481,13.2892827 C10.9032017,13.8389285 11.2907244,14.2379644 11.8706406,14.2379644 C12.4131723,14.2388283 12.7514568,13.9090408 12.8581395,13.3550671 C12.9593513,12.8244641 13.0933886,12.5846974 13.3104013,12.3683014 L13.3104013,12.3683014 L14.0754166,11.6299583 C14.3991119,11.3036332 14.6334492,10.9833671 14.7802519,10.6708913 C14.9270546,10.3584155 15,10.0113164 15,9.62872827 C15,8.75535409 14.7282782,8.08106421 14.1848347,7.6075898 C13.6413912,7.1341154 12.8754641,6.8 11.8870534,6.8 Z" })));
33
+ };
34
+ exports.default = Question;
@@ -28,6 +28,7 @@ declare const fillIcons: {
28
28
  readonly ic_post_free: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
29
29
  readonly ic_post_notice: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
30
30
  readonly ic_post_social: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
31
+ readonly ic_question: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
31
32
  readonly ic_reply: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
32
33
  readonly ic_setting: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
33
34
  readonly ic_speaker_off: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
@@ -31,6 +31,7 @@ var Pin_1 = __importDefault(require("./Pin"));
31
31
  var PostFree_1 = __importDefault(require("./PostFree"));
32
32
  var PostNotice_1 = __importDefault(require("./PostNotice"));
33
33
  var PostSocial_1 = __importDefault(require("./PostSocial"));
34
+ var Question_1 = __importDefault(require("./Question"));
34
35
  var Reply_1 = __importDefault(require("./Reply"));
35
36
  var Setting_1 = __importDefault(require("./Setting"));
36
37
  var SpeakerOff_1 = __importDefault(require("./SpeakerOff"));
@@ -81,6 +82,7 @@ var fillIcons = {
81
82
  ic_post_free: PostFree_1.default,
82
83
  ic_post_notice: PostNotice_1.default,
83
84
  ic_post_social: PostSocial_1.default,
85
+ ic_question: Question_1.default,
84
86
  ic_reply: Reply_1.default,
85
87
  ic_setting: Setting_1.default,
86
88
  ic_speaker_off: SpeakerOff_1.default,
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import IconType from '../IconType';
3
+ declare const Requirement: ({ color, size, ...rest }: IconType) => JSX.Element;
4
+ export default Requirement;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ var react_1 = __importDefault(require("react"));
29
+ var Requirement = function (_a) {
30
+ var color = _a.color, size = _a.size, rest = __rest(_a, ["color", "size"]);
31
+ return (react_1.default.createElement("svg", __assign({ width: size, height: size, viewBox: "0 0 24 24" }, rest),
32
+ react_1.default.createElement("path", { fill: "none", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5", d: "M11.9998204,19.6217475 L11.9998204,4.35 M19,16.0272646 L5,7.94412368 M19,7.94412368 L5,16.0272646" })));
33
+ };
34
+ exports.default = Requirement;
@@ -91,6 +91,7 @@ declare const lineIcons: {
91
91
  readonly ic_radio_off: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
92
92
  readonly ic_radio_on: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
93
93
  readonly ic_report: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
94
+ readonly ic_requirement: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
94
95
  readonly ic_search: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
95
96
  readonly ic_seller_info: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
96
97
  readonly ic_seller_intro: ({ color, size, ...rest }: import("../IconType").default) => JSX.Element;
@@ -94,6 +94,7 @@ var Question_1 = __importDefault(require("./Question"));
94
94
  var RadioOff_1 = __importDefault(require("./RadioOff"));
95
95
  var RadioOn_1 = __importDefault(require("./RadioOn"));
96
96
  var Report_1 = __importDefault(require("./Report"));
97
+ var Requirement_1 = __importDefault(require("./Requirement"));
97
98
  var Search_1 = __importDefault(require("./Search"));
98
99
  var SellerInfo_1 = __importDefault(require("./SellerInfo"));
99
100
  var SellerIntro_1 = __importDefault(require("./SellerIntro"));
@@ -228,6 +229,7 @@ var lineIcons = {
228
229
  ic_radio_off: RadioOff_1.default,
229
230
  ic_radio_on: RadioOn_1.default,
230
231
  ic_report: Report_1.default,
232
+ ic_requirement: Requirement_1.default,
231
233
  ic_search: Search_1.default,
232
234
  ic_seller_info: SellerInfo_1.default,
233
235
  ic_seller_intro: SellerIntro_1.default,
@@ -150,5 +150,7 @@
150
150
  "usr_menu_background": "grey950",
151
151
  "sys_cpnt_base_white_opacity50": "white/opacity50",
152
152
  "sys_widget_dark_01": "grey950",
153
- "usr_menu_background_gradient_opacity00": "grey950/opacity00"
153
+ "usr_menu_background_gradient_opacity00": "grey950/opacity00",
154
+ "sys_border_line_white": "white",
155
+ "sys_component_base_white_opacity10": "white/opacity10"
154
156
  }
@@ -150,5 +150,7 @@
150
150
  "usr_menu_background": "white",
151
151
  "sys_cpnt_base_white_opacity50": "white/opacity50",
152
152
  "sys_widget_dark_01": "grey900",
153
- "usr_menu_background_gradient_opacity00": "white/opacity00"
153
+ "usr_menu_background_gradient_opacity00": "white/opacity00",
154
+ "sys_border_line_white": "white",
155
+ "sys_component_base_white_opacity10": "white/opacity10"
154
156
  }
@@ -312,7 +312,7 @@
312
312
  "ui_cpnt_modal_gradient_2": "sys_component_base_black",
313
313
  "ui_cpnt_list_icon_04": "sys_widget_white",
314
314
  "ui_cpnt_list_thumbnail_border": "sys_border_line_01",
315
- "ui_cpnt_list_thumbnail_gradient_1": "sys_component_base_black",
315
+ "ui_cpnt_list_thumbnail_gradient_1": "sys_component_base_black_opacity80",
316
316
  "ui_cpnt_list_thumbnail_gradient_2": "sys_component_base_black_opacity00",
317
317
  "ui_cpnt_list_base_area_active": "sys_component_base_01",
318
318
  "ui_cpnt_contextmenu_base": "sys_component_base_02",
@@ -480,5 +480,11 @@
480
480
  "ui_menu_background": "usr_menu_background",
481
481
  "ui_cpnt_video_progress_base": "sys_cpnt_base_white_opacity50",
482
482
  "ui_cpnt_icon_sys_dark": "sys_widget_dark_01",
483
- "ui_menu_background_gradient_opacity00": "usr_menu_background_gradient_opacity00"
483
+ "ui_menu_background_gradient_opacity00": "usr_menu_background_gradient_opacity00",
484
+ "ui_cpnt_dropdown_border_white_normal": "sys_border_line_white",
485
+ "ui_cpnt_dropdown_text_white_enabled": "sys_text_white",
486
+ "ui_cpnt_dropdown_text_white_hint": "sys_text_white",
487
+ "ui_cpnt_dropdown_icon_white_default": "sys_widget_white",
488
+ "ui_cpnt_dropdown_border_white_focus": "sys_border_line_03",
489
+ "ui_cpnt_dropdown_base_white_normal": "sys_component_base_white_opacity10"
484
490
  }
@@ -152,6 +152,8 @@ declare const colorSet: {
152
152
  sys_cpnt_base_white_opacity50: string;
153
153
  sys_widget_dark_01: string;
154
154
  usr_menu_background_gradient_opacity00: string;
155
+ sys_border_line_white: string;
156
+ sys_component_base_white_opacity10: string;
155
157
  };
156
158
  readonly PaletteColor_light: {
157
159
  sys_container_background_01: string;
@@ -306,6 +308,8 @@ declare const colorSet: {
306
308
  sys_cpnt_base_white_opacity50: string;
307
309
  sys_widget_dark_01: string;
308
310
  usr_menu_background_gradient_opacity00: string;
311
+ sys_border_line_white: string;
312
+ sys_component_base_white_opacity10: string;
309
313
  };
310
314
  readonly UIColor: {
311
315
  ui_cpnt_button_fill_base_primary: string;
@@ -790,6 +794,12 @@ declare const colorSet: {
790
794
  ui_cpnt_video_progress_base: string;
791
795
  ui_cpnt_icon_sys_dark: string;
792
796
  ui_menu_background_gradient_opacity00: string;
797
+ ui_cpnt_dropdown_border_white_normal: string;
798
+ ui_cpnt_dropdown_text_white_enabled: string;
799
+ ui_cpnt_dropdown_text_white_hint: string;
800
+ ui_cpnt_dropdown_icon_white_default: string;
801
+ ui_cpnt_dropdown_border_white_focus: string;
802
+ ui_cpnt_dropdown_base_white_normal: string;
793
803
  };
794
804
  readonly SemanticColor: {
795
805
  blue500: string;
@@ -481,4 +481,10 @@ export interface UITheme {
481
481
  ui_cpnt_video_progress_base: string;
482
482
  ui_cpnt_icon_sys_dark: string;
483
483
  ui_menu_background_gradient_opacity00: string;
484
+ ui_cpnt_dropdown_border_white_normal: string;
485
+ ui_cpnt_dropdown_text_white_enabled: string;
486
+ ui_cpnt_dropdown_text_white_hint: string;
487
+ ui_cpnt_dropdown_icon_white_default: string;
488
+ ui_cpnt_dropdown_border_white_focus: string;
489
+ ui_cpnt_dropdown_base_white_normal: string;
484
490
  }
@@ -95,5 +95,5 @@ exports.spacing = {
95
95
  spacingM: '288px',
96
96
  spacingN: '320px'
97
97
  };
98
- var theme = __assign({ fontWeight: exports.fontWeight, desktopFontSize: exports.desktopFontSize, desktopLineHeight: exports.desktopLineHeight, mobileFontSize: exports.mobileFontSize, mobileLineHeight: exports.mobileLineHeight, boxShadow: exports.boxShadow, spacing: exports.spacing }, (0, ui_colors_1.customTheme)(window.PdsUtils ? window.PdsUtils.tone : 'DARK'));
98
+ var theme = __assign({ fontWeight: exports.fontWeight, desktopFontSize: exports.desktopFontSize, desktopLineHeight: exports.desktopLineHeight, mobileFontSize: exports.mobileFontSize, mobileLineHeight: exports.mobileLineHeight, boxShadow: exports.boxShadow, spacing: exports.spacing }, (0, ui_colors_1.customTheme)(window.PdsUtils ? window.PdsUtils.tone : 'DARK', window.PdsUtils ? window.PdsUtils.palette : {}));
99
99
  exports.default = theme;
@@ -5,4 +5,6 @@ declare global {
5
5
  PdsUtils: any;
6
6
  }
7
7
  }
8
- export declare const customTheme: (tone: string) => any;
8
+ export declare const customTheme: (tone: string, palette?: {
9
+ [key: string]: string;
10
+ } | undefined) => any;
@@ -28,20 +28,21 @@ function buildCascadedColors(lowLevel, highLevel, override) {
28
28
  // from server (원래는 비동기)
29
29
  var colorSetting = {
30
30
  tone: 'DARK',
31
- customPalette: {
31
+ palette: {
32
32
  usr_good_job: '#999999'
33
33
  }
34
34
  };
35
35
  var phaseTwoJSON = colorSetting.tone === 'LIGHT' ? colorSet_1.default.PaletteColor_light : colorSet_1.default.PaletteColor_Dark;
36
36
  // ui-color-build-phase
37
- var paletteColors = buildCascadedColors(colorSet_1.default.SemanticColor, phaseTwoJSON, colorSetting.customPalette);
37
+ var paletteColors = buildCascadedColors(colorSet_1.default.SemanticColor, phaseTwoJSON, colorSetting.palette);
38
38
  exports.uiColors = buildCascadedColors(paletteColors, colorSet_1.default.UIColor);
39
39
  window.PdsUtils = {
40
40
  tone: 'DARK'
41
41
  };
42
- var customTheme = function (tone) {
42
+ var customTheme = function (tone, palette) {
43
43
  window.PdsUtils.tone = tone;
44
- var buildedColors = buildCascadedColors(buildCascadedColors(colorSet_1.default.SemanticColor, tone === 'LIGHT' ? colorSet_1.default.PaletteColor_light : colorSet_1.default.PaletteColor_Dark, colorSetting.customPalette), colorSet_1.default.UIColor);
44
+ window.PdsUtils.palette = palette;
45
+ var buildedColors = buildCascadedColors(buildCascadedColors(colorSet_1.default.SemanticColor, tone === 'LIGHT' ? colorSet_1.default.PaletteColor_light : colorSet_1.default.PaletteColor_Dark, palette), colorSet_1.default.UIColor);
45
46
  return buildedColors;
46
47
  };
47
48
  exports.customTheme = customTheme;
@@ -3,3 +3,8 @@ export declare type PDSValueOption = {
3
3
  text: PDSTextType;
4
4
  value: string | number | null | boolean;
5
5
  };
6
+ export declare type PDSTabItemOption = {
7
+ title: PDSTextType;
8
+ isActive: boolean;
9
+ onClick?: () => void;
10
+ };
@@ -3,4 +3,4 @@ export * from './icon';
3
3
  export * from './styled-components';
4
4
  export * from './text';
5
5
  export * from './uiColors';
6
- export * from './comopnents';
6
+ export * from './components';
@@ -15,4 +15,4 @@ __exportStar(require("./icon"), exports);
15
15
  __exportStar(require("./styled-components"), exports);
16
16
  __exportStar(require("./text"), exports);
17
17
  __exportStar(require("./uiColors"), exports);
18
- __exportStar(require("./comopnents"), exports);
18
+ __exportStar(require("./components"), exports);
@@ -85,7 +85,7 @@ function AdminList(_a) {
85
85
  }
86
86
  setIsBulkActionBarOpen(true);
87
87
  selectedIds.forEach(function (val) { return checkboxMethods.setValue(val.toString(), true); });
88
- }, [selectedIds]);
88
+ }, [selectedIds, maintainIds]);
89
89
  var handleSelectAllCheckbox = function () {
90
90
  var allIds = Object.keys(checkboxMethods.getValues()).map(function (id) { return Number(id); });
91
91
  var basicIds = allIds.filter(function (id) { return !(maintainIds === null || maintainIds === void 0 ? void 0 : maintainIds.includes(id)); });
@@ -3,6 +3,7 @@ import { PDSTextType } from '../../../common';
3
3
  declare type DesktopBasicModalProps = {
4
4
  titleText: PDSTextType;
5
5
  contentText?: PDSTextType;
6
+ bodySpacingMode?: 'none' | 'use';
6
7
  btnMode?: 'mbtn_amount1' | 'mbtn_amount2' | 'mbtn_amount3';
7
8
  mBtn1Text: PDSTextType;
8
9
  mBtn2Text?: PDSTextType;
@@ -19,5 +20,5 @@ declare type DesktopBasicModalProps = {
19
20
  onClickMBtn3?: () => void;
20
21
  children?: React.ReactNode;
21
22
  };
22
- declare function DesktopBasicModal({ titleText, contentText, btnMode, mBtn1Text, mBtn2Text, mBtn3Text, mBtn1State, mBtn2State, mBtn3State, mBtn1Type, mBtn2Type, mBtn3Type, onClickMBtn1, onClickMBtn2, onClickMBtn3, size, children }: DesktopBasicModalProps): React.ReactPortal;
23
+ declare function DesktopBasicModal({ titleText, contentText, bodySpacingMode, btnMode, mBtn1Text, mBtn2Text, mBtn3Text, mBtn1State, mBtn2State, mBtn3State, mBtn1Type, mBtn2Type, mBtn3Type, onClickMBtn1, onClickMBtn2, onClickMBtn3, size, children }: DesktopBasicModalProps): React.ReactPortal;
23
24
  export default DesktopBasicModal;
@@ -28,12 +28,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
30
  var react_dom_1 = __importDefault(require("react-dom"));
31
- var styled_components_1 = __importDefault(require("styled-components"));
31
+ var styled_components_1 = __importStar(require("styled-components"));
32
32
  var hybrid_1 = require("../../../hybrid");
33
33
  var MainButton_1 = require("../MainButton");
34
34
  var TextLabel_1 = require("../TextLabel");
35
35
  function DesktopBasicModal(_a) {
36
- var titleText = _a.titleText, contentText = _a.contentText, _b = _a.btnMode, btnMode = _b === void 0 ? 'mbtn_amount2' : _b, mBtn1Text = _a.mBtn1Text, mBtn2Text = _a.mBtn2Text, mBtn3Text = _a.mBtn3Text, _c = _a.mBtn1State, mBtn1State = _c === void 0 ? 'normal' : _c, _d = _a.mBtn2State, mBtn2State = _d === void 0 ? 'normal' : _d, _e = _a.mBtn3State, mBtn3State = _e === void 0 ? 'normal' : _e, _f = _a.mBtn1Type, mBtn1Type = _f === void 0 ? 'button' : _f, _g = _a.mBtn2Type, mBtn2Type = _g === void 0 ? 'button' : _g, _h = _a.mBtn3Type, mBtn3Type = _h === void 0 ? 'button' : _h, onClickMBtn1 = _a.onClickMBtn1, onClickMBtn2 = _a.onClickMBtn2, onClickMBtn3 = _a.onClickMBtn3, _j = _a.size, size = _j === void 0 ? 'large' : _j, children = _a.children;
36
+ var titleText = _a.titleText, contentText = _a.contentText, _b = _a.bodySpacingMode, bodySpacingMode = _b === void 0 ? 'use' : _b, _c = _a.btnMode, btnMode = _c === void 0 ? 'mbtn_amount2' : _c, mBtn1Text = _a.mBtn1Text, mBtn2Text = _a.mBtn2Text, mBtn3Text = _a.mBtn3Text, _d = _a.mBtn1State, mBtn1State = _d === void 0 ? 'normal' : _d, _e = _a.mBtn2State, mBtn2State = _e === void 0 ? 'normal' : _e, _f = _a.mBtn3State, mBtn3State = _f === void 0 ? 'normal' : _f, _g = _a.mBtn1Type, mBtn1Type = _g === void 0 ? 'button' : _g, _h = _a.mBtn2Type, mBtn2Type = _h === void 0 ? 'button' : _h, _j = _a.mBtn3Type, mBtn3Type = _j === void 0 ? 'button' : _j, onClickMBtn1 = _a.onClickMBtn1, onClickMBtn2 = _a.onClickMBtn2, onClickMBtn3 = _a.onClickMBtn3, _k = _a.size, size = _k === void 0 ? 'large' : _k, children = _a.children;
37
37
  var container = (0, react_1.useState)(function () {
38
38
  var modalRoot = document.createElement('div');
39
39
  modalRoot.setAttribute('id', 'DesktopBasicModal');
@@ -57,7 +57,7 @@ function DesktopBasicModal(_a) {
57
57
  react_1.default.createElement(S_ModalWrapper, { size: size },
58
58
  react_1.default.createElement(S_Header, null,
59
59
  react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, colorTheme: "sysTextPrimary", styleTheme: "headingBold" })),
60
- react_1.default.createElement(S_Body, null,
60
+ react_1.default.createElement(S_Body, { bodySpacingMode: bodySpacingMode },
61
61
  contentText && (react_1.default.createElement(TextLabel_1.TextLabel, { text: contentText, colorTheme: "sysTextSecondary", styleTheme: "subTitleRegular" })),
62
62
  children && children),
63
63
  react_1.default.createElement(hybrid_1.Divider, null),
@@ -87,7 +87,7 @@ var S_ModalWrapper = styled_components_1.default.div(templateObject_2 || (templa
87
87
  medium: '688px',
88
88
  small: '400px'
89
89
  };
90
- return sizes[size];
90
+ return size && sizes[size];
91
91
  });
92
92
  var S_Left = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
93
93
  var theme = _a.theme;
@@ -98,30 +98,33 @@ var S_Btn2Wrapper = styled_components_1.default.div(templateObject_4 || (templat
98
98
  return theme.spacing.spacingB;
99
99
  });
100
100
  var S_Right = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
101
- var S_Header = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin: 0 ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n"], ["\n margin: 0 ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n"])), function (_a) {
101
+ var S_Header = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin: 0 ", ";\n margin-bottom: ", ";\n margin-top: ", ";\n"], ["\n margin: 0 ", ";\n margin-bottom: ", ";\n margin-top: ", ";\n"])), function (_a) {
102
102
  var theme = _a.theme;
103
103
  return theme.spacing.spacingE;
104
104
  }, function (_a) {
105
105
  var theme = _a.theme;
106
- return theme.spacing.spacingE;
106
+ return theme.spacing.spacingC;
107
107
  }, function (_a) {
108
108
  var theme = _a.theme;
109
- return theme.spacing.spacingC;
109
+ return theme.spacing.spacingE;
110
110
  });
111
- var S_Body = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n flex: 1;\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n overflow: auto;\n"], ["\n flex: 1;\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n overflow: auto;\n"])), function (_a) {
111
+ var S_Body = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n flex: 1;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n overflow: auto;\n\n ", "\n"], ["\n flex: 1;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n overflow: auto;\n\n ", "\n"])), function (_a) {
112
112
  var theme = _a.theme;
113
- return theme.spacing.spacingD;
113
+ return theme.spacing.spacingF;
114
114
  }, function (_a) {
115
115
  var theme = _a.theme;
116
116
  return theme.spacing.spacingE;
117
117
  }, function (_a) {
118
118
  var theme = _a.theme;
119
- return theme.spacing.spacingF;
119
+ return theme.spacing.spacingE;
120
120
  }, function (_a) {
121
121
  var theme = _a.theme;
122
- return theme.spacing.spacingE;
122
+ return theme.spacing.spacingD;
123
+ }, function (_a) {
124
+ var bodySpacingMode = _a.bodySpacingMode;
125
+ return bodySpacingMode === 'none' && (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n "], ["\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n "])));
123
126
  });
124
- var S_Footer = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (_a) {
127
+ var S_Footer = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n"])), function (_a) {
125
128
  var theme = _a.theme;
126
129
  return theme.spacing.spacingD;
127
130
  }, function (_a) {
@@ -129,10 +132,10 @@ var S_Footer = styled_components_1.default.div(templateObject_8 || (templateObje
129
132
  return theme.spacing.spacingE;
130
133
  }, function (_a) {
131
134
  var theme = _a.theme;
132
- return theme.spacing.spacingD;
135
+ return theme.spacing.spacingE;
133
136
  }, function (_a) {
134
137
  var theme = _a.theme;
135
- return theme.spacing.spacingE;
138
+ return theme.spacing.spacingD;
136
139
  });
137
140
  exports.default = DesktopBasicModal;
138
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
141
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
@@ -1,5 +1,8 @@
1
1
  /// <reference types="react" />
2
- import { PDSTextType } from '../../../common';
2
+ import { PDSTabItemOption, PDSTextType } from '../../../common/types';
3
+ declare type ItemArray = PDSTabItemOption & {
4
+ subArray?: PDSTabItemOption[];
5
+ };
3
6
  declare type TextObj = {
4
7
  title: PDSTextType;
5
8
  path: string;
@@ -8,9 +11,11 @@ declare type TextObj = {
8
11
  path: string;
9
12
  }[];
10
13
  };
11
- declare type Props = {
12
- textArray: TextObj[];
14
+ declare type DesktopTabBarProps = {
15
+ itemArray?: ItemArray[];
13
16
  styleTheme?: 'main' | 'content';
17
+ /** @deprecated v1.5 해당 필드 대신 itemArray를 사용하세요. */
18
+ textArray?: TextObj[];
14
19
  };
15
- declare function DesktopTabBar({ textArray, styleTheme }: Props): JSX.Element;
20
+ declare function DesktopTabBar({ itemArray, styleTheme, textArray }: DesktopTabBarProps): JSX.Element;
16
21
  export default DesktopTabBar;
@@ -31,36 +31,62 @@ var react_router_dom_1 = require("react-router-dom");
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
32
  var TextLabel_1 = require("../TextLabel");
33
33
  function DesktopTabBar(_a) {
34
- var textArray = _a.textArray, _b = _a.styleTheme, styleTheme = _b === void 0 ? 'main' : _b;
34
+ var itemArray = _a.itemArray, _b = _a.styleTheme, styleTheme = _b === void 0 ? 'main' : _b, textArray = _a.textArray;
35
35
  var history = (0, react_router_dom_1.useHistory)();
36
- var pathname = window.location.pathname;
37
- var handleClick = function (value) {
38
- if (value) {
39
- history.push(value.path);
40
- }
41
- };
42
- var textLabel = function (value, isSubText) {
43
- if (isSubText) {
44
- return (react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, styleTheme: pathname === value.path ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname === value.path ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
45
- }
46
- if (styleTheme === 'content') {
47
- return (react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, styleTheme: pathname === value.path ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname === value.path ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
48
- }
49
- if (styleTheme === 'main') {
50
- return (react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, styleTheme: pathname === value.path ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
51
- }
52
- };
53
- return (react_1.default.createElement(S_TabBox, null,
54
- textArray.map(function (value) { return (react_1.default.createElement(S_TabWrapper, { key: value.path, isActive: pathname.includes(value.path), styleTheme: styleTheme },
55
- react_1.default.createElement(S_TitleWrapper, { onClick: function () {
56
- handleClick(value);
57
- } }, textLabel(value, false)),
58
- value.subArray && pathname.includes(value.path) && (react_1.default.createElement(S_SubTabBox, null, value.subArray.map(function (subValue) { return (react_1.default.createElement(S_SubWrapper, { onClick: function () {
59
- handleClick(subValue);
60
- }, key: subValue.path }, textLabel(subValue, true))); }))))); }),
61
- textArray.map(function (value) {
62
- return value.subArray && pathname.includes(value.path) && react_1.default.createElement(S_SubBackground, { key: value.path });
63
- })));
36
+ var pathname = (0, react_router_dom_1.useLocation)().pathname;
37
+ if (itemArray) {
38
+ var handelClickTabItem_1 = function (item) {
39
+ if (item.onClick) {
40
+ item.onClick();
41
+ }
42
+ };
43
+ var textLabel_1 = function (item, isSubText) {
44
+ if (isSubText) {
45
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: item.isActive ? 'caption1Bold' : 'caption1Regular', colorTheme: item.isActive ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
46
+ }
47
+ if (styleTheme === 'content') {
48
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: item.isActive ? 'caption1Bold' : 'caption1Regular', colorTheme: item.isActive ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
49
+ }
50
+ if (styleTheme === 'main') {
51
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: item.isActive ? 'caption1Bold' : 'caption1Regular', colorTheme: item.isActive ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
52
+ }
53
+ };
54
+ return (react_1.default.createElement(S_TabBox, null,
55
+ itemArray.map(function (item, index) { return (react_1.default.createElement(S_TabWrapper, { key: index, isActive: item.isActive, styleTheme: styleTheme },
56
+ react_1.default.createElement(S_TitleWrapper, { text: item.title, onClick: function () { return handelClickTabItem_1(item); } }, textLabel_1(item, false)),
57
+ item.isActive && item.subArray && (react_1.default.createElement(S_SubTabBox, null, item.subArray.map(function (subItem) { return (react_1.default.createElement(S_SubWrapper, { key: subItem.title, text: subItem.title, onClick: function () { return handelClickTabItem_1(subItem); } }, textLabel_1(subItem, true))); }))))); }),
58
+ itemArray.map(function (item) { return item.isActive && item.subArray && react_1.default.createElement(S_SubBackground, { key: item.title }); })));
59
+ }
60
+ if (textArray) {
61
+ var handleClick_1 = function (value) {
62
+ if (value) {
63
+ history.push(value.path);
64
+ }
65
+ };
66
+ var textLabel_2 = function (item, isSubText) {
67
+ if (isSubText) {
68
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: pathname.includes(item.path) ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname.includes(item.path) ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
69
+ }
70
+ if (styleTheme === 'content') {
71
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: pathname.includes(item.path) ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname.includes(item.path) ? 'sysTextPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
72
+ }
73
+ if (styleTheme === 'main') {
74
+ return (react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: pathname.includes(item.path) ? 'caption1Bold' : 'caption1Regular', colorTheme: pathname.includes(item.path) ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }));
75
+ }
76
+ };
77
+ return (react_1.default.createElement(S_TabBox, null,
78
+ textArray.map(function (item) { return (react_1.default.createElement(S_TabWrapper, { key: item.path, isActive: pathname.includes(item.path), styleTheme: styleTheme },
79
+ react_1.default.createElement(S_TitleWrapper, { text: item.title, onClick: function () {
80
+ handleClick_1(item);
81
+ } }, textLabel_2(item, false)),
82
+ item.subArray && pathname.includes(item.path) && (react_1.default.createElement(S_SubTabBox, null, item.subArray.map(function (subItem) { return (react_1.default.createElement(S_SubWrapper, { key: subItem.path, text: subItem.title, onClick: function () {
83
+ handleClick_1(subItem);
84
+ } }, textLabel_2(subItem, true))); }))))); }),
85
+ textArray.map(function (item) {
86
+ return item.subArray && pathname.includes(item.path) && react_1.default.createElement(S_SubBackground, { key: item.path });
87
+ })));
88
+ }
89
+ return react_1.default.createElement(react_1.default.Fragment, null);
64
90
  }
65
91
  var mediumStyle = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: flex-end;\n box-sizing: border-box;\n justify-content: center;\n display: flex;\n margin-right: ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"], ["\n align-items: flex-end;\n box-sizing: border-box;\n justify-content: center;\n display: flex;\n margin-right: ", ";\n position: relative;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"])), function (_a) {
66
92
  var theme = _a.theme;
@@ -74,15 +100,26 @@ var mediumStyle = (0, styled_components_1.css)(templateObject_1 || (templateObje
74
100
  var isActive = _a.isActive;
75
101
  return !isActive && "display: none;";
76
102
  });
77
- var S_TabWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n ", "\n"], ["\n position: relative;\n ", "\n"])), mediumStyle);
78
- var S_TitleWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n cursor: pointer;\n min-width: 100%;\n padding: 0 ", ";\n padding-bottom: ", ";\n"], ["\n cursor: pointer;\n min-width: 100%;\n padding: 0 ", ";\n padding-bottom: ", ";\n"])), function (_a) {
103
+ // NOTE: Tab item 활성화 text에 bold가 적용되는데, 이때 font-family에 따라 text 영역의 너비가 변경되어 시각적 변동을 일으키는 문제를 해결하기 위한 처리입니다.
104
+ var textOffset = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: block;\n content: ", ";\n height: 0;\n overflow: hidden;\n visibility: hidden;\n"], ["\n display: block;\n content: ", ";\n height: 0;\n overflow: hidden;\n visibility: hidden;\n"])), function (_a) {
105
+ var text = _a.text;
106
+ return "'" + text + "'";
107
+ });
108
+ var S_TabWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n position: relative;\n ", "\n"], ["\n position: relative;\n ", "\n"])), mediumStyle);
109
+ var S_TitleWrapper = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n cursor: pointer;\n padding: 0 ", ";\n padding-bottom: ", ";\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"], ["\n cursor: pointer;\n padding: 0 ", ";\n padding-bottom: ", ";\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"])), function (_a) {
79
110
  var theme = _a.theme;
80
111
  return theme.spacing.spacingA;
81
112
  }, function (_a) {
82
113
  var theme = _a.theme;
83
114
  return theme.spacing.spacingB;
84
- });
85
- var S_TabBox = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding-left: ", ";\n position: relative;\n height: 40px;\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding-left: ", ";\n position: relative;\n height: 40px;\n"])), function (_a) {
115
+ }, function (_a) {
116
+ var theme = _a.theme;
117
+ return theme.fontWeight.normal;
118
+ }, textOffset, function (_a) {
119
+ var theme = _a.theme;
120
+ return theme.fontWeight.bold;
121
+ }, textOffset);
122
+ var S_TabBox = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding-left: ", ";\n position: relative;\n height: 40px;\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n padding-left: ", ";\n position: relative;\n height: 40px;\n"])), function (_a) {
86
123
  var theme = _a.theme;
87
124
  return theme.ui_cpnt_tabbar_base_area;
88
125
  }, function (_a) {
@@ -92,17 +129,23 @@ var S_TabBox = styled_components_1.default.div(templateObject_4 || (templateObje
92
129
  var theme = _a.theme;
93
130
  return theme.spacing.spacingE;
94
131
  });
95
- var S_SubBackground = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n width: 100%;\n height: 32px;\n background-color: ", ";\n position: absolute;\n bottom: -33px;\n left: 0px;\n"], ["\n width: 100%;\n height: 32px;\n background-color: ", ";\n position: absolute;\n bottom: -33px;\n left: 0px;\n"])), function (_a) {
132
+ var S_SubBackground = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n width: 100%;\n height: 32px;\n background-color: ", ";\n position: absolute;\n bottom: -33px;\n left: 0px;\n"], ["\n width: 100%;\n height: 32px;\n background-color: ", ";\n position: absolute;\n bottom: -33px;\n left: 0px;\n"])), function (_a) {
96
133
  var theme = _a.theme;
97
134
  return theme.ui_cpnt_tabbar_base_area_sub;
98
135
  });
99
- var S_SubTabBox = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n width: 100vw;\n position: absolute;\n bottom: -33px;\n left: 0px;\n height: 32px;\n display: flex;\n z-index: 1;\n"], ["\n width: 100vw;\n position: absolute;\n bottom: -33px;\n left: 0px;\n height: 32px;\n display: flex;\n z-index: 1;\n"])));
100
- var S_SubWrapper = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n padding: 0 ", ";\n\n &:last-child {\n margin-right: 0;\n }\n"], ["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n padding: 0 ", ";\n\n &:last-child {\n margin-right: 0;\n }\n"])), function (_a) {
136
+ var S_SubTabBox = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n width: 100vw;\n position: absolute;\n bottom: -33px;\n left: 0px;\n height: 32px;\n display: flex;\n z-index: 1;\n"], ["\n width: 100vw;\n position: absolute;\n bottom: -33px;\n left: 0px;\n height: 32px;\n display: flex;\n z-index: 1;\n"])));
137
+ var S_SubWrapper = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n padding: 0 ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"], ["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n padding: 0 ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"])), function (_a) {
101
138
  var theme = _a.theme;
102
139
  return theme.spacing.spacingE;
103
140
  }, function (_a) {
104
141
  var theme = _a.theme;
105
142
  return theme.spacing.spacingA;
106
- });
143
+ }, function (_a) {
144
+ var theme = _a.theme;
145
+ return theme.fontWeight.normal;
146
+ }, textOffset, function (_a) {
147
+ var theme = _a.theme;
148
+ return theme.fontWeight.bold;
149
+ }, textOffset);
107
150
  exports.default = DesktopTabBar;
108
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
151
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
@@ -14,6 +14,7 @@ export declare type TextLabelProps = {
14
14
  userSelectMode?: 'none' | 'use';
15
15
  customFontSize?: string;
16
16
  customFontWeight?: 'bold' | 'regular';
17
+ textDecorationType?: 'none' | 'line_through';
17
18
  };
18
19
  export declare type TextStyleProps = {
19
20
  textAlign?: 'left' | 'center' | 'right';
@@ -27,6 +28,7 @@ export declare type TextStyleProps = {
27
28
  userSelectMode?: 'none' | 'use';
28
29
  customFontSize?: string;
29
30
  customFontWeight?: 'bold' | 'regular';
31
+ textDecorationType?: 'none' | 'line_through';
30
32
  };
31
- declare function TextLabel({ text, tooltipText, tooltipPosition, textAlign, styleTheme, colorOverride, colorTheme, singleLineMode, ellipsisMode, lineLimit, userSelectMode, customFontSize, customFontWeight }: TextLabelProps): JSX.Element;
33
+ declare function TextLabel({ text, tooltipText, tooltipPosition, textAlign, styleTheme, colorOverride, colorTheme, singleLineMode, ellipsisMode, lineLimit, userSelectMode, customFontSize, customFontWeight, textDecorationType }: TextLabelProps): JSX.Element;
32
34
  export default TextLabel;
@@ -28,12 +28,12 @@ var styled_components_1 = __importStar(require("styled-components"));
28
28
  var common_1 = require("../../../common");
29
29
  var hybrid_1 = require("../../../hybrid");
30
30
  function TextLabel(_a) {
31
- var text = _a.text, tooltipText = _a.tooltipText, _b = _a.tooltipPosition, tooltipPosition = _b === void 0 ? 'right_bottom' : _b, _c = _a.textAlign, textAlign = _c === void 0 ? 'left' : _c, _d = _a.styleTheme, styleTheme = _d === void 0 ? 'body2Bold' : _d, colorOverride = _a.colorOverride, _e = _a.colorTheme, colorTheme = _e === void 0 ? 'sysTextPrimary' : _e, _f = _a.singleLineMode, singleLineMode = _f === void 0 ? 'none' : _f, _g = _a.ellipsisMode, ellipsisMode = _g === void 0 ? 'none' : _g, lineLimit = _a.lineLimit, _h = _a.userSelectMode, userSelectMode = _h === void 0 ? 'none' : _h, customFontSize = _a.customFontSize, customFontWeight = _a.customFontWeight;
32
- var _j = (0, react_1.useState)(false), isTooltipOpen = _j[0], setIsTooltipOpen = _j[1];
31
+ var text = _a.text, tooltipText = _a.tooltipText, _b = _a.tooltipPosition, tooltipPosition = _b === void 0 ? 'right_bottom' : _b, _c = _a.textAlign, textAlign = _c === void 0 ? 'left' : _c, _d = _a.styleTheme, styleTheme = _d === void 0 ? 'body2Bold' : _d, colorOverride = _a.colorOverride, _e = _a.colorTheme, colorTheme = _e === void 0 ? 'sysTextPrimary' : _e, _f = _a.singleLineMode, singleLineMode = _f === void 0 ? 'none' : _f, _g = _a.ellipsisMode, ellipsisMode = _g === void 0 ? 'none' : _g, lineLimit = _a.lineLimit, _h = _a.userSelectMode, userSelectMode = _h === void 0 ? 'none' : _h, customFontSize = _a.customFontSize, customFontWeight = _a.customFontWeight, _j = _a.textDecorationType, textDecorationType = _j === void 0 ? 'none' : _j;
32
+ var _k = (0, react_1.useState)(false), isTooltipOpen = _k[0], setIsTooltipOpen = _k[1];
33
33
  var handleTooltipToggle = function (value) {
34
34
  setIsTooltipOpen(value);
35
35
  };
36
- return (react_1.default.createElement(S_TextLabel, { textAlign: textAlign, styleTheme: styleTheme, colorOverride: colorOverride, colorTheme: colorTheme, singleLineMode: singleLineMode, ellipsisMode: ellipsisMode, lineLimit: lineLimit, userSelectMode: userSelectMode, customFontSize: customFontSize, customFontWeight: customFontWeight },
36
+ return (react_1.default.createElement(S_TextLabel, { textAlign: textAlign, styleTheme: styleTheme, colorOverride: colorOverride, colorTheme: colorTheme, singleLineMode: singleLineMode, ellipsisMode: ellipsisMode, lineLimit: lineLimit, userSelectMode: userSelectMode, customFontSize: customFontSize, customFontWeight: customFontWeight, textDecorationType: textDecorationType },
37
37
  text,
38
38
  tooltipText && (react_1.default.createElement(S_TooltipBox, { styleTheme: styleTheme },
39
39
  react_1.default.createElement(S_IconWrapper, { onMouseEnter: function () { return handleTooltipToggle(true); }, onMouseLeave: function () { return handleTooltipToggle(false); } },
@@ -270,7 +270,7 @@ var tooltipLeftTop = (0, styled_components_1.css)(templateObject_32 || (template
270
270
  var tooltipLeftBottom = (0, styled_components_1.css)(templateObject_33 || (templateObject_33 = __makeTemplateObject(["\n right: 0;\n top: 20px;\n"], ["\n right: 0;\n top: 20px;\n"])));
271
271
  var tooltipRightTop = (0, styled_components_1.css)(templateObject_34 || (templateObject_34 = __makeTemplateObject(["\n left: 0;\n bottom: 20px;\n"], ["\n left: 0;\n bottom: 20px;\n"])));
272
272
  var tooltipRightBottom = (0, styled_components_1.css)(templateObject_35 || (templateObject_35 = __makeTemplateObject(["\n left: 0;\n top: 20px;\n"], ["\n left: 0;\n top: 20px;\n"])));
273
- var S_TextLabel = styled_components_1.default.div(templateObject_36 || (templateObject_36 = __makeTemplateObject(["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"], ["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (_a) {
273
+ var S_TextLabel = styled_components_1.default.div(templateObject_36 || (templateObject_36 = __makeTemplateObject(["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"], ["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (_a) {
274
274
  var textAlign = _a.textAlign;
275
275
  return textAlign;
276
276
  }, function (_a) {
@@ -327,6 +327,13 @@ var S_TextLabel = styled_components_1.default.div(templateObject_36 || (template
327
327
  }, function (_a) {
328
328
  var userSelectMode = _a.userSelectMode;
329
329
  return userSelectMode === 'none' && userSelectModeStyle;
330
+ }, function (_a) {
331
+ var textDecorationType = _a.textDecorationType;
332
+ return textDecorationType &&
333
+ {
334
+ none: '',
335
+ line_through: 'text-decoration: line-through;'
336
+ }[textDecorationType];
330
337
  });
331
338
  var S_TooltipBox = styled_components_1.default.div(templateObject_37 || (templateObject_37 = __makeTemplateObject(["\n display: inline-block;\n margin-left: ", ";\n position: relative;\n\n ", ";\n"], ["\n display: inline-block;\n margin-left: ", ";\n position: relative;\n\n ", ";\n"])), function (_a) {
332
339
  var theme = _a.theme;
@@ -1,12 +1,14 @@
1
1
  /// <reference types="react" />
2
- import { PDSTextType } from '../../../common';
2
+ import { PDSTabItemOption, PDSTextType } from '../../../common/types';
3
3
  declare type TextObj = {
4
4
  path: string;
5
5
  title: PDSTextType;
6
6
  };
7
- export declare type UserDesktopTabBarProps = {
8
- textArray: TextObj[];
7
+ declare type UserDesktopTabBarProps = {
8
+ itemArray?: PDSTabItemOption[];
9
9
  styleTheme?: 'main';
10
+ /** @deprecated v1.5 해당 필드 대신 itemArray를 사용하세요. */
11
+ textArray?: TextObj[];
10
12
  };
11
- declare function UserDesktopTabBar({ textArray, styleTheme }: UserDesktopTabBarProps): JSX.Element;
13
+ declare function UserDesktopTabBar({ itemArray, styleTheme, textArray }: UserDesktopTabBarProps): JSX.Element;
12
14
  export default UserDesktopTabBar;
@@ -31,21 +31,37 @@ var react_router_dom_1 = require("react-router-dom");
31
31
  var styled_components_1 = __importStar(require("styled-components"));
32
32
  var TextLabel_1 = require("../TextLabel");
33
33
  function UserDesktopTabBar(_a) {
34
- var textArray = _a.textArray, _b = _a.styleTheme, styleTheme = _b === void 0 ? 'main' : _b;
34
+ var itemArray = _a.itemArray, _b = _a.styleTheme, styleTheme = _b === void 0 ? 'main' : _b, textArray = _a.textArray;
35
35
  var history = (0, react_router_dom_1.useHistory)();
36
- var pathname = window.location.pathname;
37
- var handleClick = function (value) {
38
- if (value) {
39
- history.push(value.path);
40
- }
41
- };
42
- return (react_1.default.createElement(react_1.default.Fragment, null,
43
- react_1.default.createElement(S_TabBar, null, textArray.map(function (value) { return (react_1.default.createElement(S_TabWrapper, { key: value.path, styleTheme: styleTheme, isActive: pathname === value.path, onClick: function () {
44
- handleClick(value);
36
+ var pathname = (0, react_router_dom_1.useLocation)().pathname;
37
+ if (itemArray) {
38
+ var handleClickTabItem_1 = function (item) {
39
+ if (item.onClick) {
40
+ item.onClick();
41
+ }
42
+ };
43
+ return (react_1.default.createElement(S_TabBar, null, itemArray.map(function (item, index) { return (react_1.default.createElement(S_TabWrapper, { key: index, isActive: item.isActive, styleTheme: styleTheme, text: item.title, onClick: function () { return handleClickTabItem_1(item); } },
44
+ react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: item.isActive ? 'body2Bold' : 'body2Regular', colorTheme: item.isActive ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }))); })));
45
+ }
46
+ if (textArray) {
47
+ var handleClick_1 = function (value) {
48
+ if (value) {
49
+ history.push(value.path);
50
+ }
51
+ };
52
+ return (react_1.default.createElement(S_TabBar, null, textArray.map(function (item) { return (react_1.default.createElement(S_TabWrapper, { key: item.path, styleTheme: styleTheme, isActive: pathname === item.path, onClick: function () {
53
+ handleClick_1(item);
45
54
  } },
46
- react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, styleTheme: pathname === value.path ? 'body2Bold' : 'body2Regular', colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }))); }))));
55
+ react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, styleTheme: pathname === item.path ? 'body2Bold' : 'body2Regular', colorTheme: pathname === item.path ? 'usrTextBrandPrimary' : 'sysTextSecondary', singleLineMode: "use" }))); })));
56
+ }
57
+ return react_1.default.createElement(react_1.default.Fragment, null);
47
58
  }
48
- var S_TabWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
59
+ // NOTE: Tab item 활성화 text에 bold가 적용되는데, 이때 font-family에 따라 text 영역의 너비가 변경되어 시각적 변동을 일으키는 문제를 해결하기 위한 처리입니다.
60
+ var textOffset = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: block;\n content: ", ";\n height: 0;\n overflow: hidden;\n visibility: hidden;\n"], ["\n display: block;\n content: ", ";\n height: 0;\n overflow: hidden;\n visibility: hidden;\n"])), function (_a) {
61
+ var text = _a.text;
62
+ return "'" + text + "'";
63
+ });
64
+ var S_TabWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"], ["\n ", "\n\n & > div::before {\n font-weight: ", ";\n ", "\n }\n\n & > div::after {\n font-weight: ", ";\n ", "\n }\n"])), function (_a) {
49
65
  var styleTheme = _a.styleTheme;
50
66
  switch (styleTheme) {
51
67
  case 'main':
@@ -53,8 +69,14 @@ var S_TabWrapper = styled_components_1.default.div(templateObject_1 || (template
53
69
  default:
54
70
  return mainStyle;
55
71
  }
56
- });
57
- var mainStyle = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n background-color: ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"], ["\n align-items: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n background-color: ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"])), function (_a) {
72
+ }, function (_a) {
73
+ var theme = _a.theme;
74
+ return theme.fontWeight.normal;
75
+ }, textOffset, function (_a) {
76
+ var theme = _a.theme;
77
+ return theme.fontWeight.bold;
78
+ }, textOffset);
79
+ var mainStyle = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n align-items: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n background-color: ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"], ["\n align-items: center;\n cursor: pointer;\n display: flex;\n margin-right: ", ";\n position: relative;\n background-color: ", ";\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"])), function (_a) {
58
80
  var theme = _a.theme;
59
81
  return theme.spacing.spacingE;
60
82
  }, function (_a) {
@@ -67,7 +89,7 @@ var mainStyle = (0, styled_components_1.css)(templateObject_2 || (templateObject
67
89
  var isActive = _a.isActive;
68
90
  return !isActive && "display: none;";
69
91
  });
70
- var S_TabBar = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n height: 48px;\n justify-content: center;\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n height: 48px;\n justify-content: center;\n"])), function (_a) {
92
+ var S_TabBar = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n height: 48px;\n justify-content: center;\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: row;\n height: 48px;\n justify-content: center;\n"])), function (_a) {
71
93
  var theme = _a.theme;
72
94
  return theme.ui_cpnt_tabbar_base_area;
73
95
  }, function (_a) {
@@ -75,4 +97,4 @@ var S_TabBar = styled_components_1.default.div(templateObject_3 || (templateObje
75
97
  return theme.ui_cpnt_divider;
76
98
  });
77
99
  exports.default = UserDesktopTabBar;
78
- var templateObject_1, templateObject_2, templateObject_3;
100
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -2,11 +2,12 @@ import React from 'react';
2
2
  import { PDSTextType } from '../../../common';
3
3
  declare type MobileBasicModalProps = {
4
4
  titleText: PDSTextType;
5
+ bodySpacingMode?: 'none' | 'use';
5
6
  contentText?: PDSTextType;
6
7
  mBtnText?: PDSTextType;
7
8
  onClickMBtn?: () => void;
8
9
  onClickXMarkIcon?: () => void;
9
10
  children?: React.ReactNode;
10
11
  };
11
- declare function MobileBasicModal({ titleText, contentText, mBtnText, onClickMBtn, onClickXMarkIcon, children }: MobileBasicModalProps): React.ReactPortal;
12
+ declare function MobileBasicModal({ titleText, bodySpacingMode, contentText, mBtnText, onClickMBtn, onClickXMarkIcon, children }: MobileBasicModalProps): React.ReactPortal;
12
13
  export default MobileBasicModal;
@@ -28,12 +28,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  var react_1 = __importStar(require("react"));
30
30
  var react_dom_1 = __importDefault(require("react-dom"));
31
- var styled_components_1 = __importDefault(require("styled-components"));
31
+ var styled_components_1 = __importStar(require("styled-components"));
32
32
  var IconButton_1 = require("../IconButton");
33
33
  var MainButton_1 = require("../MainButton");
34
34
  var TextLabel_1 = require("../TextLabel");
35
35
  function MobileBasicModal(_a) {
36
- var titleText = _a.titleText, contentText = _a.contentText, mBtnText = _a.mBtnText, onClickMBtn = _a.onClickMBtn, onClickXMarkIcon = _a.onClickXMarkIcon, children = _a.children;
36
+ var titleText = _a.titleText, _b = _a.bodySpacingMode, bodySpacingMode = _b === void 0 ? 'use' : _b, contentText = _a.contentText, mBtnText = _a.mBtnText, onClickMBtn = _a.onClickMBtn, onClickXMarkIcon = _a.onClickXMarkIcon, children = _a.children;
37
37
  var container = (0, react_1.useState)(function () {
38
38
  var modalRoot = document.createElement('div');
39
39
  modalRoot.setAttribute('id', 'MobileBasicModal');
@@ -56,7 +56,7 @@ function MobileBasicModal(_a) {
56
56
  react_1.default.createElement(S_TitleWrapper, null,
57
57
  react_1.default.createElement(TextLabel_1.TextLabel, { text: titleText, colorTheme: "sysTextPrimary", styleTheme: "headingBold" })),
58
58
  react_1.default.createElement(IconButton_1.IconButton, { fillType: "fill", baseSize: "large", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconSize: 24, shapeType: "rectangle", iconName: "ic_xmark", iconColorKey: "ui_cpnt_modal_header_icon_02", iconFillType: "line", onClick: onClickXMarkIcon })),
59
- react_1.default.createElement(S_Body, null,
59
+ react_1.default.createElement(S_Body, { bodySpacingMode: bodySpacingMode },
60
60
  contentText && (react_1.default.createElement(TextLabel_1.TextLabel, { text: contentText, colorTheme: "sysTextSecondary", styleTheme: "subTitleRegular" })),
61
61
  children && children),
62
62
  react_1.default.createElement(S_Footer, null, mBtnText && react_1.default.createElement(MainButton_1.MainButton, { text: mBtnText, size: "rlarge", onClick: onClickMBtn })))), container);
@@ -65,7 +65,7 @@ var S_ModalOverlay = styled_components_1.default.div(templateObject_1 || (templa
65
65
  var theme = _a.theme;
66
66
  return theme.ui_cpnt_modal_dimmed;
67
67
  });
68
- var S_ModalWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n box-shadow: ", ";\n position: fixed;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n max-height: 720px;\n width: calc(100% - 48px);\n max-width: 560px;\n"], ["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n box-shadow: ", ";\n position: fixed;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n\n max-height: 720px;\n width: calc(100% - 48px);\n max-width: 560px;\n"])), function (_a) {
68
+ var S_ModalWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n box-shadow: ", ";\n left: 50%;\n max-height: 720px;\n max-width: 560px;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: calc(100% - 48px);\n"], ["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 8px;\n box-shadow: ", ";\n left: 50%;\n max-height: 720px;\n max-width: 560px;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: calc(100% - 48px);\n"])), function (_a) {
69
69
  var theme = _a.theme;
70
70
  return theme.ui_cpnt_modal_base;
71
71
  }, function (_a) {
@@ -75,13 +75,13 @@ var S_ModalWrapper = styled_components_1.default.div(templateObject_2 || (templa
75
75
  var theme = _a.theme;
76
76
  return theme.boxShadow.elevation4;
77
77
  });
78
- var S_Header = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding-bottom: ", ";\n display: flex;\n justify-content: space-between;\n"], ["\n padding-bottom: ", ";\n display: flex;\n justify-content: space-between;\n"])), function (_a) {
78
+ var S_Header = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n"])), function (_a) {
79
79
  var theme = _a.theme;
80
80
  return theme.spacing.spacingC;
81
81
  });
82
- var S_Body = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding-top: ", ";\n margin-right: ", ";\n margin-left: ", ";\n margin-bottom: ", ";\n overflow-y: scroll;\n max-height: 480px;\n"], ["\n padding-top: ", ";\n margin-right: ", ";\n margin-left: ", ";\n margin-bottom: ", ";\n overflow-y: scroll;\n max-height: 480px;\n"])), function (_a) {
82
+ var S_Body = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n max-height: 480px;\n overflow-y: scroll;\n padding-top: ", ";\n\n ", "\n"], ["\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n max-height: 480px;\n overflow-y: scroll;\n padding-top: ", ";\n\n ", "\n"])), function (_a) {
83
83
  var theme = _a.theme;
84
- return theme.spacing.spacingC;
84
+ return theme.spacing.spacingE;
85
85
  }, function (_a) {
86
86
  var theme = _a.theme;
87
87
  return theme.spacing.spacingE;
@@ -90,11 +90,14 @@ var S_Body = styled_components_1.default.div(templateObject_4 || (templateObject
90
90
  return theme.spacing.spacingE;
91
91
  }, function (_a) {
92
92
  var theme = _a.theme;
93
- return theme.spacing.spacingE;
93
+ return theme.spacing.spacingC;
94
+ }, function (_a) {
95
+ var bodySpacingMode = _a.bodySpacingMode;
96
+ return bodySpacingMode === 'none' && (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n "], ["\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n "])));
94
97
  });
95
- var S_Footer = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n padding-top: ", ";\n margin-right: ", ";\n margin-left: ", ";\n margin-bottom: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n padding-top: ", ";\n margin-right: ", ";\n margin-left: ", ";\n margin-bottom: ", ";\n"])), function (_a) {
98
+ var S_Footer = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding-top: ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n margin-bottom: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
96
99
  var theme = _a.theme;
97
- return theme.spacing.spacingD;
100
+ return theme.spacing.spacingE;
98
101
  }, function (_a) {
99
102
  var theme = _a.theme;
100
103
  return theme.spacing.spacingE;
@@ -103,17 +106,17 @@ var S_Footer = styled_components_1.default.div(templateObject_5 || (templateObje
103
106
  return theme.spacing.spacingE;
104
107
  }, function (_a) {
105
108
  var theme = _a.theme;
106
- return theme.spacing.spacingE;
109
+ return theme.spacing.spacingD;
107
110
  });
108
- var S_TitleWrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-right: ", ";\n margin-top: ", ";\n margin-left: ", ";\n"], ["\n margin-right: ", ";\n margin-top: ", ";\n margin-left: ", ";\n"])), function (_a) {
111
+ var S_TitleWrapper = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n"], ["\n margin-left: ", ";\n margin-right: ", ";\n margin-top: ", ";\n"])), function (_a) {
109
112
  var theme = _a.theme;
110
- return theme.spacing.spacingB;
113
+ return theme.spacing.spacingE;
111
114
  }, function (_a) {
112
115
  var theme = _a.theme;
113
- return theme.spacing.spacingE;
116
+ return theme.spacing.spacingB;
114
117
  }, function (_a) {
115
118
  var theme = _a.theme;
116
119
  return theme.spacing.spacingE;
117
120
  });
118
121
  exports.default = MobileBasicModal;
119
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
122
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
@@ -1,11 +1,13 @@
1
1
  /// <reference types="react" />
2
- import { PDSTextType } from '../../../common';
2
+ import { PDSTabItemOption, PDSTextType } from '../../../common/types';
3
3
  declare type TextObj = {
4
4
  path: string;
5
5
  title: PDSTextType;
6
6
  };
7
- export declare type MobileTabBarProps = {
8
- textArray: TextObj[];
7
+ declare type MobileTabBarProps = {
8
+ itemArray?: PDSTabItemOption[];
9
+ /** @deprecated v1.5 해당 필드 대신 itemArray를 사용하세요. */
10
+ textArray?: TextObj[];
9
11
  };
10
- declare function MobileTabBar({ textArray }: MobileTabBarProps): JSX.Element;
12
+ declare function MobileTabBar({ itemArray, textArray }: MobileTabBarProps): JSX.Element;
11
13
  export default MobileTabBar;
@@ -12,19 +12,28 @@ var react_router_dom_1 = require("react-router-dom");
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
13
  var TextLabel_1 = require("../TextLabel");
14
14
  function MobileTabBar(_a) {
15
- var textArray = _a.textArray;
15
+ var itemArray = _a.itemArray, textArray = _a.textArray;
16
16
  var history = (0, react_router_dom_1.useHistory)();
17
- var pathname = window.location.pathname;
18
- var handleClick = function (value) {
19
- if (value) {
20
- history.push(value.path);
21
- }
22
- };
23
- return (react_1.default.createElement(react_1.default.Fragment, null,
24
- react_1.default.createElement(S_TabBar, null, textArray.map(function (value) { return (react_1.default.createElement(S_TabWrapper, { key: value.path, isActive: pathname === value.path, onClick: function () {
25
- handleClick(value);
26
- } },
27
- react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, styleTheme: "body2Bold", colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextTertiary', singleLineMode: "use" }))); }))));
17
+ var pathname = (0, react_router_dom_1.useLocation)().pathname;
18
+ if (itemArray) {
19
+ var handleClickTabItem_1 = function (item) {
20
+ if (item.onClick) {
21
+ item.onClick();
22
+ }
23
+ };
24
+ return (react_1.default.createElement(S_TabBar, null, itemArray.map(function (item, index) { return (react_1.default.createElement(S_TabWrapper, { key: index, isActive: item.isActive, onClick: function () { return handleClickTabItem_1(item); } },
25
+ react_1.default.createElement(TextLabel_1.TextLabel, { text: item.title, textAlign: "center", styleTheme: "body2Bold", colorTheme: item.isActive ? 'usrTextBrandPrimary' : 'sysTextTertiary', singleLineMode: "use" }))); })));
26
+ }
27
+ if (textArray) {
28
+ var handleClick_1 = function (value) {
29
+ if (value) {
30
+ history.push(value.path);
31
+ }
32
+ };
33
+ return (react_1.default.createElement(S_TabBar, null, textArray.map(function (value) { return (react_1.default.createElement(S_TabWrapper, { key: value.path, isActive: pathname === value.path, onClick: function () { return handleClick_1(value); } },
34
+ react_1.default.createElement(TextLabel_1.TextLabel, { text: value.title, textAlign: "center", styleTheme: "body2Bold", colorTheme: pathname === value.path ? 'usrTextBrandPrimary' : 'sysTextTertiary', singleLineMode: "use" }))); })));
35
+ }
36
+ return react_1.default.createElement(react_1.default.Fragment, null);
28
37
  }
29
38
  var S_TabWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n position: relative;\n background-color: ", ";\n padding: 0 ", ";\n flex: 1;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"], ["\n align-items: center;\n justify-content: center;\n cursor: pointer;\n display: flex;\n position: relative;\n background-color: ", ";\n padding: 0 ", ";\n flex: 1;\n\n &:last-child {\n margin-right: 0;\n }\n\n &::after {\n background-color: ", ";\n bottom: -1px;\n content: '';\n height: 2px;\n position: absolute;\n width: 100%;\n ", ";\n }\n"])), function (_a) {
30
39
  var isActive = _a.isActive, theme = _a.theme;
@@ -12,6 +12,7 @@ export declare type TextLabelProps = {
12
12
  userSelectMode?: 'none' | 'use';
13
13
  customFontSize?: string;
14
14
  customFontWeight?: 'bold' | 'regular';
15
+ textDecorationType?: 'none' | 'line_through';
15
16
  };
16
17
  export declare type TextStyleProps = {
17
18
  textAlign?: 'left' | 'center' | 'right';
@@ -24,6 +25,7 @@ export declare type TextStyleProps = {
24
25
  userSelectMode?: 'none' | 'use';
25
26
  customFontSize?: string;
26
27
  customFontWeight?: 'bold' | 'regular';
28
+ textDecorationType?: 'none' | 'line_through';
27
29
  };
28
- declare function TextLabel({ text, textAlign, styleTheme, colorOverride, colorTheme, singleLineMode, ellipsisMode, lineLimit, userSelectMode, customFontSize, customFontWeight }: TextLabelProps): JSX.Element;
30
+ declare function TextLabel({ text, textAlign, styleTheme, colorOverride, colorTheme, singleLineMode, ellipsisMode, lineLimit, userSelectMode, customFontSize, customFontWeight, textDecorationType }: TextLabelProps): JSX.Element;
29
31
  export default TextLabel;
@@ -30,8 +30,8 @@ var react_1 = __importDefault(require("react"));
30
30
  var styled_components_1 = __importStar(require("styled-components"));
31
31
  var common_1 = require("../../../common");
32
32
  function TextLabel(_a) {
33
- var text = _a.text, _b = _a.textAlign, textAlign = _b === void 0 ? 'left' : _b, _c = _a.styleTheme, styleTheme = _c === void 0 ? 'body2Bold' : _c, colorOverride = _a.colorOverride, _d = _a.colorTheme, colorTheme = _d === void 0 ? 'sysTextPrimary' : _d, _e = _a.singleLineMode, singleLineMode = _e === void 0 ? 'none' : _e, _f = _a.ellipsisMode, ellipsisMode = _f === void 0 ? 'none' : _f, lineLimit = _a.lineLimit, _g = _a.userSelectMode, userSelectMode = _g === void 0 ? 'none' : _g, customFontSize = _a.customFontSize, customFontWeight = _a.customFontWeight;
34
- return (react_1.default.createElement(S_TextLabel, { textAlign: textAlign, styleTheme: styleTheme, colorOverride: colorOverride, colorTheme: colorTheme, singleLineMode: singleLineMode, ellipsisMode: ellipsisMode, lineLimit: lineLimit, userSelectMode: userSelectMode, customFontSize: customFontSize, customFontWeight: customFontWeight }, text));
33
+ var text = _a.text, _b = _a.textAlign, textAlign = _b === void 0 ? 'left' : _b, _c = _a.styleTheme, styleTheme = _c === void 0 ? 'body2Bold' : _c, colorOverride = _a.colorOverride, _d = _a.colorTheme, colorTheme = _d === void 0 ? 'sysTextPrimary' : _d, _e = _a.singleLineMode, singleLineMode = _e === void 0 ? 'none' : _e, _f = _a.ellipsisMode, ellipsisMode = _f === void 0 ? 'none' : _f, lineLimit = _a.lineLimit, _g = _a.userSelectMode, userSelectMode = _g === void 0 ? 'none' : _g, customFontSize = _a.customFontSize, customFontWeight = _a.customFontWeight, _h = _a.textDecorationType, textDecorationType = _h === void 0 ? 'none' : _h;
34
+ return (react_1.default.createElement(S_TextLabel, { textAlign: textAlign, styleTheme: styleTheme, colorOverride: colorOverride, colorTheme: colorTheme, singleLineMode: singleLineMode, ellipsisMode: ellipsisMode, lineLimit: lineLimit, userSelectMode: userSelectMode, customFontSize: customFontSize, customFontWeight: customFontWeight, textDecorationType: textDecorationType }, text));
35
35
  }
36
36
  var displayBold = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n"], ["\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n"])), function (_a) {
37
37
  var theme = _a.theme;
@@ -259,7 +259,7 @@ var ellipsisStyle = (0, styled_components_1.css)(templateObject_30 || (templateO
259
259
  return lineLimit;
260
260
  });
261
261
  var userSelectModeStyle = (0, styled_components_1.css)(templateObject_31 || (templateObject_31 = __makeTemplateObject(["\n -ms-user-select: none;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n"], ["\n -ms-user-select: none;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n user-select: none;\n"])));
262
- var S_TextLabel = styled_components_1.default.div(templateObject_32 || (templateObject_32 = __makeTemplateObject(["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"], ["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (_a) {
262
+ var S_TextLabel = styled_components_1.default.div(templateObject_32 || (templateObject_32 = __makeTemplateObject(["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"], ["\n box-sizing: border-box;\n text-align: ", ";\n white-space: pre-wrap;\n word-break: keep-all;\n overflow-wrap: break-word;\n hyphens: auto;\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n\n ", ";\n"])), function (_a) {
263
263
  var textAlign = _a.textAlign;
264
264
  return textAlign;
265
265
  }, function (_a) {
@@ -316,6 +316,13 @@ var S_TextLabel = styled_components_1.default.div(templateObject_32 || (template
316
316
  }, function (_a) {
317
317
  var userSelectMode = _a.userSelectMode;
318
318
  return userSelectMode === 'none' && userSelectModeStyle;
319
+ }, function (_a) {
320
+ var textDecorationType = _a.textDecorationType;
321
+ return textDecorationType &&
322
+ {
323
+ none: '',
324
+ line_through: 'text-decoration: line-through;'
325
+ }[textDecorationType];
319
326
  });
320
327
  exports.default = TextLabel;
321
328
  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, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26, templateObject_27, templateObject_28, templateObject_29, templateObject_30, templateObject_31, templateObject_32;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "1.3.9",
3
+ "version": "1.3.12",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,24 +1,20 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v1.3.9]
2
+ ## [v1.3.12]
3
3
 
4
4
  ### Component
5
- * AdminList
6
- * selectionMode의 value변경 (‘none’ | ‘use’ 에서 'none' | ‘single’ | 'multi'로 변경)
7
- * 전체선택 체크박스를 해제할 시 maintain 되어야 하는 아이템의 체크박스를 유지하게 수정
8
- * quickActionBtnType이 ‘fix’ 일 경우 퀵 액션 버튼이 호버했을 시에만 버튼이 보여지게 수정
9
- * Dropdown
10
- * selectMode?: 'one' | 'multi'; -> selectionMode?: 'single' | 'multi’;로 변경 (문구의 통일성 위해)
11
- * DesktopBasicModal
12
- * prop추가
13
- * mBtn1Type
14
- * mBtn2Type
15
- * mBtn3Type
16
5
  * Icon
17
- * line icon value추가
18
- * ic_folder
19
- * ic_download
20
- * ic_arrow_left_thin
21
- * ic_arrow_right_thin
6
+ * ic_requirement(line) 추가
7
+ * ic_question(fill) 추가
8
+ * TextLabel
9
+ * textDecorationType prop 추가
10
+ * DesktopTabBar
11
+ * itemArray prop 추가 (onClick과 isActive를 통해 TabBar를 핸들링 할 수 있습니다.)
12
+ * 텍스트 중심 안맞고, 시각적 변동이 일어나던 부분 수정
13
+ * UserDesktopTabBar
14
+ * itemArray prop 추가 (onClick과 isActive를 통해 TabBar를 핸들링 할 수 있습니다.)
15
+ * 텍스트 중심 안맞고, 시각적 변동이 일어나던 부분 수정
16
+ * MobileTabBar
17
+ * itemArray prop 추가 (onClick과 isActive를 통해 TabBar를 핸들링 할 수 있습니다.)
22
18
 
23
19
  ### Color
24
- * 컬러 키 값 22.04.28 2143분 기준 싱크
20
+ * 컬러 키 값 22.05.10 1410분 기준 싱크