pds-dev-kit-web 2.2.211 → 2.2.212

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 (28) hide show
  1. package/dist/src/common/services/i18n/resources/en.json +14 -14
  2. package/dist/src/common/styles/scroll/scrollbarStyle.d.ts +2 -0
  3. package/dist/src/common/styles/scroll/scrollbarStyle.js +4 -3
  4. package/dist/src/desktop/components/Calendar/Calendar.js +46 -51
  5. package/dist/src/desktop/components/Calendar/CalendarContext.d.ts +3 -1
  6. package/dist/src/desktop/components/Calendar/CalendarContext.js +2 -1
  7. package/dist/src/desktop/components/Calendar/DailyView.d.ts +8 -2
  8. package/dist/src/desktop/components/Calendar/DailyView.js +88 -7
  9. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +2 -1
  10. package/dist/src/desktop/components/Calendar/MonthlyView.js +81 -6
  11. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +3 -0
  12. package/dist/src/desktop/components/Calendar/WeeklyView.js +113 -7
  13. package/dist/src/desktop/components/Calendar/calendarUtils.js +20 -10
  14. package/dist/src/desktop/components/Calendar/types.d.ts +8 -4
  15. package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.d.ts +2 -1
  16. package/dist/src/desktop/panels/DesktopBasicModal/DesktopBasicModal.js +13 -15
  17. package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.d.ts +3 -1
  18. package/dist/src/desktop/panels/DesktopBasicModalWithTab/DesktopBasicModalWithTab.js +16 -10
  19. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +2 -1
  20. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.js +7 -27
  21. package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.d.ts +3 -1
  22. package/dist/src/desktop/panels/DesktopTutorialModal/DesktopTutorialModal.js +11 -5
  23. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.d.ts +3 -1
  24. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.js +11 -4
  25. package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.d.ts +3 -1
  26. package/dist/src/mobile/panels/MobileBasicModal/MobileBasicModal.js +13 -6
  27. package/package.json +1 -1
  28. package/release-note.md +3 -2
@@ -51,10 +51,12 @@ var CurrentTimeIndicator_1 = require("./CurrentTimeIndicator");
51
51
  var TimeBasedScheduleItem_1 = require("./TimeBasedScheduleItem");
52
52
  var timeFormatUtils_1 = require("./timeFormatUtils");
