pds-dev-kit-web-test 2.5.442 → 2.5.444

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 (185) hide show
  1. package/dist/src/common/hooks/useTooltip.js +1 -1
  2. package/dist/src/common/services/i18n/resources/en.json +29 -1
  3. package/dist/src/common/services/i18n/resources/es.json +28 -1
  4. package/dist/src/common/services/i18n/resources/fil.json +28 -1
  5. package/dist/src/common/services/i18n/resources/index.d.ts +194 -0
  6. package/dist/src/common/services/i18n/resources/ja.json +29 -1
  7. package/dist/src/common/services/i18n/resources/ko.json +29 -1
  8. package/dist/src/common/services/i18n/resources/zh-cn.json +29 -1
  9. package/dist/src/common/services/i18n/resources/zh-tw.json +29 -1
  10. package/dist/src/common/styles/colorSet/index.d.ts +2 -2
  11. package/dist/src/common/styles/colorSet/index.js +2 -2
  12. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +1 -1
  13. package/dist/src/common/utils/dateHelper.d.ts +3 -0
  14. package/dist/src/common/utils/dateHelper.js +37 -0
  15. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
  16. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +13 -0
  17. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +48 -0
  18. package/dist/src/desktop/components/Calendar/Calendar.d.ts +4 -0
  19. package/dist/src/desktop/components/Calendar/Calendar.js +379 -0
  20. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +7 -0
  21. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +48 -0
  22. package/dist/src/desktop/components/Calendar/DailyView.d.ts +17 -0
  23. package/dist/src/desktop/components/Calendar/DailyView.js +82 -0
  24. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +26 -0
  25. package/dist/src/desktop/components/Calendar/MonthlyView.js +222 -0
  26. package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +16 -0
  27. package/dist/src/desktop/components/Calendar/ScheduleItem.js +49 -0
  28. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +21 -0
  29. package/dist/src/desktop/components/Calendar/WeeklyView.js +100 -0
  30. package/dist/src/desktop/components/Calendar/YearlyView.d.ts +11 -0
  31. package/dist/src/desktop/components/Calendar/YearlyView.js +71 -0
  32. package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +24 -0
  33. package/dist/src/desktop/components/Calendar/calendarUtils.js +108 -0
  34. package/dist/src/desktop/components/Calendar/constants.d.ts +1 -0
  35. package/dist/src/desktop/components/Calendar/constants.js +31 -0
  36. package/dist/src/desktop/components/Calendar/index.d.ts +10 -0
  37. package/dist/src/desktop/components/Calendar/index.js +37 -0
  38. package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +16 -0
  39. package/dist/src/desktop/components/Calendar/timeFormatUtils.js +45 -0
  40. package/dist/src/desktop/components/Calendar/types.d.ts +60 -0
  41. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +1 -4
  42. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +3 -5
  43. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +53 -53
  44. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  45. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  46. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  47. package/dist/src/sub/DynamicLayout/DynamicLayout.js +2 -3
  48. package/dist/src/sub/DynamicLayout/components/Section/sectionContext.d.ts +2 -2
  49. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.d.ts +0 -40
  50. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.js +177 -36
  51. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_Dark.json +4 -152
  52. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_light.json +2 -150
  53. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/SemanticColor.json +1 -45
  54. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/UIColor.json +9 -262
  55. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/index.d.ts +0 -593
  56. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/ui-type.d.ts +0 -253
  57. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +1 -3
  58. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.js +3 -5
  59. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +1 -2
  60. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.js +2 -9
  61. package/dist/src/sub/DynamicLayout/mocks.d.ts +960 -8
  62. package/dist/src/sub/DynamicLayout/mocks.js +6 -4286
  63. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -4
  64. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +1 -1
  65. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +4 -4
  66. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +3 -13
  67. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +2 -18
  68. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +4 -4
  69. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +3 -121
  70. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +3 -39
  71. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +7 -31
  72. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +1 -45
  73. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/group.d.ts +1 -1
  74. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +1 -1
  75. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +10 -27
  76. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +1 -3
  77. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim.d.ts +4 -4
  78. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding.d.ts +2 -2
  79. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +2 -2
  80. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +1 -1
  81. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +2 -2
  82. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
  83. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -52
  84. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +1 -1
  85. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +0 -1
  86. package/dist/src/sub/DynamicLayout/types.d.ts +16 -49
  87. package/package.json +2 -3
  88. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.d.ts +0 -21
  89. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.js +0 -1133
  90. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.d.ts +0 -11
  91. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.js +0 -45
  92. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.d.ts +0 -10
  93. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.js +0 -79
  94. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.d.ts +0 -12
  95. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.js +0 -76
  96. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.d.ts +0 -4
  97. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.js +0 -47
  98. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.d.ts +0 -12
  99. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.js +0 -76
  100. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.d.ts +0 -12
  101. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.js +0 -76
  102. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.d.ts +0 -12
  103. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.js +0 -76
  104. package/dist/src/sub/DynamicLayout/compositionActionTypes.d.ts +0 -139
  105. package/dist/src/sub/DynamicLayout/compositionActionTypes.js +0 -2
  106. package/dist/src/sub/DynamicLayout/compositionQueryContext.d.ts +0 -8
  107. package/dist/src/sub/DynamicLayout/compositionQueryContext.js +0 -14
  108. package/dist/src/sub/DynamicLayout/mock_composition.d.ts +0 -3
  109. package/dist/src/sub/DynamicLayout/mock_composition.js +0 -1606
  110. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.d.ts +0 -1
  111. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.js +0 -1111
  112. package/dist/src/sub/DynamicLayout/mock_contentsList.d.ts +0 -1
  113. package/dist/src/sub/DynamicLayout/mock_contentsList.js +0 -1091
  114. package/dist/src/sub/DynamicLayout/mock_queryData.d.ts +0 -96
  115. package/dist/src/sub/DynamicLayout/mock_queryData.js +0 -2639
  116. package/dist/src/sub/DynamicLayout/mock_slideBanner.d.ts +0 -842
  117. package/dist/src/sub/DynamicLayout/mock_slideBanner.js +0 -854
  118. package/dist/src/sub/DynamicLayout/mock_video.d.ts +0 -368
  119. package/dist/src/sub/DynamicLayout/mock_video.js +0 -371
  120. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.d.ts +0 -12
  121. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.js +0 -61
  122. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.d.ts +0 -15
  123. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.js +0 -69
  124. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.d.ts +0 -15
  125. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.js +0 -69
  126. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.d.ts +0 -9
  127. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.js +0 -87
  128. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.d.ts +0 -4
  129. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.js +0 -849
  130. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.d.ts +0 -43
  131. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.js +0 -162
  132. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.d.ts +0 -39
  133. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.js +0 -182
  134. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.d.ts +0 -25
  135. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.js +0 -234
  136. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.d.ts +0 -14
  137. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.js +0 -46
  138. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.d.ts +0 -1
  139. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.js +0 -8
  140. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/types.d.ts +0 -139
  141. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.d.ts +0 -8
  142. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +0 -190
  143. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.d.ts +0 -17
  144. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.js +0 -39
  145. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.d.ts +0 -10
  146. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.js +0 -85
  147. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.d.ts +0 -25
  148. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.js +0 -183
  149. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.d.ts +0 -29
  150. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.js +0 -128
  151. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.d.ts +0 -23
  152. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.js +0 -230
  153. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.d.ts +0 -1
  154. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.js +0 -8
  155. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.d.ts +0 -67
  156. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.js +0 -2
  157. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.d.ts +0 -8
  158. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.js +0 -138
  159. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.d.ts +0 -12
  160. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.js +0 -39
  161. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.d.ts +0 -15
  162. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.js +0 -69
  163. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.d.ts +0 -15
  164. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.js +0 -69
  165. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.d.ts +0 -20
  166. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +0 -173
  167. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.d.ts +0 -9
  168. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.js +0 -87
  169. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.d.ts +0 -4
  170. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.js +0 -849
  171. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.d.ts +0 -43
  172. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.js +0 -162
  173. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.d.ts +0 -26
  174. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.js +0 -235
  175. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.d.ts +0 -16
  176. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.js +0 -63
  177. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.d.ts +0 -1
  178. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.js +0 -8
  179. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.d.ts +0 -46
  180. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.js +0 -186
  181. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.d.ts +0 -163
  182. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.js +0 -2
  183. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.d.ts +0 -14
  184. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.js +0 -26
  185. /package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel → desktop/components/Calendar}/types.js +0 -0
