pds-dev-kit-web 2.2.204 → 2.2.205

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.
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "Day",
72
72
  "str_fm_week": "Week",
73
73
  "multilingual_settings": "Multilingual Settings",
74
- "str_multilingual_ko": "Korean",
75
- "str_multilingual_en": "English",
76
- "str_multilingual_ja": "Japanese",
77
- "str_multilingual_zh_cn": "Chinese - Simplified",
78
- "str_multilingual_zh_tw": "Chinese - Traditional",
79
- "str_multilingual_fr": "French",
80
- "str_multilingual_es": "Spanish",
74
+ "str_multilingual_ko": "Korean (ko)",
75
+ "str_multilingual_en": "English (en)",
76
+ "str_multilingual_ja": "Japanese (ja)",
77
+ "str_multilingual_zh_cn": "Chinese - Simplified (zh-cn)",
78
+ "str_multilingual_zh_tw": "Chinese - Traditional (zh-tw)",
79
+ "str_multilingual_fr": "French (fr)",
80
+ "str_multilingual_es": "Spanish (es)",
81
81
  "str_9071": "Please enter the text in the appropriate language for your country.",
82
82
  "str_original_text": "Original Text",
83
83
  "str_apply": "Apply",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "Día",
72
72
  "str_fm_week": "Principal",
73
73
  "multilingual_settings": "Configuración Multiidioma",
74
- "str_multilingual_ko": "Coreano",
75
- "str_multilingual_en": "Inglés",
76
- "str_multilingual_ja": "Japonés",
77
- "str_multilingual_zh_cn": "Chino - Simplificado",
78
- "str_multilingual_zh_tw": "Chino - Tradicional",
79
- "str_multilingual_fr": "Francés",
80
- "str_multilingual_es": "Español",
74
+ "str_multilingual_ko": "Coreano (ko)",
75
+ "str_multilingual_en": "Inglés (en)",
76
+ "str_multilingual_ja": "Japonés (ja)",
77
+ "str_multilingual_zh_cn": "Chino - Simplificado (zh-cn)",
78
+ "str_multilingual_zh_tw": "Chino - Tradicional (zh-tw)",
79
+ "str_multilingual_fr": "Francés (fr)",
80
+ "str_multilingual_es": "Español (es)",
81
81
  "str_9071": "Por favor, ingrese el texto en el idioma apropiado para su país.",
82
82
  "str_original_text": "Texto Original",
83
83
  "str_apply": "Aplicar",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "Araw",
72
72
  "str_fm_week": "Linggo",
73
73
  "multilingual_settings": "Multilingual Settings",
74
- "str_multilingual_ko": "Korean",
75
- "str_multilingual_en": "English",
76
- "str_multilingual_ja": "Japanese",
77
- "str_multilingual_zh_cn": "Chinese - Simplified",
78
- "str_multilingual_zh_tw": "Chinese - Traditional",
79
- "str_multilingual_fr": "French",
80
- "str_multilingual_es": "Spanish",
74
+ "str_multilingual_ko": "Korean (ko)",
75
+ "str_multilingual_en": "English (en)",
76
+ "str_multilingual_ja": "Japanese (ja)",
77
+ "str_multilingual_zh_cn": "Chinese - Simplified (zh-cn)",
78
+ "str_multilingual_zh_tw": "Chinese - Traditional (zh-tw)",
79
+ "str_multilingual_fr": "French (fr)",
80
+ "str_multilingual_es": "Spanish (es)",
81
81
  "str_9071": "Mangyaring ilagay ang teksto sa naaangkop na wika para sa inyong bansa.",
82
82
  "str_original_text": "Orihinal na Teksto",
83
83
  "str_apply": "Apply",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "日",
72
72
  "str_fm_week": "週",
73
73
  "multilingual_settings": "多言語設定",