53
53
  var WeeklyView = function (_a) {
54
- var startOfWeek = _a.startOfWeek;
54
+ var startOfWeek = _a.startOfWeek, schedules = _a.schedules, config = _a.config;
55
55
  var _b = (0, react_i18next_1.useTranslation)(), t = _b.t, i18n = _b.i18n;
56
- var _c = (0, CalendarContext_1.useCalendarContext)(), selectedDate = _c.selectedDate, selectedSchedules = _c.selectedSchedules, displayAllDayScheduleMode = _c.displayAllDayScheduleMode, getSchedulesForDate = _c.getSchedulesForDate, isToday = _c.isToday, isDragOverDate = _c.isDragOverDate, handleDateDragOver = _c.handleDateDragOver, handleDateDragLeave = _c.handleDateDragLeave, handleDateDrop = _c.handleDateDrop, handleDateClick = _c.handleDateClick, handleScheduleDragStart = _c.handleScheduleDragStart, handleScheduleDragEnd = _c.handleScheduleDragEnd, isDraggable = _c.isDraggable, handleScheduleClick = _c.handleScheduleClick, getDayTextByDate = _c.getDayTextByDate;
57
- // Generate calendar dates for weekly view
56
+ var _c = (0, CalendarContext_1.useCalendarContext)(), selectedDate = _c.selectedDate, selectedSchedules = _c.selectedSchedules, displayAllDayScheduleMode = _c.displayAllDayScheduleMode, getSchedulesForDate = _c.getSchedulesForDate, isToday = _c.isToday, isDragOverDate = _c.isDragOverDate, handleDateDragOver = _c.handleDateDragOver, handleDateDragLeave = _c.handleDateDragLeave, handleDateDrop = _c.handleDateDrop, handleDateClick = _c.handleDateClick, handleDateDrag = _c.handleDateDrag, handleScheduleDragStart = _c.handleScheduleDragStart, handleScheduleDragEnd = _c.handleScheduleDragEnd, isDraggable = _c.isDraggable, handleScheduleClick = _c.handleScheduleClick, getDayTextByDate = _c.getDayTextByDate;
57
+ var _d = (0, react_1.useState)(null), timeSelectionStart = _d[0], setTimeSelectionStart = _d[1];
58
+ var _e = (0, react_1.useState)(null), timeSelectionEnd = _e[0], setTimeSelectionEnd = _e[1];
59
+ var _f = (0, react_1.useState)(false), isTimeDragging = _f[0], setIsTimeDragging = _f[1];
58
60
  var calendarDates = (0, react_1.useMemo)(function () {
59
61
  var dates = [];
60
62
  var startIndex = startOfWeek === 'monday' ? 1 : 0;
@@ -65,10 +67,108 @@ var WeeklyView = function (_a) {
65
67
  }
66
68
  return dates;
67
69
  }, [selectedDate, startOfWeek]);
70
+ // 시간 드래그 시작
71
+ var handleTimeMouseDown = (0, react_1.useCallback)(function (date, hour, e) {
72
+ var _a;
73
+ if (!((_a = config === null || config === void 0 ? void 0 : config.DATE) === null || _a === void 0 ? void 0 : _a.DRAG))
74
+ return;
75
+ e.preventDefault();
76
+ var selection = { date: date, hour: hour };
77
+ setTimeSelectionStart(selection);
78
+ setTimeSelectionEnd(selection);
79
+ setIsTimeDragging(true);
80
+ }, [config]);
81
+ // 시간 드래그 중
82
+ var handleTimeMouseEnter = (0, react_1.useCallback)(function (date, hour) {
83
+ if (!isTimeDragging)
84
+ return;
85
+ setTimeSelectionEnd({ date: date, hour: hour });
86
+ }, [isTimeDragging]);
87
+ // 드래그 종료 시 콜백 호출
88
+ (0, react_1.useEffect)(function () {
89
+ var handleMouseUp = function () {
90
+ var _a;
91
+ if (isTimeDragging && timeSelectionStart && timeSelectionEnd && ((_a = config === null || config === void 0 ? void 0 : config.DATE) === null || _a === void 0 ? void 0 : _a.DRAG)) {
92
+ // 선택된 시간 범위 계산
93
+ var startDateTime = new Date(timeSelectionStart.date);
94
+ startDateTime.setHours(timeSelectionStart.hour, 0, 0, 0);
95
+ var endDateTime = new Date(timeSelectionEnd.date);
96
+ endDateTime.setHours(timeSelectionEnd.hour, 59, 59, 999);
97
+ // 실제 시작/종료 시간 (순서 보정)
98
+ var actualStartTime_1 = new Date(Math.min(startDateTime.getTime(), endDateTime.getTime()));
99
+ var actualEndTime_1 = new Date(Math.max(startDateTime.getTime(), endDateTime.getTime()));
100
+ // 선택된 시간 범위에 포함되는 스케줄들 찾기
101
+ var schedulesInRange_1 = [];
102
+ schedules.forEach(function (schedule) {
103
+ var scheduleStart = new Date(schedule.startDate);
104
+ var scheduleEnd = new Date(schedule.endDate);
105
+ // 스케줄이 선택된 시간 범위와 겹치는지 확인
106
+ if (scheduleStart <= actualEndTime_1 && scheduleEnd >= actualStartTime_1) {
107
+ schedulesInRange_1.push(schedule);
108
+ }
109
+ });
110
+ // 선택된 날짜들 생성 (시간 범위에 포함된 모든 날짜)
111
+ var selectedDates = [];
112
+ var currentDate = new Date(actualStartTime_1);
113
+ currentDate.setHours(0, 0, 0, 0);
114
+ var endDate = new Date(actualEndTime_1);
115
+ endDate.setHours(0, 0, 0, 0);
116
+ while (currentDate <= endDate) {
117
+ selectedDates.push(new Date(currentDate));
118
+ currentDate.setDate(currentDate.getDate() + 1);
119
+ }
120
+ handleDateDrag({
121
+ action: 'DRAG',
122
+ target: 'DATE',
123
+ dates: selectedDates,
124
+ schedules: schedulesInRange_1,
125
+ startDate: actualStartTime_1.toISOString(),
126
+ endDate: actualEndTime_1.toISOString()
127
+ });
128
+ }
129
+ setIsTimeDragging(false);
130
+ setTimeSelectionStart(null);
131
+ setTimeSelectionEnd(null);
132
+ };
133
+ if (isTimeDragging) {
134
+ document.addEventListener('mouseup', handleMouseUp);
135
+ return function () { return document.removeEventListener('mouseup', handleMouseUp); };
136
+ }
137
+ }, [isTimeDragging, timeSelectionStart, timeSelectionEnd, config, schedules]);
138
+ // 선택한 시간이 드래그 범위에 포함되는지 확인
139
+ var isTimeSlotInDragRange = (0, react_1.useCallback)(function (date, hour) {
140
+ if (!timeSelectionStart || !timeSelectionEnd)
141
+ return false;
142
+ var slotDateTime = new Date(date);
143
+ slotDateTime.setHours(hour, 0, 0, 0);
144
+ var startDateTime = new Date(timeSelectionStart.date);
145
+ startDateTime.setHours(timeSelectionStart.hour, 0, 0, 0);
146
+ var endDateTime = new Date(timeSelectionEnd.date);
147
+ endDateTime.setHours(timeSelectionEnd.hour, 0, 0, 0);
148
+ var actualStartTime = Math.min(startDateTime.getTime(), endDateTime.getTime());
149
+ var actualEndTime = Math.max(startDateTime.getTime(), endDateTime.getTime());
150
+ return slotDateTime.getTime() >= actualStartTime && slotDateTime.getTime() <= actualEndTime;
151
+ }, [timeSelectionStart, timeSelectionEnd]);
68
152
  return ((0, jsx_runtime_1.jsxs)(S_WeeklyContainer, { children: [(0, jsx_runtime_1.jsxs)(S_WeeklyHeader, { children: [(0, jsx_runtime_1.jsx)(S_TimeColumnHeader, {}), calendarDates.map(function (date, index) {
69
153
  var dayText = getDayTextByDate(date);
154
+ var monthNames = [
155
+ 'Jan',
156
+ 'Feb',
157
+ 'Mar',
158
+ 'Apr',
159
+ 'May',
160
+ 'Jun',
161
+ 'Jul',
162
+ 'Aug',
163
+ 'Sep',
164
+ 'Oct',
165
+ 'Nov',
166
+ 'Dec'
167
+ ];
168
+ var isEnglish = i18n.language === 'en'; // i18n 인스턴스에서 현재 언어 확인
169
+ var monthText = isEnglish ? monthNames[date.getMonth()] : date.getMonth() + 1;
70
170
  var dateText = t('str_calendar_weekly_date', {
71
- month: date.getMonth() + 1,
171
+ month: monthText,
72
172
  date: date.getDate(),
73
173
  day: dayText
74
174
  });
@@ -77,7 +177,7 @@ var WeeklyView = function (_a) {
77
177
  var timeSlotDate = new Date(date);
78
178
  timeSlotDate.setHours(hour, 0, 0, 0);
79
179
  var isDragOver = (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.getTime()) === timeSlotDate.getTime();
80
- return ((0, jsx_runtime_1.jsx)(S_TimeSlot, __assign({ "$isDragOver": isDragOver, "$isDraggable": isDraggable, onClick: function () { return handleDateClick(date, {}); }, onDragOver: function (e) { return handleDateDragOver(timeSlotDate, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(timeSlotDate, e); } }, { children: hour === 0 && ((0, jsx_runtime_1.jsx)(TimeBasedScheduleItem_1.TimeBasedScheduleItem, { schedules: getSchedulesForDate(date), selectedSchedules: selectedSchedules, isDraggable: isDraggable, onClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })) }), dayIndex));
180
+ return ((0, jsx_runtime_1.jsx)(S_TimeSlot, __assign({ "$isDragOver": isDragOver, "$isDraggable": isDraggable, "$isInTimeDragRange": isTimeSlotInDragRange(date, hour), "$isTimeDragging": isTimeDragging, onClick: function () { return handleDateClick(date, {}); }, onDragOver: function (e) { return handleDateDragOver(timeSlotDate, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(timeSlotDate, e); }, onMouseDown: function (e) { return handleTimeMouseDown(date, hour, e); }, onMouseEnter: function () { return handleTimeMouseEnter(date, hour); } }, { children: hour === 0 && ((0, jsx_runtime_1.jsx)(TimeBasedScheduleItem_1.TimeBasedScheduleItem, { schedules: getSchedulesForDate(date), selectedSchedules: selectedSchedules, isDraggable: isDraggable, onClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })) }), dayIndex));
81
181
  }) })] }, hour)); })] }))] }));