@@ -0,0 +1,222 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MonthlyView = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var react_1 = require("react");
24
+ var react_i18next_1 = require("react-i18next");
25
+ var dateHelper_1 = require("../../../common/utils/dateHelper");
26
+ var styled_components_1 = __importDefault(require("styled-components"));
27
+ var TextLabel_1 = require("../TextLabel");
28
+ var ScheduleItem_1 = require("./ScheduleItem");
29
+ var MonthlyView = function (_a) {
30
+ var getDayTextByDate = _a.getDayTextByDate, startOfWeek = _a.startOfWeek, selectedDate = _a.selectedDate, selectedDates = _a.selectedDates, selectedSchedules = _a.selectedSchedules, dragStartDate = _a.dragStartDate, dragEndDate = _a.dragEndDate, isDragOverDate = _a.isDragOverDate, getSchedulesForDate = _a.getSchedulesForDate, isToday = _a.isToday, isPastDate = _a.isPastDate, handleDateClick = _a.handleDateClick, handleScheduleClick = _a.handleScheduleClick, handleMouseUp = _a.handleMouseUp, handleDateDragOver = _a.handleDateDragOver, handleDateDragLeave = _a.handleDateDragLeave, handleDateDrop = _a.handleDateDrop, renderScheduleItem = _a.renderScheduleItem, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd;
31
+ var t = (0, react_i18next_1.useTranslation)().t;
32
+ var MAX_SCHEDULES_PER_DAY = 3;
33
+ var days = (function () {
34
+ var monthDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1);
35
+ return dateHelper_1.DateHelper.getCalendarDatesForCalendar(monthDate, startOfWeek);
36
+ })();
37
+ // 다중 이벤트 계산
38
+ var getMultiWeekSchedules = (0, react_1.useMemo)(function () {
39
+ var multiWeekSchedules = [];
40
+ var allSchedules = new Map();
41
+ days.forEach(function (date) {
42
+ var schedulesForDate = getSchedulesForDate(date);
43
+ schedulesForDate.forEach(function (schedule) {
44
+ // 종일 이벤트만 추가
45
+ if (schedule.isAllDay) {
46
+ allSchedules.set(schedule.id, schedule);
47
+ }
48
+ });
49
+ });
50
+ allSchedules.forEach(function (schedule) {
51
+ var scheduleStart = new Date(schedule.startDate);
52
+ var scheduleEnd = new Date(schedule.endDate);
53
+ scheduleStart.setHours(0, 0, 0, 0);
54
+ scheduleEnd.setHours(0, 0, 0, 0);
55
+ // 여러 날짜에 걸친 이벤트인지 확인
56
+ if (scheduleStart.getTime() !== scheduleEnd.getTime()) {
57
+ // 캘린더 그리드에서 시작과 끝 위치 찾기
58
+ var startIndex = days.findIndex(function (date) {
59
+ var d = new Date(date);
60
+ d.setHours(0, 0, 0, 0);
61
+ return d.getTime() === scheduleStart.getTime();
62
+ });
63
+ var endIndex = days.findIndex(function (date) {
64
+ var d = new Date(date);
65
+ d.setHours(0, 0, 0, 0);
66
+ return d.getTime() === scheduleEnd.getTime();
67
+ });
68
+ if (startIndex !== -1 && endIndex !== -1) {
69
+ var startRow_1 = Math.floor(startIndex / 7) + 2; // 헤더(+1)와 0-based 인덱스(+1) 고려
70
+ var endRow = Math.floor(endIndex / 7) + 2;
71
+ var startCol = (startIndex % 7) + 1;
72
+ var endCol = (endIndex % 7) + 1;
73
+ // 이벤트가 겹치지 않도록 행별 인덱스 계산
74
+ var existingSchedulesInRow = multiWeekSchedules.filter(function (e) { return e.startRow === startRow_1; }).length;
75
+ multiWeekSchedules.push({
76
+ schedule: schedule,
77
+ startRow: startRow_1,
78
+ endRow: endRow,
79
+ startCol: startCol,
80
+ endCol: endCol,
81
+ scheduleIndex: existingSchedulesInRow
82
+ });
83
+ }
84
+ }
85
+ });
86
+ return multiWeekSchedules;
87
+ }, [days, getSchedulesForDate]);
88
+ // 시작 요일에 따라 정렬된 요일 헤더 생성
89
+ var orderedDayTexts = (function () {
90
+ var weekDates = [];
91
+ var today = new Date();
92
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
93
+ var firstDayOfWeek = new Date(today);
94
+ firstDayOfWeek.setDate(today.getDate() - ((today.getDay() - startIndex + 7) % 7));
95
+ for (var i = 0; i < 7; i += 1) {
96
+ var date = new Date(firstDayOfWeek);
97
+ date.setDate(firstDayOfWeek.getDate() + i);
98
+ weekDates.push(getDayTextByDate(date));
99
+ }
100
+ return weekDates;
101
+ })();
102
+ return ((0, jsx_runtime_1.jsxs)(S_MonthlyGrid, __assign({ "data-calendar-grid": true }, { children: [orderedDayTexts.map(function (day, index) { return ((0, jsx_runtime_1.jsx)(S_DayHeader, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", textAlign: "center", colorTheme: "sysTextSecondary", text: day }) }, "".concat(day, "-").concat(index))); }), days.map(function (date, index) {
103
+ var daySchedules = getSchedulesForDate(date);
104
+ // 종일 이벤트와 시간 이벤트 분리
105
+ var allDaySchedules = daySchedules.filter(function (schedule) {
106
+ if (!schedule.isAllDay)
107
+ return false;
108
+ var scheduleStart = new Date(schedule.startDate);
109
+ var scheduleEnd = new Date(schedule.endDate);
110
+ var checkDate = new Date(date);
111
+ // 날짜 비교를 위해 시간을 00:00:00으로 설정
112
+ scheduleStart.setHours(0, 0, 0, 0);
113
+ scheduleEnd.setHours(0, 0, 0, 0);
114
+ checkDate.setHours(0, 0, 0, 0);
115
+ // 단일 날짜의 종일 이벤트만 포함
116
+ return (scheduleStart.getTime() === scheduleEnd.getTime() &&
117
+ scheduleStart.getTime() === checkDate.getTime());
118
+ });
119
+ var timeSchedules = daySchedules.filter(function (schedule) { return !schedule.isAllDay; });
120
+ // 시간 이벤트를 시작 시간순으로 정렬
121
+ timeSchedules.sort(function (a, b) {
122
+ var timeA = new Date(a.startDate).getTime();
123
+ var timeB = new Date(b.startDate).getTime();
124
+ return timeA - timeB;
125
+ });
126
+ var visibleAllDaySchedules = allDaySchedules.slice(0, MAX_SCHEDULES_PER_DAY);
127
+ var visibleTimeSchedules = timeSchedules.slice(0, MAX_SCHEDULES_PER_DAY);
128
+ var hiddenSchedulesCount = daySchedules.length - (visibleAllDaySchedules.length + visibleTimeSchedules.length);
129
+ return ((0, jsx_runtime_1.jsxs)(S_CalendarCell, __assign({ "$isCurrentMonth": date.getMonth() === selectedDate.getMonth(), "$isToday": isToday(date), "$isSelected": selectedDates.some(function (selectedDate) { return selectedDate.toDateString() === date.toDateString(); }) ||
130
+ !!(dragStartDate &&
131
+ dragEndDate &&
132
+ date.getTime() >= Math.min(dragStartDate.getTime(), dragEndDate.getTime()) &&
133
+ date.getTime() <= Math.max(dragStartDate.getTime(), dragEndDate.getTime())), "$isPast": isPastDate(date), "$isDragOver": (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.toDateString()) === date.toDateString(), onClick: function (e) { return handleDateClick(date, e); }, onMouseUp: handleMouseUp, onDragOver: function (e) { return handleDateDragOver(date, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(date, e); } }, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: isToday(date) ? 'caption2Bold' : 'caption2Regular', textAlign: "center", colorTheme: isToday(date) ? 'sysTextBrandPrimary' : 'sysTextSecondary', text: date.getDate().toString() }), (0, jsx_runtime_1.jsxs)(S_SchedulesContainer, { children: [visibleAllDaySchedules.map(function (schedule) {
134
+ return renderScheduleItem(schedule, {
135
+ onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); },
136
+ onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); }
137
+ });
138
+ }), visibleTimeSchedules.map(function (schedule) {
139
+ return renderScheduleItem(schedule, {
140
+ onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); },
141
+ onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); }
142
+ });
143
+ }), daySchedules.length >= 3 && hiddenSchedulesCount > 0 && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: "".concat(hiddenSchedulesCount, " ").concat(t('calendar_more_schedules')), styleTheme: "caption2Regular" }))] })] }), index));
144
+ }), getMultiWeekSchedules.map(function (_a) {
145
+ var schedule = _a.schedule, startRow = _a.startRow, endRow = _a.endRow, startCol = _a.startCol, endCol = _a.endCol, scheduleIndex = _a.scheduleIndex;
146
+ var isSameRow = startRow === endRow;
147
+ var isSelected = selectedSchedules.some(function (s) { return s.id === schedule.id; });
148
+ if (isSameRow) {
149
+ // 단일 행
150
+ return ((0, jsx_runtime_1.jsxs)(S_MultiWeekSchedule, __assign({ "$color": schedule.color, "$startRow": startRow, "$endRow": endRow, "$startCol": startCol, "$endCol": endCol, "$scheduleIndex": scheduleIndex, "$isSelected": isSelected, draggable: true, onDragStart: function (e) {
151
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
152
+ }, onDragEnd: handleScheduleDragEnd, onClick: function (e) {
153
+ e.stopPropagation();
154
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
155
+ } }, { children: [(0, jsx_runtime_1.jsx)(ScheduleItem_1.S_Dot, { "$isSelected": isSelected }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: schedule.title, ellipsisMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined })] }), "multi-".concat(schedule.id)));
156
+ }
157
+ // 여러 행
158
+ var segments = [];
159
+ for (var row = startRow; row <= endRow; row += 1) {
160
+ var isFirstRow = row === startRow;
161
+ var isLastRow = row === endRow;
162
+ var segmentStartCol = isFirstRow ? startCol : 1;
163
+ var segmentEndCol = isLastRow ? endCol : 7;
164
+ segments.push((0, jsx_runtime_1.jsxs)(S_MultiWeekSchedule, __assign({ "$color": schedule.color, "$startRow": row, "$endRow": row, "$startCol": segmentStartCol, "$endCol": segmentEndCol, "$scheduleIndex": scheduleIndex, "$isSelected": isSelected, draggable: true, onDragStart: function (e) {
165
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
166
+ }, onDragEnd: handleScheduleDragEnd, onClick: function (e) {
167
+ e.stopPropagation();
168
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
169
+ } }, { children: [(0, jsx_runtime_1.jsx)(ScheduleItem_1.S_Dot, { "$isSelected": isSelected }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: schedule.title, ellipsisMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined })] }), "multi-".concat(schedule.id, "-row-").concat(row)));
170
+ }
171
+ return segments;
172
+ })] })));
173
+ };
174
+ exports.MonthlyView = MonthlyView;
175
+ var S_MonthlyGrid = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid;\n gap: 0;\n grid-template-columns: repeat(7, 1fr);\n grid-template-rows: auto repeat(6, 1fr); /* \uD5E4\uB354\uB294 auto, \uB098\uBA38\uC9C0 6\uC8FC\uB294 \uB3D9\uC77C\uD55C \uB192\uC774 */\n height: 100%; /* \uC140 \uAC04\uACA9\uC744 \uC81C\uAC70\uD558\uC5EC \uC774\uBCA4\uD2B8\uAC00 \uC5F0\uACB0\uB418\uC5B4 \uBCF4\uC774\uB3C4\uB85D */\n overflow-x: hidden; /* \uADF8\uB9AC\uB4DC \uACBD\uACC4\uB97C \uB118\uB294 \uC694\uC18C\uB97C \uC228\uAE40 */\n position: relative;\n"], ["\n display: grid;\n gap: 0;\n grid-template-columns: repeat(7, 1fr);\n grid-template-rows: auto repeat(6, 1fr); /* \uD5E4\uB354\uB294 auto, \uB098\uBA38\uC9C0 6\uC8FC\uB294 \uB3D9\uC77C\uD55C \uB192\uC774 */\n height: 100%; /* \uC140 \uAC04\uACA9\uC744 \uC81C\uAC70\uD558\uC5EC \uC774\uBCA4\uD2B8\uAC00 \uC5F0\uACB0\uB418\uC5B4 \uBCF4\uC774\uB3C4\uB85D */\n overflow-x: hidden; /* \uADF8\uB9AC\uB4DC \uACBD\uACC4\uB97C \uB118\uB294 \uC694\uC18C\uB97C \uC228\uAE40 */\n position: relative;\n"])));
176
+ var S_DayHeader = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border-bottom: 1px solid ", ";\n padding: 12px 8px;\n text-align: center;\n"], ["\n border-bottom: 1px solid ", ";\n padding: 12px 8px;\n text-align: center;\n"])), function (_a) {
177
+ var theme = _a.theme;
178
+ return theme.ui_cpnt_divider;
179
+ });
180
+ var S_CalendarCell = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: pointer;\n min-height: 120px;\n padding: 4px;\n position: relative;\n transition: background-color 0.2s;\n\n &:hover {\n background-color: ", ";\n }\n\n &:nth-child(7n + 1) {\n border-left: 1px solid ", ";\n }\n\n &:nth-child(-n + 7) {\n border-top: 1px solid ", ";\n }\n"], ["\n background-color: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: pointer;\n min-height: 120px;\n padding: 4px;\n position: relative;\n transition: background-color 0.2s;\n\n &:hover {\n background-color: ", ";\n }\n\n &:nth-child(7n + 1) {\n border-left: 1px solid ", ";\n }\n\n &:nth-child(-n + 7) {\n border-top: 1px solid ", ";\n }\n"])), function (_a) {
181
+ var $isSelected = _a.$isSelected, theme = _a.theme;
182
+ if ($isSelected)
183
+ return theme.ui_cpnt_sheet_base;
184
+ return 'transparent';
185
+ }, function (_a) {
186
+ var theme = _a.theme;
187
+ return theme.ui_cpnt_divider;
188
+ }, function (_a) {
189
+ var theme = _a.theme;
190
+ return theme.ui_cpnt_divider;
191
+ }, function (_a) {
192
+ var theme = _a.theme;
193
+ return theme.ui_cpnt_sheet_base;
194
+ }, function (_a) {
195
+ var theme = _a.theme;
196
+ return theme.ui_cpnt_divider;
197
+ }, function (_a) {
198
+ var theme = _a.theme;
199
+ return theme.ui_cpnt_divider;
200
+ });
201
+ var S_SchedulesContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 2px;\n overflow: visible;\n position: relative;\n"], ["\n display: flex;\n flex: 1;\n flex-direction: column;\n gap: 2px;\n overflow: visible;\n position: relative;\n"])));
202
+ var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: pointer;\n display: flex;\n font-size: 12px;\n height: 20px; /* \uACE0\uC815 \uB192\uC774\uB85C \uC124\uC815 */\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: grabbing;\n }\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: pointer;\n display: flex;\n font-size: 12px;\n height: 20px; /* \uACE0\uC815 \uB192\uC774\uB85C \uC124\uC815 */\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: grabbing;\n }\n"])), function (props) {
203
+ return props.$isSelected ? props.theme.ui_cpnt_sheet_base_06 : props.theme.ui_cpnt_sheet_base;
204
+ }, function (props) { return "calc((".concat(props.$startCol - 1, ") * (100% / 7) + 4px)"); }, function (props) {
205
+ var rowNumber = props.$startRow - 2; // 0-based row (첫번째주=0, 두번째주=1, ...)
206
+ var dateMargin = 35; // 날짜 숫자 아래 여백
207
+ var scheduleSpacing = (props.$scheduleIndex || 0) * 24; // 이벤트 간격
208
+ // 각 주별 시작 위치
209
+ var weekStartPositions = [
210
+ 44,
211
+ 170,
212
+ 300,
213
+ 428,
214
+ 559 // 5째 주
215
+ ];
216
+ var baseTop = weekStartPositions[rowNumber] || weekStartPositions[0];
217
+ return "calc(".concat(baseTop, "px + ").concat(dateMargin, "px + ").concat(scheduleSpacing, "px)");
218
+ }, function (props) { return "calc((".concat(props.$endCol - props.$startCol + 1, ") * (100% / 7) - 21px)"); }, function (_a) {
219
+ var theme = _a.theme;
220
+ return theme.ui_cpnt_sheet_base_06;
221
+ });
222
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,16 @@
1
+ import type { Schedule } from './types';
2
+ import type React from 'react';
3
+ interface ScheduleItemProps {
4
+ schedule: Schedule;
5
+ extraProps?: any;
6
+ onDragStart: (schedule: Schedule, e: React.DragEvent) => void;
7
+ onDragEnd: () => void;
8
+ onClick?: (schedule: Schedule, e?: React.MouseEvent) => void;
9
+ isSelected?: boolean;
10
+ isAllDay?: boolean;
11
+ }
12
+ export declare const ScheduleItem: React.FC<ScheduleItemProps>;
13
+ export declare const S_Dot: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
14
+ $isSelected?: boolean | undefined;
15
+ }, never>;
16
+ export {};
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.S_Dot = exports.ScheduleItem = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var styled_components_1 = __importDefault(require("styled-components"));
24
+ var TextLabel_1 = require("../TextLabel");
25
+ var ScheduleItem = function (_a) {
26
+ var schedule = _a.schedule, _b = _a.extraProps, extraProps = _b === void 0 ? {} : _b, onDragStart = _a.onDragStart, onDragEnd = _a.onDragEnd, onClick = _a.onClick, _c = _a.isSelected, isSelected = _c === void 0 ? false : _c, _d = _a.isAllDay, isAllDay = _d === void 0 ? false : _d;
27
+ return ((0, jsx_runtime_1.jsxs)(S_ScheduleItem, __assign({ "$color": schedule.color, "$position": "single", "$isSelected": isSelected, "$isAllday": isAllDay, draggable: true, onDragStart: function (e) { return onDragStart(schedule, e); }, onDragEnd: onDragEnd, onClick: function (e) {
28
+ e.stopPropagation();
29
+ onClick === null || onClick === void 0 ? void 0 : onClick(schedule, e);
30
+ } }, extraProps, { children: [(0, jsx_runtime_1.jsx)(exports.S_Dot, { "$isSelected": isSelected }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: schedule.title, colorTheme: isSelected ? 'sysTextWhite' : undefined, ellipsisMode: "use" })] }), schedule.id));
31
+ };
32
+ exports.ScheduleItem = ScheduleItem;
33
+ var S_ScheduleItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background: ", ";\n border: ", ";\n border-radius: 4px;\n cursor: grab;\n display: flex;\n padding: 2px 6px;\n position: relative;\n transition: opacity 0.2s ease, transform 0.2s ease;\n\n &:active {\n background: ", ";\n cursor: grabbing;\n }\n"], ["\n align-items: center;\n background: ", ";\n border: ", ";\n border-radius: 4px;\n cursor: grab;\n display: flex;\n padding: 2px 6px;\n position: relative;\n transition: opacity 0.2s ease, transform 0.2s ease;\n\n &:active {\n background: ", ";\n cursor: grabbing;\n }\n"])), function (props) {
34
+ if (props.$isSelected)
35
+ return props.theme.ui_cpnt_sheet_base_06;
36
+ if (props.$isAllday)
37
+ return props.theme.ui_cpnt_sheet_base;
38
+ return 'transparent';
39
+ }, function (props) {
40
+ return props.$isSelected ? "2px solid ".concat(props.theme.ui_cpnt_sheet_base_06) : 'none';
41
+ }, function (_a) {
42
+ var theme = _a.theme;
43
+ return theme.ui_cpnt_sheet_base_06;
44
+ });
45
+ exports.S_Dot = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n background: ", ";\n border-radius: 50%;\n height: 4px;\n margin-right: 4px;\n width: 4px;\n"], ["\n background: ", ";\n border-radius: 50%;\n height: 4px;\n margin-right: 4px;\n width: 4px;\n"])), function (_a) {
46
+ var $isSelected = _a.$isSelected, theme = _a.theme;
47
+ return $isSelected ? theme.ui_cpnt_icon_sys_white : theme.ui_cpnt_icon_sys_grey_02;
48
+ });
49
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { Schedule, displayAllDayScheduleMode } from './types';
3
+ interface WeeklyViewProps {
4
+ selectedDate: Date;
5
+ startOfWeek: 'sunday' | 'monday';
6
+ getDayTextByDate: (date: Date) => string;
7
+ defaultViewType: string;
8
+ displayAllDayScheduleMode?: displayAllDayScheduleMode;
9
+ getSchedulesForDate: (date: Date) => Schedule[];
10
+ isToday: (date: Date) => boolean;
11
+ isDragOverDate: Date | null;
12
+ handleDateDragOver: (date: Date, e: React.DragEvent) => void;
13
+ handleDateDragLeave: () => void;
14
+ handleDateDrop: (date: Date, e: React.DragEvent) => void;
15
+ handleDateClick: (date: Date) => void;
16
+ renderScheduleItem: (schedule: Schedule, extraProps?: any) => React.ReactNode;
17
+ handleScheduleDragStart: (schedule: Schedule, e: React.DragEvent) => void;
18
+ handleScheduleDragEnd: () => void;
19
+ }
20
+ export declare const WeeklyView: React.FC<WeeklyViewProps>;
21
+ export {};
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.WeeklyView = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var react_1 = require("react");
24
+ var react_i18next_1 = require("react-i18next");
25
+ var dateHelper_1 = require("../../../common/utils/dateHelper");
26
+ var styled_components_1 = __importDefault(require("styled-components"));
27
+ var TextLabel_1 = require("../TextLabel");
28
+ var AllDaySchedulesSection_1 = require("./AllDaySchedulesSection");
29
+ var calendarUtils_1 = require("./calendarUtils");
30
+ var CurrentTimeIndicator_1 = require("./CurrentTimeIndicator");
31
+ var timeFormatUtils_1 = require("./timeFormatUtils");
32
+ var WeeklyView = function (_a) {
33
+ var selectedDate = _a.selectedDate, startOfWeek = _a.startOfWeek, getDayTextByDate = _a.getDayTextByDate, defaultViewType = _a.defaultViewType, _b = _a.displayAllDayScheduleMode, displayAllDayScheduleMode = _b === void 0 ? 'use' : _b, getSchedulesForDate = _a.getSchedulesForDate, isToday = _a.isToday, isDragOverDate = _a.isDragOverDate, handleDateDragOver = _a.handleDateDragOver, handleDateDragLeave = _a.handleDateDragLeave, handleDateDrop = _a.handleDateDrop, handleDateClick = _a.handleDateClick, renderScheduleItem = _a.renderScheduleItem, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd;
34
+ var _c = (0, react_i18next_1.useTranslation)(), t = _c.t, i18n = _c.i18n;
35
+ // Generate calendar dates for weekly view
36
+ var calendarDates = (0, react_1.useMemo)(function () {
37
+ var dates = [];
38
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
39
+ var offset = (selectedDate.getDay() - startIndex + 7) % 7;
40
+ var weekStart = dateHelper_1.DateHelper.addDays(selectedDate, -offset);
41
+ for (var i = 0; i < 7; i += 1) {
42
+ dates.push(dateHelper_1.DateHelper.addDays(weekStart, i));
43
+ }
44
+ return dates;
45
+ }, [selectedDate, startOfWeek]);
46
+ 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) {
47
+ var dayText = getDayTextByDate(date);
48
+ var dateText = t('calendar_date_format', {
49
+ day: date.getDate(),
50
+ dayText: dayText
51
+ });
52
+ return ((0, jsx_runtime_1.jsx)(S_WeeklyDayHeader, __assign({ "$isToday": isToday(date) }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", colorTheme: isToday(date) ? 'sysTextBrandPrimary' : 'sysTextTertiary', text: dateText }) }), index));
53
+ })] }), (0, jsx_runtime_1.jsx)(AllDaySchedulesSection_1.AllDaySchedulesSection, { calendarDates: calendarDates, displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, renderScheduleItem: renderScheduleItem, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop }), (0, jsx_runtime_1.jsxs)(S_TimeGrid, { children: [(0, jsx_runtime_1.jsx)(CurrentTimeIndicator_1.CurrentTimeIndicator, { show: defaultViewType === 'WEEKLY' }), 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", colorTheme: "sysTextTertiary", text: (0, timeFormatUtils_1.formatTimeWithLocale)(hour, i18n.language, t) }) }), (0, jsx_runtime_1.jsx)(S_TimeSlots, { children: calendarDates.map(function (date, dayIndex) {
54
+ var timeSlotDate = new Date(date);
55
+ timeSlotDate.setHours(hour, 0, 0, 0);
56
+ var timedSchedules = getSchedulesForDate(date).filter(function (e) {
57
+ return !(0, calendarUtils_1.calculateIsAllDay)(new Date(e.startDate), new Date(e.endDate)) &&
58
+ new Date(e.startDate).getHours() === hour;
59
+ });
60
+ return ((0, jsx_runtime_1.jsx)(S_TimeSlot, __assign({ "$isDragOver": (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.getTime()) === timeSlotDate.getTime(), onClick: function () {
61
+ var clickedDate = new Date(date);
62
+ clickedDate.setHours(hour, 0, 0, 0);
63
+ handleDateClick(clickedDate);
64
+ }, onDoubleClick: function () {
65
+ var clickedDate = new Date(date);
66
+ clickedDate.setHours(hour, 0, 0, 0);
67
+ }, onDragOver: function (e) { return handleDateDragOver(timeSlotDate, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(timeSlotDate, e); } }, { children: timedSchedules.map(function (schedule) {
68
+ return renderScheduleItem(schedule, {
69
+ onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); },
70
+ onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); }
71
+ });
72
+ }) }), dayIndex));
73
+ }) })] }, hour)); })] })] }));
74
+ };
75
+ exports.WeeklyView = WeeklyView;
76
+ var S_WeeklyContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n height: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n height: 100%;\n"])));
77
+ var S_WeeklyHeader = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n"], ["\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n"])));
78
+ var S_TimeColumnHeader = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
79
+ var S_WeeklyDayHeader = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n padding: 12px 8px;\n text-align: center;\n"], ["\n padding: 12px 8px;\n text-align: center;\n"])));
80
+ var S_TimeGrid = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n flex: 1;\n overflow-y: auto;\n position: relative;\n"], ["\n flex: 1;\n overflow-y: auto;\n position: relative;\n"])));
81
+ var S_TimeRow = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n height: 60px;\n"], ["\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n height: 60px;\n"])));
82
+ var S_TimeLabel = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n align-items: center;\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n display: flex;\n justify-content: center;\n padding: 8px;\n"], ["\n align-items: center;\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n display: flex;\n justify-content: center;\n padding: 8px;\n"])), function (_a) {
83
+ var theme = _a.theme;
84
+ return theme.ui_cpnt_divider;
85
+ }, function (_a) {
86
+ var theme = _a.theme;
87
+ return theme.ui_cpnt_divider;
88
+ });
89
+ var S_TimeSlots = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
90
+ var S_TimeSlot = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: pointer;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"], ["\n background: ", ";\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n cursor: pointer;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"])), function (props) { return (props.$isDragOver ? props.theme.ui_cpnt_sheet_base : 'transparent'); }, function (_a) {
91
+ var theme = _a.theme;
92
+ return theme.ui_cpnt_divider;
93
+ }, function (_a) {
94
+ var theme = _a.theme;
95
+ return theme.ui_cpnt_divider;
96
+ }, function (_a) {
97
+ var theme = _a.theme;
98
+ return theme.ui_cpnt_sheet_base;
99
+ });
100
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
@@ -0,0 +1,11 @@
1
+ import type React from 'react';
2
+ interface YearlyViewProps {
3
+ selectedDate: Date;
4
+ getMonthDates: (year: number, month: number) => Date[];
5
+ getDayTextByDate: (date: Date) => string;
6
+ startOfWeek: 'sunday' | 'monday';
7
+ isToday: (date: Date) => boolean;
8
+ handleDateClick: (date: Date) => void;
9
+ }
10
+ export declare const YearlyView: React.FC<YearlyViewProps>;
11
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.YearlyView = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var react_i18next_1 = require("react-i18next");
24
+ var styled_components_1 = __importDefault(require("styled-components"));
25
+ var TextLabel_1 = require("../TextLabel");
26
+ var YearlyView = function (_a) {
27
+ var selectedDate = _a.selectedDate, getMonthDates = _a.getMonthDates, getDayTextByDate = _a.getDayTextByDate, startOfWeek = _a.startOfWeek, isToday = _a.isToday, handleDateClick = _a.handleDateClick;
28
+ var t = (0, react_i18next_1.useTranslation)().t;
29
+ var currentYear = selectedDate.getFullYear();
30
+ var orderedDayTexts = (function () {
31
+ var weekDates = [];
32
+ var today = new Date();
33
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
34
+ var firstDayOfWeek = new Date(today);
35
+ firstDayOfWeek.setDate(today.getDate() - ((today.getDay() - startIndex + 7) % 7));
36
+ for (var i = 0; i < 7; i += 1) {
37
+ var date = new Date(firstDayOfWeek);
38
+ date.setDate(firstDayOfWeek.getDate() + i);
39
+ weekDates.push(getDayTextByDate(date));
40
+ }
41
+ return weekDates;
42
+ })();
43
+ var getDateColorTheme = function (isTodayDate) {
44
+ if (isTodayDate) {
45
+ return 'sysTextBrandPrimary';
46
+ }
47
+ return 'sysTextTertiary';
48
+ };
49
+ return ((0, jsx_runtime_1.jsx)(S_YearlyGrid, { children: Array.from({ length: 12 }, function (_unused, monthIndex) {
50
+ var monthDates = getMonthDates(currentYear, monthIndex);
51
+ return ((0, jsx_runtime_1.jsxs)(S_YearlyMonth, { children: [(0, jsx_runtime_1.jsx)(S_YearlyMonthHeader, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: t("calendar_month_".concat(monthIndex + 1)), styleTheme: "body1Bold", colorTheme: "sysTextBrandPrimary" }) }), (0, jsx_runtime_1.jsxs)(S_YearlyMiniCalendar, { children: [(0, jsx_runtime_1.jsx)(S_YearlyDayHeaders, { children: orderedDayTexts.map(function (day, index) { return ((0, jsx_runtime_1.jsx)(S_YearlyDayHeader, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: day, styleTheme: "caption2Regular", textAlign: "center", colorTheme: "sysTextTertiary" }) }, "".concat(day, "-").concat(index))); }) }), (0, jsx_runtime_1.jsx)(S_YearlyDatesGrid, { children: monthDates.map(function (date, dateIndex) {
52
+ var isCurrentMonth = date.getMonth() === monthIndex;
53
+ var isTodayDate = isToday(date);
54
+ return ((0, jsx_runtime_1.jsx)(S_YearlyDateCell, __assign({ "$isToday": isTodayDate, "$isCurrentMonth": isCurrentMonth, onClick: function () { return handleDateClick(date); } }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: date.getDate().toString(), styleTheme: "caption2Regular", textAlign: "center", colorTheme: getDateColorTheme(isTodayDate) }) }), dateIndex));
55
+ }) })] })] }, monthIndex));
56
+ }) }));
57
+ };
58
+ exports.YearlyView = YearlyView;
59
+ // Styled Components
60
+ var S_YearlyGrid = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid;\n gap: 24px 32px;\n grid-template-columns: repeat(4, 1fr);\n margin: 0 auto;\n max-width: 1200px;\n padding: 24px;\n"], ["\n display: grid;\n gap: 24px 32px;\n grid-template-columns: repeat(4, 1fr);\n margin: 0 auto;\n max-width: 1200px;\n padding: 24px;\n"])));
61
+ var S_YearlyMonth = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-width: 240px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-width: 240px;\n"])));
62
+ var S_YearlyMonthHeader = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding-left: 4px;\n"], ["\n padding-left: 4px;\n"])));
63
+ var S_YearlyMiniCalendar = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 4px;\n"])));
64
+ var S_YearlyDayHeaders = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: grid;\n gap: 1px;\n grid-template-columns: repeat(7, 1fr);\n"], ["\n display: grid;\n gap: 1px;\n grid-template-columns: repeat(7, 1fr);\n"])));
65
+ var S_YearlyDayHeader = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n justify-content: center;\n min-height: 20px;\n padding: 4px 2px;\n text-align: center;\n"], ["\n align-items: center;\n display: flex;\n justify-content: center;\n min-height: 20px;\n padding: 4px 2px;\n text-align: center;\n"])));
66
+ var S_YearlyDatesGrid = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n display: grid;\n gap: 1px;\n grid-template-columns: repeat(7, 1fr);\n"], ["\n display: grid;\n gap: 1px;\n grid-template-columns: repeat(7, 1fr);\n"])));
67
+ var S_YearlyDateCell = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n align-items: center;\n cursor: pointer;\n display: flex;\n justify-content: center;\n min-height: 24px;\n opacity: ", ";\n\n &:hover {\n background: ", ";\n }\n"], ["\n align-items: center;\n cursor: pointer;\n display: flex;\n justify-content: center;\n min-height: 24px;\n opacity: ", ";\n\n &:hover {\n background: ", ";\n }\n"])), function (props) { return (props.$isCurrentMonth ? 1 : 0.3); }, function (_a) {
68
+ var theme = _a.theme;
69
+ return theme.ui_72;
70
+ });
71
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;
@@ -0,0 +1,24 @@
1
+ import type { CalendarViewType } from './types';
2
+ import type { TFunction } from 'i18next';
3
+ /**
4
+ * 일정이 종일 일정인지 확인하는 함수
5
+ * @param startDate 시작 날짜
6
+ * @param endDate 종료 날짜
7
+ * @returns 종일 일정 여부
8
+ */
9
+ export declare const calculateIsAllDay: (startDate: Date, endDate: Date) => boolean;
10
+ export declare const calculateDateRange: (viewType: CalendarViewType, baseDate: Date) => {
11
+ startDate: Date;
12
+ endDate: Date;
13
+ };
14
+ /**
15
+ * 뷰 타입에 따른 헤더 텍스트를 반환하는 함수
16
+ * @param viewType 캘린더 뷰 타입 (DAILY, WEEKLY, MONTHLY, YEARLY)
17
+ * @param selectedDate 선택된 날짜
18
+ * @param t 다국어 변환 함수 (i18next)
19
+ * @param monthNames 월 이름 배열 (예: ['1월', '2월', ...])
20
+ * @param getDayTextByDate 날짜에 따른 요일 텍스트 반환 함수
21
+ * @returns 헤더에 표시할 텍스트
22
+ */
23
+ export declare const getHeaderText: (viewType: CalendarViewType, selectedDate: Date, t: TFunction, monthNames: string[], getDayTextByDate: (date: Date) => string) => string;
24
+ export declare const toUTC: (date: Date | null | undefined) => string | null;