74
- "str_multilingual_ko": "韓国語",
75
- "str_multilingual_en": "英語",
76
- "str_multilingual_ja": "日本語",
77
- "str_multilingual_zh_cn": "中国語 - 簡体",
78
- "str_multilingual_zh_tw": "中国語 - 繁体",
79
- "str_multilingual_fr": "フランス語",
80
- "str_multilingual_es": "スペイン語",
74
+ "str_multilingual_ko": "韓国語 (ko)",
75
+ "str_multilingual_en": "英語 (en)",
76
+ "str_multilingual_ja": "日本語 (ja)",
77
+ "str_multilingual_zh_cn": "中国語 - 簡体 (zh-cn)",
78
+ "str_multilingual_zh_tw": "中国語 - 繁体 (zh-tw)",
79
+ "str_multilingual_fr": "フランス語 (fr)",
80
+ "str_multilingual_es": "スペイン語 (es)",
81
81
  "str_9071": "国に適した言語を入力してください。",
82
82
  "str_original_text": "原文",
83
83
  "str_apply": "適用",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "일",
72
72
  "str_fm_week": "주",
73
73
  "multilingual_settings": "다국어 설정",
74
- "str_multilingual_ko": "한국어",
75
- "str_multilingual_en": "영어",
76
- "str_multilingual_ja": "일본어",
77
- "str_multilingual_zh_cn": "중국어 - 간체",
78
- "str_multilingual_zh_tw": "중국어 - 번체",
79
- "str_multilingual_fr": "프랑스어",
80
- "str_multilingual_es": "스페인어",
74
+ "str_multilingual_ko": "한국어 (ko)",
75
+ "str_multilingual_en": "영어 (en)",
76
+ "str_multilingual_ja": "일본어 (ja)",
77
+ "str_multilingual_zh_cn": "중국어 - 간체 (zh-cn)",
78
+ "str_multilingual_zh_tw": "중국어 - 번체 (zh-tw)",
79
+ "str_multilingual_fr": "프랑스어 (fr)",
80
+ "str_multilingual_es": "스페인어 (es)",
81
81
  "str_9071": "국가에 맞는 언어를 입력해 주세요.",
82
82
  "str_original_text": "원문",
83
83
  "str_apply": "적용",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "日",
72
72
  "str_fm_week": "周",
73
73
  "multilingual_settings": "多语言设置",
74
- "str_multilingual_ko": "韩语",
75
- "str_multilingual_en": "英语",
76
- "str_multilingual_ja": "日语",
77
- "str_multilingual_zh_cn": "中文 - 简体",
78
- "str_multilingual_zh_tw": "中文 - 繁体",
79
- "str_multilingual_fr": "法语",
80
- "str_multilingual_es": "西班牙语",
74
+ "str_multilingual_ko": "韩语 (ko)",
75
+ "str_multilingual_en": "英语 (en)",
76
+ "str_multilingual_ja": "日语 (ja)",
77
+ "str_multilingual_zh_cn": "中文 - 简体 (zh-cn)",
78
+ "str_multilingual_zh_tw": "中文 - 繁体 (zh-tw)",
79
+ "str_multilingual_fr": "法语 (fr)",
80
+ "str_multilingual_es": "西班牙语 (es)",
81
81
  "str_9071": "请输入适合您国家的语言。",
82
82
  "str_original_text": "原文",
83
83
  "str_apply": "应用",
@@ -71,13 +71,13 @@
71
71
  "str_fm_day": "日",
72
72
  "str_fm_week": "週",
73
73
  "multilingual_settings": "多語言設置",
74
- "str_multilingual_ko": "韓語",
75
- "str_multilingual_en": "英語",
76
- "str_multilingual_ja": "日語",
77
- "str_multilingual_zh_cn": "中文 - 簡體",
78
- "str_multilingual_zh_tw": "中文 - 繁體",
79
- "str_multilingual_fr": "法語",
80
- "str_multilingual_es": "西班牙語",
74
+ "str_multilingual_ko": "韓語 (ko)",
75
+ "str_multilingual_en": "英語 (en)",
76
+ "str_multilingual_ja": "日語 (ja)",
77
+ "str_multilingual_zh_cn": "中文 - 簡體 (zh-cn)",
78
+ "str_multilingual_zh_tw": "中文 - 繁體 (zh-tw)",
79
+ "str_multilingual_fr": "法語 (fr)",
80
+ "str_multilingual_es": "西班牙語 (es)",
81
81
  "str_9071": "請輸入適合您國家的語言。",