82
182
  };
83
183
  exports.WeeklyView = WeeklyView;
@@ -101,13 +201,19 @@ var S_TimeLabel = styled_components_1.default.div(templateObject_8 || (templateO
101
201
  return theme.ui_cpnt_divider;
102
202
  });
103
203
  var S_TimeSlots = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
104
- var S_TimeSlot = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: default;\n min-width: 0;\n overflow: visible;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"], ["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: default;\n min-width: 0;\n overflow: visible;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"])), function (props) { return (props.$isDragOver ? props.theme.ui_cpnt_sheet_base : 'transparent'); }, function (_a) {
204
+ var S_TimeSlot = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: ", ";\n min-width: 0;\n overflow: visible;\n position: relative;\n user-select: ", ";\n\n &:hover {\n background: ", ";\n }\n"], ["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: ", ";\n min-width: 0;\n overflow: visible;\n position: relative;\n user-select: ", ";\n\n &:hover {\n background: ", ";\n }\n"])), function (props) {
205
+ if (props.$isInTimeDragRange)
206
+ return props.theme.ui_cpnt_sheet_base;
207
+ if (props.$isDragOver)
208
+ return props.theme.ui_cpnt_sheet_base;
209
+ return 'transparent';
210
+ }, function (_a) {
105
211
  var theme = _a.theme;
106
212
  return theme.ui_cpnt_divider;
107
213
  }, function (_a) {
108
214
  var theme = _a.theme;
109
215
  return theme.ui_cpnt_divider;
110
- }, function (_a) {
216
+ }, function (props) { return (props.$isTimeDragging ? 'grabbing' : 'default'); }, function (props) { return (props.$isTimeDragging ? 'none' : 'auto'); }, function (_a) {
111
217
  var theme = _a.theme;
112
218
  return theme.ui_cpnt_sheet_base;
113
219
  });
@@ -1,7 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.toUTC = exports.getHeaderText = exports.calculateDateRange = exports.calculateIsAllDay = void 0;
7
+ var i18n_1 = __importDefault(require("../../../common/services/i18n"));
4
8
  var dateHelper_1 = require("../../../common/utils/dateHelper");
9
+ var constants_1 = require("./constants");
5
10
  /**
6
11
  * 일정이 종일 일정인지 확인하는 함수
7
12
  * @param startDate 시작 날짜
@@ -22,16 +27,16 @@ var calculateIsAllDay = function (startDate, endDate) {
22
27
  exports.calculateIsAllDay = calculateIsAllDay;
23
28
  var calculateDateRange = function (viewType, baseDate) {
24
29
  switch (viewType) {
25
- case 'DAILY':
30
+ case 'str_fm_day':
26
31
  return { startDate: baseDate, endDate: baseDate };
27
- case 'WEEKLY': {
32
+ case 'str_fm_week': {
28
33
  var start = new Date(baseDate);
29
34
  start.setDate(baseDate.getDate() - baseDate.getDay());
30
35
  var end = new Date(start);
31
36
  end.setDate(start.getDate() + 6);
32
37
  return { startDate: start, endDate: end };
33
38
  }
34
- case 'MONTHLY': {
39
+ case 'str_fm_month': {
35
40
  var startDate = new Date(baseDate.getFullYear(), baseDate.getMonth(), 1);
36
41
  // 실제 MonthlyView에서 보여지는 날짜 배열을 구함
37
42
  var days = dateHelper_1.DateHelper.getCalendarDatesForCalendar(startDate, 'sunday');
@@ -40,7 +45,7 @@ var calculateDateRange = function (viewType, baseDate) {
40
45
  endDate: days[days.length - 1]
41
46
  };
42
47
  }
43
- case 'YEARLY':
48
+ case 'str_fm_year':
44
49
  return {
45
50
  startDate: new Date(baseDate.getFullYear(), 0, 1),
46
51
  endDate: new Date(baseDate.getFullYear(), 11, 31)
@@ -63,16 +68,21 @@ var getHeaderText = function (viewType, selectedDate, t) {
63
68
  var year = selectedDate.getFullYear();
64
69
  var monthNumber = selectedDate.getMonth() + 1;
65
70
  var day = selectedDate.getDate();
66
- if (viewType === 'DAILY') {
71
+ var locale = (0, constants_1.getLocaleFromLang)(i18n_1.default.language);
72
+ // For English locale, use month names instead of numbers for WEEKLY and MONTHLY views
73
+ var monthValue = locale === 'en-US' && (viewType === 'str_fm_week' || viewType === 'str_fm_month')
74
+ ? t("calendar_month_".concat(monthNumber))
75
+ : monthNumber;
76
+ if (viewType === 'str_fm_day') {
67
77
  return t('str_calendar_daily_header', { year: year, month: monthNumber, day: day });
68
78
  }
69
- if (viewType === 'WEEKLY') {
70
- return t('str_calendar_weekly_header', { year: year, month: monthNumber });
79
+ if (viewType === 'str_fm_week') {
80
+ return t('str_calendar_weekly_header', { year: year, month: monthValue });
71
81
  }
72
- if (viewType === 'MONTHLY') {
73
- return t('str_calendar_monthly_header', { year: year, month: monthNumber });
82
+ if (viewType === 'str_fm_month') {
83
+ return t('str_calendar_monthly_header', { year: year, month: monthValue });
74
84
  }
75
- if (viewType === 'YEARLY') {
85
+ if (viewType === 'str_fm_year') {
76
86
  return t('str_calendar_yearly_header', { year: year });
77
87
  }
78
88
  return '';
@@ -1,9 +1,9 @@
1
1
  /// <reference types="react" />
2
- export type CalendarViewType = 'MONTHLY' | 'WEEKLY' | 'DAILY' | 'YEARLY';
2
+ export type CalendarViewType = 'str_fm_month' | 'str_fm_week' | 'str_fm_day' | 'str_fm_year';
3
3
  export type displayAllDayScheduleMode = 'none' | 'use';
4
4
  export type StartOfWeek = 'sunday' | 'monday';
5
5
  export type TodayBtnMode = 'none' | 'use';
6
- export type ActionType = 'CLICK' | 'CLICK_WITH_SHIFT_KEY_DOWN' | 'DELETE_KEY_DOWN' | 'DRAG' | 'DOUBLE_CLICK';
6
+ export type ActionType = 'CLICK' | 'CLICK_WITH_SHIFT_KEY_DOWN' | 'DELETE_KEY_DOWN' | 'DRAG';
7
7
  export type TargetType = 'SCHEDULE' | 'DATE';
8
8
  export type Action = {
9
9
  action: ActionType;
@@ -40,8 +40,8 @@ export type CalendarAction = {
40
40
  };
41
41
  };
42
42
  export type CalendarProps = {
43
- defaultViewType?: CalendarViewType | 'str_fm_month' | 'str_fm_week' | 'str_fm_day' | 'str_fm_year';
44
- viewTypes?: (CalendarViewType | 'str_fm_month' | 'str_fm_week' | 'str_fm_day' | 'str_fm_year')[];
43
+ defaultViewType?: CalendarViewType;
44
+ viewTypes?: CalendarViewType[];
45
45
  displayAllDayScheduleMode?: displayAllDayScheduleMode;
46
46
  startOfWeek?: StartOfWeek;
47
47
  todayBtnMode?: TodayBtnMode;
@@ -59,3 +59,7 @@ export type EventItemProps = {
59
59
  onDoubleClick: (schedule: Schedule) => void;
60
60
  isSelected?: boolean;
61
61
  };
62
+ export type TimeSelection = {
63
+ date: Date;
64
+ hour: number;
65
+ };
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ScrollVisibleType } from '../../../common/styles/scroll/scrollbarStyle';
2
3
  import type { PDSTextType } from '../../../common';
3
4
  type DesktopBasicModalProps = {
4
5
  titleText: PDSTextType;
@@ -16,7 +17,7 @@ type DesktopBasicModalProps = {
16
17
  mBtn2Type?: 'button' | 'submit';
17
18
  mBtn3Type?: 'button' | 'submit';
18
19
  size?: 'large' | 'medium' | 'small' | 'rlarge';
19
- scrollVisibleType?: 'hidden' | 'visible';
20
+ scrollVisibleType?: ScrollVisibleType;
20
21
  onClickMBtn1?: () => void;
21
22
  onClickMBtn2?: () => void;
22
23
  onClickMBtn3?: () => void;
@@ -44,9 +44,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
44
44
  var jsx_runtime_1 = require("react/jsx-runtime");
45
45
  var react_1 = require("react");
46
46
  var react_dom_1 = __importDefault(require("react-dom"));
47
+ var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
47
48
  var styled_components_1 = __importStar(require("styled-components"));
48
49
  var animationStyle_1 = require("../../../common/styles/movement/animationStyle");
49
- var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
50
50
  var components_1 = require("../../components");
51
51
  function DesktopBasicModal(_a) {
52
52
  var titleText = _a.titleText, contentText = _a.contentText, _b = _a.bodySpacingMode, bodySpacingMode = _b === void 0 ? 'use' : _b, _c = _a.bodyOverflowType, bodyOverflowType = _c === void 0 ? 'overlay' : _c, _d = _a.btnMode, btnMode = _d === void 0 ? 'mbtn_amount2' : _d, mBtn1Text = _a.mBtn1Text, mBtn2Text = _a.mBtn2Text, mBtn3Text = _a.mBtn3Text, _e = _a.mBtn1State, mBtn1State = _e === void 0 ? 'normal' : _e, _f = _a.mBtn2State, mBtn2State = _f === void 0 ? 'normal' : _f, _g = _a.mBtn3State, mBtn3State = _g === void 0 ? 'normal' : _g, _h = _a.mBtn1Type, mBtn1Type = _h === void 0 ? 'button' : _h, _j = _a.mBtn2Type, mBtn2Type = _j === void 0 ? 'button' : _j, _k = _a.mBtn3Type, mBtn3Type = _k === void 0 ? 'button' : _k, onClickMBtn1 = _a.onClickMBtn1, onClickMBtn2 = _a.onClickMBtn2, onClickMBtn3 = _a.onClickMBtn3, _l = _a.size, size = _l === void 0 ? 'large' : _l, _m = _a.scrollVisibleType, scrollVisibleType = _m === void 0 ? 'visible' : _m, children = _a.children;
@@ -70,13 +70,12 @@ function DesktopBasicModal(_a) {
70
70
  var btn3Mode = ['mbtn_amount3'];
71
71
  return react_dom_1.default.createPortal((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(S_ModalOverlay, {}), (0, jsx_runtime_1.jsxs)(S_ModalWrapper, __assign({ "x-pds-name": "DesktopBasicModal", "x-pds-element-type": "panel", "x-pds-device-type": "desktop", size: size }, { children: [(0, jsx_runtime_1.jsx)(S_Header, { children: (0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: titleText, colorTheme: "sysTextPrimary", styleTheme: "headingBold" }) }), (0, jsx_runtime_1.jsxs)(S_Body, __assign({ bodySpacingMode: bodySpacingMode, bodyOverflowType: bodyOverflowType, scrollVisibleType: scrollVisibleType }, { children: [contentText && ((0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: contentText, colorTheme: "sysTextSecondary", styleTheme: "subTitleRegular" })), children && children] })), (0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, { children: btn3Mode.includes(btnMode) && mBtn3Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn3Text, state: mBtn3State, type: mBtn3Type, size: "medium", onClick: onClickMBtn3 })) }), (0, jsx_runtime_1.jsxs)(S_Right, { children: [(0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: btn2Mode.includes(btnMode) && mBtn2Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn2Text, state: mBtn2State, type: mBtn2Type, size: "medium", onClick: onClickMBtn2 })) }), btn1Mode.includes(btnMode) && mBtn1Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { text: mBtn1Text, state: mBtn1State, type: mBtn1Type, size: "medium", onClick: onClickMBtn1 }))] })] })] }))] }), container);
72
72
  }
73
- var scrollInvisible = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ::-webkit-scrollbar {\n display: none;\n }\n"], ["\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
74
- var S_ModalOverlay = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"], ["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"])), function (_a) {
73
+ var S_ModalOverlay = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"], ["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"])), function (_a) {
75
74
  var theme = _a.theme;
76
75
  return theme.ui_cpnt_modal_dimmed;
77
76
  }, animationStyle_1.modalOverlayOnAni);
78
- var rlarge = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n max-width: 1400px;\n min-width: 960px;\n"], ["\n max-width: 1400px;\n min-width: 960px;\n"])));
79
- var S_ModalWrapper = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 24px;\n box-shadow: ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n left: 50%;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: ", ";\n ", ";\n\n ", "\n"], ["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 24px;\n box-shadow: ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n left: 50%;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: ", ";\n ", ";\n\n ", "\n"])), function (_a) {
77
+ var rlarge = (0, styled_components_1.css)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n max-width: 1400px;\n min-width: 960px;\n"], ["\n max-width: 1400px;\n min-width: 960px;\n"])));
78
+ var S_ModalWrapper = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 24px;\n box-shadow: ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n left: 50%;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: ", ";\n ", ";\n\n ", "\n"], ["\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 24px;\n box-shadow: ", ";\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n left: 50%;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: ", ";\n ", ";\n\n ", "\n"])), function (_a) {
80
79
  var theme = _a.theme;
81
80
  return theme.ui_cpnt_modal_base;
82
81
  }, function (_a) {
@@ -98,16 +97,16 @@ var S_ModalWrapper = styled_components_1.default.div(templateObject_4 || (templa
98
97
  var size = _a.size;
99
98
  return size === 'rlarge' && rlarge;
100
99
  }, animationStyle_1.modalOnAni);
101
- var S_Left = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
100
+ var S_Left = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
102
101
  var theme = _a.theme;
103
102
  return theme.spacing.spacingB;
104
103
  });
105
- var S_Btn2Wrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
104
+ var S_Btn2Wrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
106
105
  var theme = _a.theme;
107
106
  return theme.spacing.spacingB;
108
107
  });
109
- var S_Right = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
110
- var S_Header = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
108
+ var S_Right = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
109
+ var S_Header = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
111
110
  var theme = _a.theme;
112
111
  return theme.spacing.spacingC;
113
112
  }, function (_a) {
@@ -120,7 +119,7 @@ var S_Header = styled_components_1.default.div(templateObject_8 || (templateObje
120
119
  var theme = _a.theme;
121
120
  return theme.spacing.spacingE;
122
121
  });
123
- var S_Body = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n flex: 1;\n max-height: 60vh;\n overflow: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n ", "\n\n ", "\n"], ["\n flex: 1;\n max-height: 60vh;\n overflow: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n ", "\n\n ", "\n"])), function (_a) {
122
+ var S_Body = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n flex: 1;\n max-height: 60vh;\n overflow: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n ", "\n ", ";\n"], ["\n flex: 1;\n max-height: 60vh;\n overflow: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n\n ", "\n ", ";\n"])), function (_a) {
124
123
  var bodyOverflowType = _a.bodyOverflowType;
125
124
  return bodyOverflowType;
126
125
  }, function (_a) {
@@ -140,15 +139,14 @@ var S_Body = styled_components_1.default.div(templateObject_10 || (templateObjec
140
139
  return bodyOverflowType !== 'visible' &&
141
140
  scrollVisibleType &&
142
141
  {
143
- moving: scrollInvisible,
144
142
  visible: scrollbarStyle_1.scrollbarStyle,
145
- hidden: scrollInvisible
143
+ hidden: scrollbarStyle_1.scrollInvisible
146
144
  }[scrollVisibleType];
147
145
  }, function (_a) {
148
146
  var bodySpacingMode = _a.bodySpacingMode;
149
- return bodySpacingMode === 'none' && (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n "], ["\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n "])));
147
+ return bodySpacingMode === 'none' && (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n "], ["\n padding-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n "])));
150
148
  });
151
- var S_Footer = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
149
+ var S_Footer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
152
150
  var theme = _a.theme;
153
151
  return theme.ui_cpnt_modal_border;
154
152
  }, function (_a) {
@@ -165,4 +163,4 @@ var S_Footer = styled_components_1.default.div(templateObject_11 || (templateObj
165
163
  return theme.spacing.spacingD;
166
164
  });
167
165
  exports.default = DesktopBasicModal;
168
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
166
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ScrollVisibleType } from '../../../common/styles/scroll/scrollbarStyle';
2
3
  import type { PDSTextType } from '../../../common';
3
4
  export type DesktopBasicModalWithTabInfoType = {
4
5
  sideTabTitleText: PDSTextType;
@@ -9,6 +10,7 @@ type DesktopBasicModalWithTabProps = {
9
10
  size?: 'large' | 'medium';
10
11
  modalTitleText: PDSTextType;
11
12
  infoArray: DesktopBasicModalWithTabInfoType[];
13
+ scrollVisibleType?: ScrollVisibleType;
12
14
  btnMode?: 'btn_amount1' | 'btn_amount2' | 'btn_amount3';
13
15
  btn1Text: PDSTextType;
14
16
  btn2Text?: PDSTextType;
@@ -23,5 +25,5 @@ type DesktopBasicModalWithTabProps = {
23
25
  onClickBtn2?: (e: React.MouseEvent<HTMLButtonElement>) => void;
24
26
  onClickBtn3?: (e: React.MouseEvent<HTMLButtonElement>) => void;
25
27
  };
26
- declare function DesktopBasicModalWithTab({ size, modalTitleText, infoArray, btnMode, btn1Text, btn2Text, btn3Text, btn1State, btn2State, btn3State, btn1Type, btn2Type, btn3Type, onClickBtn1, onClickBtn2, onClickBtn3 }: DesktopBasicModalWithTabProps): import("react").ReactPortal;
28
+ declare function DesktopBasicModalWithTab({ size, modalTitleText, infoArray, scrollVisibleType, btnMode, btn1Text, btn2Text, btn3Text, btn1State, btn2State, btn3State, btn1Type, btn2Type, btn3Type, onClickBtn1, onClickBtn2, onClickBtn3 }: DesktopBasicModalWithTabProps): import("react").ReactPortal;
27
29
  export default DesktopBasicModalWithTab;
@@ -21,14 +21,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
21
21
  var jsx_runtime_1 = require("react/jsx-runtime");
22
22
  var react_1 = require("react");
23
23
  var react_dom_1 = __importDefault(require("react-dom"));
24
+ var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
24
25
  var styled_components_1 = __importDefault(require("styled-components"));
25
26
  var animationStyle_1 = require("../../../common/styles/movement/animationStyle");
26
- var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
27
27
  var hybrid_1 = require("../../../hybrid");
28
28
  var components_1 = require("../../components");
29
29
  var Components_1 = require("./Components");
30
30
  function DesktopBasicModalWithTab(_a) {
31
- var _b = _a.size, size = _b === void 0 ? 'large' : _b, modalTitleText = _a.modalTitleText, infoArray = _a.infoArray, _c = _a.btnMode, btnMode = _c === void 0 ? 'btn_amount2' : _c, btn1Text = _a.btn1Text, btn2Text = _a.btn2Text, btn3Text = _a.btn3Text, _d = _a.btn1State, btn1State = _d === void 0 ? 'normal' : _d, _e = _a.btn2State, btn2State = _e === void 0 ? 'normal' : _e, _f = _a.btn3State, btn3State = _f === void 0 ? 'normal' : _f, _g = _a.btn1Type, btn1Type = _g === void 0 ? 'button' : _g, _h = _a.btn2Type, btn2Type = _h === void 0 ? 'button' : _h, _j = _a.btn3Type, btn3Type = _j === void 0 ? 'button' : _j, onClickBtn1 = _a.onClickBtn1, onClickBtn2 = _a.onClickBtn2, onClickBtn3 = _a.onClickBtn3;
31
+ var _b = _a.size, size = _b === void 0 ? 'large' : _b, modalTitleText = _a.modalTitleText, infoArray = _a.infoArray, _c = _a.scrollVisibleType, scrollVisibleType = _c === void 0 ? 'visible' : _c, _d = _a.btnMode, btnMode = _d === void 0 ? 'btn_amount2' : _d, btn1Text = _a.btn1Text, btn2Text = _a.btn2Text, btn3Text = _a.btn3Text, _e = _a.btn1State, btn1State = _e === void 0 ? 'normal' : _e, _f = _a.btn2State, btn2State = _f === void 0 ? 'normal' : _f, _g = _a.btn3State, btn3State = _g === void 0 ? 'normal' : _g, _h = _a.btn1Type, btn1Type = _h === void 0 ? 'button' : _h, _j = _a.btn2Type, btn2Type = _j === void 0 ? 'button' : _j, _k = _a.btn3Type, btn3Type = _k === void 0 ? 'button' : _k, onClickBtn1 = _a.onClickBtn1, onClickBtn2 = _a.onClickBtn2, onClickBtn3 = _a.onClickBtn3;
32
32
  var container = (0, react_1.useState)(function () {
33
33
  var modalRoot = document.createElement('div');
34
34
  modalRoot.setAttribute('id', 'DesktopBasicModalWithTab');
@@ -44,7 +44,7 @@ function DesktopBasicModalWithTab(_a) {
44
44
  root.removeChild(container);
45
45
  };
46
46
  }, []);
47
- var _k = (0, react_1.useState)("".concat(infoArray[0].sideTabTitleText, "0")), selectedItem = _k[0], setSelectedItem = _k[1];
47
+ var _l = (0, react_1.useState)("".concat(infoArray[0].sideTabTitleText, "0")), selectedItem = _l[0], setSelectedItem = _l[1];
48
48
  var sideTabTitleArray = infoArray.map(function (data, index) {
49
49
  return {
50
50
  title: data.sideTabTitleText,
@@ -57,7 +57,7 @@ function DesktopBasicModalWithTab(_a) {
57
57
  var btn3Mode = ['btn_amount3'];
58
58
  return react_dom_1.default.createPortal((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(S_ModalOverlay, {}), (0, jsx_runtime_1.jsxs)(S_ModalWrapper, __assign({ "x-pds-name": "DesktopBasicModalWithTab", "x-pds-element-type": "panel", "x-pds-device-type": "desktop", size: size }, { children: [(0, jsx_runtime_1.jsxs)(S_UpsidePanel, { children: [(0, jsx_runtime_1.jsxs)(S_LeftPanel, { children: [(0, jsx_runtime_1.jsx)(S_Header, { children: (0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: modalTitleText, lineLimit: 2, ellipsisMode: "use", styleTheme: "headingBold" }) }), (0, jsx_runtime_1.jsxs)(S_SideTabWrapper, { children: [(0, jsx_runtime_1.jsx)(Components_1.SideTab, { itemArray: sideTabTitleArray }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_i" })] })] }), infoArray
59
59
  .filter(function (data, index) { return selectedItem === "".concat(data.sideTabTitleText).concat(index); })
60
- .map(function (data, index) { return ((0, jsx_runtime_1.jsx)(S_RightContainer, { children: (0, jsx_runtime_1.jsxs)(S_RightArea, { children: [(0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: data.bodyTitleText ? data.bodyTitleText : data.sideTabTitleText, styleTheme: "headingBold" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_e" }), (0, jsx_runtime_1.jsx)(S_Body, { children: data.body && data.body })] }) }, "".concat(data.sideTabTitleText).concat(index))); })] }), (0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, { children: btn3Mode.includes(btnMode) && btn3Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: btn3Text, state: btn3State, type: btn3Type, size: "medium", onClick: onClickBtn3 })) }), (0, jsx_runtime_1.jsxs)(S_Right, { children: [(0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: btn2Mode.includes(btnMode) && btn2Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: btn2Text, state: btn2State, type: btn2Type, size: "medium", onClick: onClickBtn2 })) }), btn1Mode.includes(btnMode) && btn1Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { text: btn1Text, state: btn1State, type: btn1Type, size: "medium", onClick: onClickBtn1 }))] })] })] }))] }), container);
60
+ .map(function (data, index) { return ((0, jsx_runtime_1.jsx)(S_RightContainer, __assign({ scrollVisibleType: scrollVisibleType }, { children: (0, jsx_runtime_1.jsxs)(S_RightArea, { children: [(0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: data.bodyTitleText ? data.bodyTitleText : data.sideTabTitleText, styleTheme: "headingBold" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_e" }), (0, jsx_runtime_1.jsx)(S_Body, { children: data.body && data.body })] }) }), "".concat(data.sideTabTitleText).concat(index))); })] }), (0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, { children: btn3Mode.includes(btnMode) && btn3Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: btn3Text, state: btn3State, type: btn3Type, size: "medium", onClick: onClickBtn3 })) }), (0, jsx_runtime_1.jsxs)(S_Right, { children: [(0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: btn2Mode.includes(btnMode) && btn2Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: btn2Text, state: btn2State, type: btn2Type, size: "medium", onClick: onClickBtn2 })) }), btn1Mode.includes(btnMode) && btn1Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { text: btn1Text, state: btn1State, type: btn1Type, size: "medium", onClick: onClickBtn1 }))] })] })] }))] }), container);
61
61
  }
62
62
  var S_ModalOverlay = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"], ["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"])), function (_a) {
63
63
  var theme = _a.theme;
@@ -102,21 +102,27 @@ var S_SideTabWrapper = styled_components_1.default.div(templateObject_6 || (temp
102
102
  var theme = _a.theme;
103
103
  return theme.ui_cpnt_modalwithtab_leftside_base;
104
104
  });
105
- var S_RightContainer = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n overflow-x: hidden;\n overflow-y: overlay;\n\n ", "\n"], ["\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n overflow-x: hidden;\n overflow-y: overlay;\n\n ", "\n"])), scrollbarStyle_1.scrollbarStyle);
106
- var S_RightArea = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n box-sizing: border-box;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n box-sizing: border-box;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
105
+ var S_RightContainer = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n margin-top: ", ";\n overflow-x: hidden;\n overflow-y: overlay;\n\n ", "\n"], ["\n display: flex;\n flex: 1;\n flex-direction: column;\n height: 100%;\n margin-top: ", ";\n overflow-x: hidden;\n overflow-y: overlay;\n\n ", "\n"])), function (_a) {
107
106
  var theme = _a.theme;
108
- return theme.spacing.spacingI;
107
+ return theme.spacing.spacingE;
109
108
  }, function (_a) {
109
+ var scrollVisibleType = _a.scrollVisibleType;
110
+ return ({
111
+ visible: scrollbarStyle_1.scrollbarStyle,
112
+ hidden: scrollbarStyle_1.scrollInvisible
113
+ }[scrollVisibleType]);
114
+ });
115
+ var S_RightArea = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n box-sizing: border-box;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n box-sizing: border-box;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
110
116
  var theme = _a.theme;
111
- return theme.spacing.spacingF;
117
+ return theme.spacing.spacingI;
112
118
  }, function (_a) {
113
119
  var theme = _a.theme;
114
120
  return theme.spacing.spacingF;
115
121
  }, function (_a) {
116
122
  var theme = _a.theme;
117
- return theme.spacing.spacingE;
123
+ return theme.spacing.spacingF;
118
124
  });
119
- var S_Body = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n overflow-x: hidden;\n"], ["\n overflow-x: hidden;\n"])));
125
+ var S_Body = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n overflow-wrap: break-word;\n overflow-x: hidden;\n white-space: pre-wrap;\n"], ["\n overflow-wrap: break-word;\n overflow-x: hidden;\n white-space: pre-wrap;\n"])));
120
126
  var S_Footer = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n border-top: 1px solid ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
121
127
  var theme = _a.theme;
122
128
  return theme.ui_cpnt_modal_border;
@@ -1,10 +1,11 @@
1
1
  /// <reference types="react" />
2
+ import { ScrollVisibleType } from '../../../common/styles/scroll/scrollbarStyle';
2
3
  import type { PDSTextType } from '../../../common/types';
3
4
  type DesktopHeadlessModalProps = {
4
5
  body: React.ReactNode;
5
6
  size?: 'large' | 'medium' | 'small' | 'rlarge' | 'xlarge' | 'rxlarge';
6
7
  dimmedClickCloseMode?: 'use' | 'none';
7
- scrollVisibleType?: 'hidden' | 'moving' | 'visible';
8
+ scrollVisibleType?: ScrollVisibleType;
8
9
  footerMode?: 'use' | 'none';
9
10
  btnMode?: 'mbtn_amount1' | 'mbtn_amount2' | 'mbtn_amount3';
10
11
  mBtn1Text?: PDSTextType;
@@ -44,10 +44,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
44
44
  var jsx_runtime_1 = require("react/jsx-runtime");
45
45
  var react_1 = require("react");
46
46
  var react_dom_1 = __importDefault(require("react-dom"));
47
+ var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
47
48
  var components_1 = require("../../components");
48
49
  var styled_components_1 = __importStar(require("styled-components"));
49
50
  var animationStyle_1 = require("../../../common/styles/movement/animationStyle");
50
- var scrollbarStyle_1 = require("../../../common/styles/scroll/scrollbarStyle");
51
51
  function DesktopHeadlessModal(_a) {
52
52
  var body = _a.body, _b = _a.size, size = _b === void 0 ? 'rlarge' : _b, _c = _a.dimmedClickCloseMode, dimmedClickCloseMode = _c === void 0 ? 'none' : _c, _d = _a.scrollVisibleType, scrollVisibleType = _d === void 0 ? 'visible' : _d, onClose = _a.onClose, _e = _a.footerMode, footerMode = _e === void 0 ? 'none' : _e, _f = _a.btnMode, btnMode = _f === void 0 ? 'mbtn_amount2' : _f, mBtn1Text = _a.mBtn1Text, mBtn2Text = _a.mBtn2Text, mBtn3Text = _a.mBtn3Text, _g = _a.mBtn1State, mBtn1State = _g === void 0 ? 'normal' : _g, _h = _a.mBtn2State, mBtn2State = _h === void 0 ? 'normal' : _h, _j = _a.mBtn3State, mBtn3State = _j === void 0 ? 'normal' : _j, _k = _a.mBtn1Type, mBtn1Type = _k === void 0 ? 'button' : _k, _l = _a.mBtn2Type, mBtn2Type = _l === void 0 ? 'button' : _l, _m = _a.mBtn3Type, mBtn3Type = _m === void 0 ? 'button' : _m, onClickMBtn1 = _a.onClickMBtn1, onClickMBtn2 = _a.onClickMBtn2, onClickMBtn3 = _a.onClickMBtn3;
53
53
  var container = (0, react_1.useState)(function () {
@@ -55,7 +55,6 @@ function DesktopHeadlessModal(_a) {
55
55
  modalRoot.setAttribute('id', 'DesktopHeadlessModal');
56
56
  return modalRoot;
57
57
  })[0];
58
- var targetRef = (0, react_1.useRef)(null);
59
58
  var handleClickOutside = function (e) {
60
59
  e.stopPropagation();
61
60
  if (dimmedClickCloseMode === 'use') {
@@ -66,32 +65,18 @@ function DesktopHeadlessModal(_a) {
66
65
  };
67
66
  (0, react_1.useLayoutEffect)(function () {
68
67
  var root = document.getElementById('root');
69
- var isScrolling;
70
- var handleScroll = function () {
71
- if (targetRef.current) {
72
- targetRef.current.classList.add('scrollMoving');
73
- }
74
- isScrolling = setTimeout(function () {
75
- var _a;
76
- (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove('scrollMoving');
77
- }, 500);
78
- };
79
68
  if (!root) {
80
69
  return;
81
70
  }
82
- if (targetRef.current) {
83
- targetRef.current.onscroll = handleScroll;
84
- }
85
71
  root.appendChild(container);
86
72
  return function () {
87
73
  root.removeChild(container);
88
- clearTimeout(isScrolling);
89
74
  };
90
75
  }, []);
91
76
  var btn1Mode = ['mbtn_amount1', 'mbtn_amount2', 'mbtn_amount3'];
92
77
  var btn2Mode = ['mbtn_amount2', 'mbtn_amount3'];
93
78
  var btn3Mode = ['mbtn_amount3'];
94
- return react_dom_1.default.createPortal((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(S_ModalOverlay, { "x-pds-name": "DesktopHeadlessModal", "x-pds-element-type": "panel", "x-pds-device-type": "desktop", onMouseDown: handleClickOutside }), (0, jsx_runtime_1.jsxs)(S_ModalWrapper, __assign({ size: size }, { children: [(0, jsx_runtime_1.jsx)(S_Body, __assign({ ref: targetRef, scrollVisibleType: scrollVisibleType }, { children: body && body })), footerMode === 'use' && ((0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, { children: btn3Mode.includes(btnMode) && mBtn3Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn3Text, state: mBtn3State, type: mBtn3Type, size: "medium", onClick: onClickMBtn3 })) }), (0, jsx_runtime_1.jsxs)(S_Right, { children: [(0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: btn2Mode.includes(btnMode) && mBtn2Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn2Text, state: mBtn2State, type: mBtn2Type, size: "medium", onClick: onClickMBtn2 })) }), btn1Mode.includes(btnMode) && mBtn1Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { text: mBtn1Text, state: mBtn1State, type: mBtn1Type, size: "medium", onClick: onClickMBtn1 }))] })] }))] }))] }), container);
79
+ return react_dom_1.default.createPortal((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(S_ModalOverlay, { "x-pds-name": "DesktopHeadlessModal", "x-pds-element-type": "panel", "x-pds-device-type": "desktop", onMouseDown: handleClickOutside }), (0, jsx_runtime_1.jsxs)(S_ModalWrapper, __assign({ size: size }, { children: [(0, jsx_runtime_1.jsx)(S_Body, __assign({ scrollVisibleType: scrollVisibleType }, { children: body && body })), footerMode === 'use' && ((0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, { children: btn3Mode.includes(btnMode) && mBtn3Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn3Text, state: mBtn3State, type: mBtn3Type, size: "medium", onClick: onClickMBtn3 })) }), (0, jsx_runtime_1.jsxs)(S_Right, { children: [(0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: btn2Mode.includes(btnMode) && mBtn2Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: mBtn2Text, state: mBtn2State, type: mBtn2Type, size: "medium", onClick: onClickMBtn2 })) }), btn1Mode.includes(btnMode) && mBtn1Text && ((0, jsx_runtime_1.jsx)(components_1.MainButton, { text: mBtn1Text, state: mBtn1State, type: mBtn1Type, size: "medium", onClick: onClickMBtn1 }))] })] }))] }))] }), container);
95
80
  }
96
81
  var S_ModalOverlay = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"], ["\n background-color: ", ";\n height: 100vh;\n left: 0;\n position: fixed;\n top: 0;\n width: 100vw;\n\n ", "\n"])), function (_a) {
97
82
  var theme = _a.theme;
@@ -122,17 +107,12 @@ var S_ModalWrapper = styled_components_1.default.div(templateObject_2 || (templa
122
107
  return sizes[size];
123
108
  }, animationStyle_1.modalOnAni);
124
109
  var scrollInvisible = (0, styled_components_1.css)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ::-webkit-scrollbar {\n display: none;\n }\n"], ["\n ::-webkit-scrollbar {\n display: none;\n }\n"])));
125
- var S_Body = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n overflow: auto;\n overflow-y: overlay;\n width: 100%;\n\n ", "\n\n &.scrollMoving {\n ", "\n }\n"], ["\n overflow: auto;\n overflow-y: overlay;\n width: 100%;\n\n ", "\n\n &.scrollMoving {\n ", "\n }\n"])), function (_a) {
126
- var scrollVisibleType = _a.scrollVisibleType;
127
- return scrollVisibleType &&
128
- {
129
- moving: scrollInvisible,
130
- visible: scrollbarStyle_1.scrollbarWithPaddingStyle,
131
- hidden: scrollInvisible
132
- }[scrollVisibleType];
133
- }, function (_a) {
110
+ var S_Body = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n overflow: auto;\n overflow-y: overlay;\n width: 100%;\n\n ", "\n"], ["\n overflow: auto;\n overflow-y: overlay;\n width: 100%;\n\n ", "\n"])), function (_a) {
134
111
  var scrollVisibleType = _a.scrollVisibleType;
135
- return scrollVisibleType === 'moving' && scrollbarStyle_1.scrollbarWithPaddingStyle;
112
+ return ({
113
+ visible: scrollbarStyle_1.scrollbarWithPaddingStyle,
114
+ hidden: scrollInvisible
115
+ }[scrollVisibleType]);
136
116
  });
137
117
  var S_Left = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
138
118
  var theme = _a.theme;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ScrollVisibleType } from '../../../common/styles/scroll/scrollbarStyle';
2
3
  import type { PDSTextType } from '../../../common';
3
4
  export type DesktopTutorialModalInfoType = {
4
5
  sideTabTitleText: PDSTextType;
@@ -13,7 +14,8 @@ type DesktopTutorialModalProps = {
13
14
  modalTitleText: PDSTextType;
14
15
  infoArray: DesktopTutorialModalInfoType[];
15
16
  sequenceMode?: 'use' | 'none';
17
+ scrollVisibleType?: ScrollVisibleType;
16
18
  onClose: (e: React.MouseEvent<HTMLButtonElement>) => void;
17
19
  };
18
- declare function DesktopTutorialModal({ modalTitleText, infoArray, sequenceMode, onClose }: DesktopTutorialModalProps): import("react").ReactPortal;
20
+ declare function DesktopTutorialModal({ modalTitleText, infoArray, sequenceMode, scrollVisibleType, onClose }: DesktopTutorialModalProps): import("react").ReactPortal;
19
21
  export default DesktopTutorialModal;