82
82
  "str_original_text": "原文",
83
83
  "str_apply": "應用",
@@ -61,7 +61,7 @@ var DailyView = function () {
61
61
  return ((0, jsx_runtime_1.jsxs)(S_DailyContainer, { children: [(0, jsx_runtime_1.jsx)(AllDaySchedulesSection_1.AllDaySchedulesSection, { calendarDates: [selectedDate], displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop }), (0, jsx_runtime_1.jsxs)(S_DailyTimeGrid, __assign({ "$displayAllDayScheduleMode": displayAllDayScheduleMode }, { children: [(0, jsx_runtime_1.jsx)(CurrentTimeIndicator_1.CurrentTimeIndicator, { show: true, leftOffset: "80px" }), HOURS_IN_DAY.map(function (hour) {
62
62
  var timeSlotDate = getTimeSlotDate(currentDateForDaily, hour);
63
63
  var isDragOver = (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.getTime()) === timeSlotDate.getTime();
64
- return ((0, jsx_runtime_1.jsxs)(S_DailyTimeRow, { children: [(0, jsx_runtime_1.jsx)(S_DailyTimeLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: (0, timeFormatUtils_1.formatHour)(hour, i18n.language), colorTheme: "sysTextTertiary" }) }), (0, jsx_runtime_1.jsx)(S_DailyTimeSlot, __assign({ "$isDragOver": isDragOver, onClick: function () { return handleDateClick(timeSlotDate, {}); }, 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(currentDateForDaily), selectedSchedules: selectedSchedules, onClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })) }))] }, hour));
64
+ return ((0, jsx_runtime_1.jsxs)(S_DailyTimeRow, { children: [(0, jsx_runtime_1.jsx)(S_DailyTimeLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: (0, timeFormatUtils_1.formatHour)(hour, 0, i18n.language), colorTheme: "sysTextTertiary" }) }), (0, jsx_runtime_1.jsx)(S_DailyTimeSlot, __assign({ "$isDragOver": isDragOver, onClick: function () { return handleDateClick(timeSlotDate, {}); }, 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(currentDateForDaily), selectedSchedules: selectedSchedules, onClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })) }))] }, hour));
65
65
  })] }))] }));
66
66
  };
67
67
  exports.DailyView = DailyView;
@@ -44,7 +44,7 @@ var MonthlyView = function (_a) {
44
44
  var renderScheduleItem = (0, CalendarContext_1.useCalendarContext)().renderScheduleItem;
45
45
  var calendarCellRef = (0, react_1.useRef)(null);
46
46
  var _c = (0, react_1.useState)(3), maxSchedulesPerDay = _c[0], setMaxSchedulesPerDay = _c[1];
47
- var scheduleItemHeight = 20; // 스케줄 아이템 대략 높이
47
+ var scheduleItemHeight = 22; // 스케줄 아이템 대략 높이
48
48
  var days = (0, react_1.useMemo)(function () {
49
49
  var monthDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1);
50
50
  return dateHelper_1.DateHelper.getCalendarDatesForCalendar(monthDate, startOfWeek);
@@ -129,7 +129,7 @@ var MultiWeekSchedulesLayer = function (_a) {
129
129
  weekStart.setDate(startOfWeek.getDate() + weekIndex * 7);
130
130
  var weekEnd = new Date(weekStart);
131
131
  weekEnd.setDate(weekStart.getDate() + 6);
132
- setHiddenSchedules(__spreadArray([], rowSchedules, true).filter(function (_, index) { return index >= maxSchedulesPerDay; })
132
+ setHiddenSchedules(__spreadArray([], rowSchedules, true).filter(function (_, index) { return index > maxSchedulesPerDay - 1; })
133
133
  .map(function (s) { return s.schedule.id.toString(); }));
134
134
  }
135
135
  });
@@ -172,7 +172,7 @@ var MultiWeekSchedulesLayer = function (_a) {
172
172
  };
173
173
  exports.MultiWeekSchedulesLayer = MultiWeekSchedulesLayer;
174
174
  var S_Layer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 10;\n\n & > * {\n pointer-events: auto;\n }\n"], ["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n z-index: 10;\n\n & > * {\n pointer-events: auto;\n }\n"])));
175
- var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 18px;\n left: ", ";\n padding: 2px 6px;\n position: absolute;\n top: ", ";\n user-select: none;\n width: ", ";\n z-index: 10;\n\n &:active {\n background: ", ";\n cursor: ", ";\n }\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 18px;\n left: ", ";\n padding: 2px 6px;\n position: absolute;\n top: ", ";\n user-select: none;\n width: ", ";\n z-index: 10;\n\n &:active {\n background: ", ";\n cursor: ", ";\n }\n"])), function (props) {
175
+ var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 17px;\n left: ", ";\n padding: 2px 6px;\n position: absolute;\n top: ", ";\n user-select: none;\n width: ", ";\n z-index: 10;\n\n &:active {\n background: ", ";\n cursor: ", ";\n }\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 17px;\n left: ", ";\n padding: 2px 6px;\n position: absolute;\n top: ", ";\n user-select: none;\n width: ", ";\n z-index: 10;\n\n &:active {\n background: ", ";\n cursor: ", ";\n }\n"])), function (props) {
176
176
  return props.$isSelected ? props.theme.ui_cpnt_sheet_base_06 : props.theme.ui_cpnt_sheet_base;
177
177
  }, function (_a) {
178
178
  var $isDraggable = _a.$isDraggable;
@@ -191,7 +191,7 @@ var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_2 || (t
191
191
  }
192
192
  var cellPosition = $cellPositions[rowIndex];
193
193
  var scheduleHeight = 16;
194
- var scheduleSpacing = ($scheduleIndex || 0) * (scheduleHeight + 7); // 스케줄 간 간격 6px
194
+ var scheduleSpacing = ($scheduleIndex || 0) * (scheduleHeight + 7);
195
195
  var calculatedTop = cellPosition.top + scheduleSpacing;
196
196
  return "".concat(calculatedTop, "px");
197
197
  }, function (props) { return "calc((".concat(props.$endCol - props.$startCol + 1, ") * (100% / 7) - 21px)"); }, function (_a) {
@@ -142,7 +142,7 @@ var TimeBasedScheduleItem = function (_a) {
142
142
  return ((0, jsx_runtime_1.jsx)(S_ScheduleItem, __assign({ "$top": top, "$height": height, "$gridColumn": schedule.gridColumn, "$totalColumns": schedule.totalColumns, "$isSelected": isSelected, "$isDraggable": isDraggable, draggable: isDraggable, onClick: function (e) {
143
143
  e.stopPropagation();
144
144
  onClick === null || onClick === void 0 ? void 0 : onClick(schedule, e);
145
- }, onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); }, onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); } }, { children: (0, jsx_runtime_1.jsxs)(S_ScheduleContent, { children: [(0, jsx_runtime_1.jsx)(S_ScheduleTime, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: "".concat((0, timeFormatUtils_1.formatTimeWithLocale)(localStartHour, i18n.language, t)), ellipsisMode: "use", singleLineMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined }) }), (0, jsx_runtime_1.jsx)(S_ScheduleTitle, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: schedule.title, ellipsisMode: "use", singleLineMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined }) })] }) }), schedule.id));
145
+ }, onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); }, onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); } }, { children: (0, jsx_runtime_1.jsxs)(S_ScheduleContent, { children: [(0, jsx_runtime_1.jsx)(S_ScheduleTime, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: "".concat((0, timeFormatUtils_1.formatTimeWithLocale)(localStartHour, localStartMinutes, i18n.language, t)), ellipsisMode: "use", singleLineMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined }) }), (0, jsx_runtime_1.jsx)(S_ScheduleTitle, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: schedule.title, ellipsisMode: "use", singleLineMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined }) })] }) }), schedule.id));
146
146
  }) }));
147
147
  };
148
148
  exports.TimeBasedScheduleItem = TimeBasedScheduleItem;
@@ -73,7 +73,7 @@ var WeeklyView = function (_a) {
73
73
  day: dayText
74
74
  });
75
75
  return ((0, jsx_runtime_1.jsx)(S_WeeklyDayHeader, __assign({ "$isToday": isToday(date) }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { textAlign: "center", styleTheme: "caption2Bold", colorTheme: isToday(date) ? 'sysTextBrandPrimary' : 'sysTextTertiary', text: dateText }) }), index));
76
- })] }), (0, jsx_runtime_1.jsx)(AllDaySchedulesSection_1.AllDaySchedulesSection, { calendarDates: calendarDates, displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop }), (0, jsx_runtime_1.jsxs)(S_WeeklyTimeGrid, __assign({ "$displayAllDayScheduleMode": displayAllDayScheduleMode }, { children: [(0, jsx_runtime_1.jsx)(CurrentTimeIndicator_1.CurrentTimeIndicator, { show: true, leftOffset: "80px" }), Array.from({ length: 24 }, function (_unused, hour) { return ((0, jsx_runtime_1.jsxs)(S_TimeRow, { children: [(0, jsx_runtime_1.jsx)(S_TimeLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: (0, timeFormatUtils_1.formatTimeWithLocale)(hour, i18n.language, t), colorTheme: "sysTextTertiary" }) }), (0, jsx_runtime_1.jsx)(S_TimeSlots, { children: calendarDates.map(function (date, dayIndex) {
76
+ })] }), (0, jsx_runtime_1.jsx)(AllDaySchedulesSection_1.AllDaySchedulesSection, { calendarDates: calendarDates, displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop }), (0, jsx_runtime_1.jsxs)(S_WeeklyTimeGrid, __assign({ "$displayAllDayScheduleMode": displayAllDayScheduleMode }, { children: [(0, jsx_runtime_1.jsx)(CurrentTimeIndicator_1.CurrentTimeIndicator, { show: true, leftOffset: "80px" }), Array.from({ length: 24 }, function (_unused, hour) { return ((0, jsx_runtime_1.jsxs)(S_TimeRow, { children: [(0, jsx_runtime_1.jsx)(S_TimeLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: (0, timeFormatUtils_1.formatTimeWithLocale)(hour, 0, i18n.language, t), colorTheme: "sysTextTertiary" }) }), (0, jsx_runtime_1.jsx)(S_TimeSlots, { children: calendarDates.map(function (date, dayIndex) {
77
77
  var timeSlotDate = new Date(date);
78
78
  timeSlotDate.setHours(hour, 0, 0, 0);
79
79
  var isDragOver = (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.getTime()) === timeSlotDate.getTime();
@@ -2,15 +2,17 @@ import type { TFunction } from 'react-i18next';
2
2
  /**
3
3
  * 로케일에 따라 시간을 문자열로 포맷팅
4
4
  * @param hour - 시간 (0-23)
5
+ * @param minute - 분 (0-59)
5
6
  * @param currentLang - 현재 언어 코드
6
7
  * @returns 포맷팅된 시간 문자열
7
8
  */
8
- export declare const formatHour: (hour: number, currentLang: string) => string;
9
+ export declare const formatHour: (hour: number, minute: number | undefined, currentLang: string) => string;
9
10
  /**
10
11
  * 로케일별 텍스트로 시간 포맷팅 (한국어용)
11
12
  * @param hour - 시간 (0-23)
13
+ * @param minute - 분 (0-59)
12
14
  * @param currentLang - 현재 언어 코드
13
15
  * @param t - react-i18next의 번역 함수
14
16
  * @returns 로케일별 텍스트가 포함된 포맷팅된 시간 문자열
15
17
  */
16
- export declare const formatTimeWithLocale: (hour: number, currentLang: string, t: TFunction) => string;
18
+ export declare const formatTimeWithLocale: (hour: number, minute: number | undefined, currentLang: string, t: TFunction) => string;
@@ -4,42 +4,58 @@ exports.formatTimeWithLocale = exports.formatHour = void 0;
4
4
  /**
5
5
  * 로케일에 따라 시간을 문자열로 포맷팅
6
6
  * @param hour - 시간 (0-23)
7
+ * @param minute - 분 (0-59)
7
8
  * @param currentLang - 현재 언어 코드
8
9
  * @returns 포맷팅된 시간 문자열
9
10
  */
10
- var formatHour = function (hour, currentLang) {
11
+ var formatHour = function (hour, minute, currentLang) {
12
+ if (minute === void 0) { minute = 0; }
11
13
  var is24HourFormat = ['ko', 'ja', 'zh', 'zh-cn', 'zh-tw', 'es'].includes(currentLang);
14
+ var minuteStr = minute.toString().padStart(2, '0');
12
15
  if (is24HourFormat) {
13
- return "".concat(hour, ":00");
16
+ return "".concat(hour, ":").concat(minuteStr);
14
17
  }
15
18
  if (hour === 0)
16
- return '12:00 AM';
19
+ return "12:".concat(minuteStr, " AM");
17
20
  if (hour === 12)
18
- return '12:00 PM';
21
+ return "12:".concat(minuteStr, " PM");
19
22
  if (hour < 12)
20
- return "".concat(hour, ":00 AM");
21
- return "".concat(hour - 12, ":00 PM");
23
+ return "".concat(hour, ":").concat(minuteStr, " AM");
24
+ return "".concat(hour - 12, ":").concat(minuteStr, " PM");
22
25
  };
23
26
  exports.formatHour = formatHour;
24
27
  /**
25
28
  * 로케일별 텍스트로 시간 포맷팅 (한국어용)
26
29
  * @param hour - 시간 (0-23)
30
+ * @param minute - 분 (0-59)
27
31
  * @param currentLang - 현재 언어 코드
28
32
  * @param t - react-i18next의 번역 함수
29
33
  * @returns 로케일별 텍스트가 포함된 포맷팅된 시간 문자열
30
34
  */
31
- var formatTimeWithLocale = function (hour, currentLang, t) {
35
+ var formatTimeWithLocale = function (hour, minute, currentLang, t) {
36
+ if (minute === void 0) { minute = 0; }
32
37
  if (currentLang === 'ko') {
33
- if (hour === 12)
34
- return t('str_fm_datetime_noon');
38
+ var minuteStr = minute.toString().padStart(2, '0');
39
+ if (hour === 12) {
40
+ return minute === 0
41
+ ? t('str_fm_datetime_noon')
42
+ : "12:".concat(minuteStr, " ").concat(t('str_fm_datetime_noon'));
43
+ }
35
44
  if (hour < 12) {
36
- return hour === 0
37
- ? "".concat(t('str_fm_datetime_am', { hour: 12 }))
38
- : "".concat(t('str_fm_datetime_am', { hour: hour }));
45
+ if (hour === 0) {
46
+ return minute === 0
47
+ ? "".concat(t('str_fm_datetime_am', { hour: 12 }))
48
+ : "12:".concat(minuteStr, " ").concat(t('str_fm_datetime_am', { hour: 12 }));
49
+ }
50
+ return minute === 0
51
+ ? "".concat(t('str_fm_datetime_am', { hour: hour }))
52
+ : "".concat(hour, ":").concat(minuteStr, " ").concat(t('str_fm_datetime_am', { hour: hour }));
39
53
  }
40
- return "".concat(t('str_fm_datetime_pm', { hour: hour - 12 }));
54
+ return minute === 0
55
+ ? "".concat(t('str_fm_datetime_pm', { hour: hour - 12 }))
56
+ : "".concat(hour - 12, ":").concat(minuteStr, " ").concat(t('str_fm_datetime_pm', { hour: hour - 12 }));
41
57
  }
42
58
  // 다른 언어의 경우 기본 formatHour 함수 사용
43
- return (0, exports.formatHour)(hour, currentLang);
59
+ return (0, exports.formatHour)(hour, minute, currentLang);
44
60
  };
45
61
  exports.formatTimeWithLocale = formatTimeWithLocale;
@@ -117,7 +117,7 @@ function MultilingualModal(_a) {
117
117
  return react_dom_1.default.createPortal((0, jsx_runtime_1.jsxs)(react_hook_form_1.FormProvider, __assign({}, methods, { children: [(0, jsx_runtime_1.jsx)(S_ModalOverlay, { onClick: handleCancel }), (0, jsx_runtime_1.jsxs)(S_ModalWrapper, __assign({ "x-pds-name": "MultiLanguageModal", "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: t('str_multilingual_settings'), colorTheme: "sysTextPrimary", styleTheme: "headingBold" }) }), (0, jsx_runtime_1.jsxs)(S_Body, { children: [(config === null || config === void 0 ? void 0 : config.originalText) && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(components_1.BodyTextGroup, { titleText: t('str_original_text'), contentText: config.originalText }), (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_f" }), (0, jsx_runtime_1.jsx)(components_2.Divider, {}), (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_f" })] })), (_c = config === null || config === void 0 ? void 0 : config.visibleLanguages) === null || _c === void 0 ? void 0 : _c.map(function (languageCode, index) {
118
118
  var _a, _b;
119
119
  var isReadonly = (_a = config.readonlyLanguages) === null || _a === void 0 ? void 0 : _a.includes(languageCode);
120
- return ((0, jsx_runtime_1.jsxs)(S_LanguageField, { children: [(0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: "".concat(t(LANGUAGE_I18N_KEYS[languageCode]), " (").concat(languageCode, ")"), styleTheme: "subTitleBold", colorTheme: "sysTextPrimary" }), (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_b" }), (0, jsx_runtime_1.jsx)(components_1.TextField, { responsiveMode: "use", multiRows: config.textFieldLineType === 'multi' ? 5 : undefined, autoMaxRows: config.textFieldLineType === 'auto' ? 5 : undefined, autoMinRows: config.textFieldLineType === 'auto' ? 1 : undefined, name: languageCode, hintText: t('str_9071'), placeholder: "Input Text", textLineType: config.textFieldLineType, state: isReadonly ? 'disabled' : 'normal' }), index < (((_b = config.visibleLanguages) === null || _b === void 0 ? void 0 : _b.length) || 0) - 1 && (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_f" })] }, "".concat(languageCode, "_field")));
120
+ return ((0, jsx_runtime_1.jsxs)(S_LanguageField, { children: [(0, jsx_runtime_1.jsx)(components_1.TextLabel, { text: "".concat(t(LANGUAGE_I18N_KEYS[languageCode])), styleTheme: "subTitleBold", colorTheme: "sysTextPrimary" }), (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_b" }), (0, jsx_runtime_1.jsx)(components_1.TextField, { responsiveMode: "use", multiRows: config.textFieldLineType === 'multi' ? 5 : undefined, autoMaxRows: config.textFieldLineType === 'auto' ? 5 : undefined, autoMinRows: config.textFieldLineType === 'auto' ? 1 : undefined, name: languageCode, hintText: t('str_9071'), placeholder: "Input Text", textLineType: config.textFieldLineType, state: isReadonly ? 'disabled' : 'normal' }), index < (((_b = config.visibleLanguages) === null || _b === void 0 ? void 0 : _b.length) || 0) - 1 && (0, jsx_runtime_1.jsx)(components_2.Spacing, { size: "spacing_f" })] }, "".concat(languageCode, "_field")));
121
121
  })] }), (0, jsx_runtime_1.jsxs)(S_Footer, { children: [(0, jsx_runtime_1.jsx)(S_Left, {}), (0, jsx_runtime_1.jsxs)(S_Right, { children: [!allLangInReadonly && ((0, jsx_runtime_1.jsx)(S_Btn2Wrapper, { children: (0, jsx_runtime_1.jsx)(components_1.MainButton, { styleTheme: "secondary", text: t('str_cancel'), size: "medium", onClick: handleCancel }) })), (0, jsx_runtime_1.jsx)(components_1.MainButton, { text: allLangInReadonly ? t('str_confirm') : t('str_apply'), size: "medium", onClick: handleConfirm })] })] })] }))] })), container);
122
122
  }
123
123
  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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.204",
3
+ "version": "2.2.205",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v2.2.204]
2
+ ## [v2.2.205]
3
3
  ## daily|https://design.storybook.publ.biz/
4
4
 
5
5
  ### 업데이트 사항
6
- * PriceTextField USD인 경우 최소 단위 0.01로 수정
6
+ * [PDS-1311] 캘린더 배포 이후 수정사항 반영
7
+ * [PDS-1245] 다국어 배포 이후 수정사항 반영