pds-dev-kit-web-test 2.5.484 → 2.5.485

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 (199) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.js +3 -2
  3. package/dist/src/common/hooks/useTooltip.js +1 -1
  4. package/dist/src/common/services/i18n/resources/en.json +31 -1
  5. package/dist/src/common/services/i18n/resources/es.json +30 -1
  6. package/dist/src/common/services/i18n/resources/fil.json +30 -1
  7. package/dist/src/common/services/i18n/resources/index.d.ts +208 -0
  8. package/dist/src/common/services/i18n/resources/ja.json +31 -1
  9. package/dist/src/common/services/i18n/resources/ko.json +31 -1
  10. package/dist/src/common/services/i18n/resources/zh-cn.json +31 -1
  11. package/dist/src/common/services/i18n/resources/zh-tw.json +31 -1
  12. package/dist/src/common/styles/colorSet/index.d.ts +2 -2
  13. package/dist/src/common/styles/colorSet/index.js +2 -2
  14. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +1 -1
  15. package/dist/src/common/utils/dateHelper.d.ts +3 -0
  16. package/dist/src/common/utils/dateHelper.js +37 -0
  17. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
  18. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +13 -0
  19. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +132 -0
  20. package/dist/src/desktop/components/Calendar/Calendar.d.ts +4 -0
  21. package/dist/src/desktop/components/Calendar/Calendar.js +384 -0
  22. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +7 -0
  23. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +48 -0
  24. package/dist/src/desktop/components/Calendar/DailyView.d.ts +17 -0
  25. package/dist/src/desktop/components/Calendar/DailyView.js +64 -0
  26. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +27 -0
  27. package/dist/src/desktop/components/Calendar/MonthlyView.js +263 -0
  28. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.d.ts +19 -0
  29. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.js +73 -0
  30. package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +16 -0
  31. package/dist/src/desktop/components/Calendar/ScheduleItem.js +50 -0
  32. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.d.ts +9 -0
  33. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.js +170 -0
  34. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +21 -0
  35. package/dist/src/desktop/components/Calendar/WeeklyView.js +91 -0
  36. package/dist/src/desktop/components/Calendar/YearlyView.d.ts +12 -0
  37. package/dist/src/desktop/components/Calendar/YearlyView.js +76 -0
  38. package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +24 -0
  39. package/dist/src/desktop/components/Calendar/calendarUtils.js +112 -0
  40. package/dist/src/desktop/components/Calendar/constants.d.ts +1 -0
  41. package/dist/src/desktop/components/Calendar/constants.js +31 -0
  42. package/dist/src/desktop/components/Calendar/index.d.ts +10 -0
  43. package/dist/src/desktop/components/Calendar/index.js +37 -0
  44. package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +16 -0
  45. package/dist/src/desktop/components/Calendar/timeFormatUtils.js +45 -0
  46. package/dist/src/desktop/components/Calendar/types.d.ts +60 -0
  47. package/dist/src/desktop/components/index.d.ts +2 -1
  48. package/dist/src/desktop/components/index.js +3 -1
  49. package/dist/src/desktop/index.d.ts +1 -1
  50. package/dist/src/desktop/index.js +2 -1
  51. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +1 -4
  52. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +3 -5
  53. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +53 -53
  54. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  55. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  56. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  57. package/dist/src/sub/DynamicLayout/DynamicLayout.js +2 -4
  58. package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +2 -24
  59. package/dist/src/sub/DynamicLayout/components/Section/sectionContext.d.ts +2 -2
  60. package/dist/src/sub/DynamicLayout/components/Section/util/parseSectionBackgroundMediaData.js +1 -3
  61. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.d.ts +0 -40
  62. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.js +177 -36
  63. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_Dark.json +4 -152
  64. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_light.json +2 -150
  65. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/SemanticColor.json +1 -45
  66. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/UIColor.json +9 -262
  67. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/index.d.ts +0 -593
  68. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/ui-type.d.ts +0 -253
  69. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +1 -3
  70. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.js +3 -5
  71. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +1 -2
  72. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.js +2 -9
  73. package/dist/src/sub/DynamicLayout/mocks.d.ts +960 -8
  74. package/dist/src/sub/DynamicLayout/mocks.js +4239 -55
  75. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -4
  76. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +1 -1
  77. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +11 -12
  78. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +3 -13
  79. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +2 -18
  80. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +4 -10
  81. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +3 -134
  82. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +3 -39
  83. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +7 -31
  84. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +1 -45
  85. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/group.d.ts +1 -1
  86. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +1 -1
  87. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +10 -27
  88. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +1 -3
  89. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim.d.ts +4 -4
  90. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding.d.ts +2 -2
  91. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +2 -2
  92. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +2 -7
  93. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +13 -18
  94. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
  95. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -53
  96. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +1 -1
  97. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +0 -1
  98. package/dist/src/sub/DynamicLayout/types.d.ts +17 -64
  99. package/package.json +2 -3
  100. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.d.ts +0 -22
  101. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.js +0 -1133
  102. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.d.ts +0 -11
  103. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.js +0 -45
  104. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.d.ts +0 -10
  105. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.js +0 -79
  106. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.d.ts +0 -12
  107. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.js +0 -76
  108. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.d.ts +0 -4
  109. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.js +0 -47
  110. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.d.ts +0 -12
  111. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.js +0 -76
  112. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.d.ts +0 -12
  113. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.js +0 -76
  114. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.d.ts +0 -12
  115. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.js +0 -76
  116. package/dist/src/sub/DynamicLayout/compositionActionTypes.d.ts +0 -139
  117. package/dist/src/sub/DynamicLayout/compositionActionTypes.js +0 -2
  118. package/dist/src/sub/DynamicLayout/compositionQueryContext.d.ts +0 -8
  119. package/dist/src/sub/DynamicLayout/compositionQueryContext.js +0 -14
  120. package/dist/src/sub/DynamicLayout/mock_componentBlocks.d.ts +0 -776
  121. package/dist/src/sub/DynamicLayout/mock_componentBlocks.js +0 -4236
  122. package/dist/src/sub/DynamicLayout/mock_composition.d.ts +0 -3
  123. package/dist/src/sub/DynamicLayout/mock_composition.js +0 -1607
  124. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.d.ts +0 -1
  125. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.js +0 -1111
  126. package/dist/src/sub/DynamicLayout/mock_contentsList.d.ts +0 -1
  127. package/dist/src/sub/DynamicLayout/mock_contentsList.js +0 -1091
  128. package/dist/src/sub/DynamicLayout/mock_queryData.d.ts +0 -96
  129. package/dist/src/sub/DynamicLayout/mock_queryData.js +0 -2639
  130. package/dist/src/sub/DynamicLayout/mock_slideBanner.d.ts +0 -842
  131. package/dist/src/sub/DynamicLayout/mock_slideBanner.js +0 -854
  132. package/dist/src/sub/DynamicLayout/mock_video.d.ts +0 -368
  133. package/dist/src/sub/DynamicLayout/mock_video.js +0 -371
  134. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.d.ts +0 -12
  135. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.js +0 -61
  136. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.d.ts +0 -15
  137. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.js +0 -69
  138. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.d.ts +0 -15
  139. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.js +0 -69
  140. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.d.ts +0 -9
  141. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.js +0 -87
  142. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.d.ts +0 -4
  143. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.js +0 -849
  144. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.d.ts +0 -43
  145. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.js +0 -162
  146. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.d.ts +0 -39
  147. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.js +0 -182
  148. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.d.ts +0 -18
  149. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.js +0 -229
  150. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.d.ts +0 -14
  151. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.js +0 -46
  152. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.d.ts +0 -1
  153. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.js +0 -8
  154. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/types.d.ts +0 -139
  155. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.d.ts +0 -14
  156. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +0 -206
  157. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.d.ts +0 -17
  158. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.js +0 -39
  159. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.d.ts +0 -10
  160. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.js +0 -85
  161. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.d.ts +0 -25
  162. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.js +0 -183
  163. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.d.ts +0 -29
  164. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.js +0 -128
  165. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.d.ts +0 -18
  166. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.js +0 -229
  167. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.d.ts +0 -1
  168. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.js +0 -8
  169. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.d.ts +0 -67
  170. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.js +0 -2
  171. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.d.ts +0 -14
  172. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.js +0 -151
  173. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.d.ts +0 -12
  174. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.js +0 -39
  175. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.d.ts +0 -15
  176. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.js +0 -69
  177. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.d.ts +0 -15
  178. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.js +0 -69
  179. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.d.ts +0 -20
  180. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +0 -173
  181. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.d.ts +0 -9
  182. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.js +0 -87
  183. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.d.ts +0 -4
  184. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.js +0 -849
  185. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.d.ts +0 -43
  186. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.js +0 -162
  187. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.d.ts +0 -18
  188. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.js +0 -229
  189. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.d.ts +0 -16
  190. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.js +0 -63
  191. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.d.ts +0 -1
  192. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.js +0 -8
  193. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.d.ts +0 -46
  194. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.js +0 -186
  195. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.d.ts +0 -163
  196. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.js +0 -2
  197. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.d.ts +0 -14
  198. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.js +0 -26
  199. /package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel → desktop/components/Calendar}/types.js +0 -0
@@ -82,6 +82,43 @@ var DateHelper = /** @class */ (function () {
82
82
  var calendarStart = this.addDays(start, -offset);
83
83
  return Array.from({ length: 42 }, function (_, i) { return _this.addDays(calendarStart, i); });
84
84
  };
85
+ /*
86
+ * 월의 마지막 날짜 반환
87
+ */
88
+ DateHelper.endOfMonth = function (date) {
89
+ return new Date(date.getFullYear(), date.getMonth() + 1, 0);
90
+ };
91
+ /*
92
+ * 일반 캘린더처럼 현재 달의 날짜만 표시하고, 필요한 경우에만 이전/다음 달의 날짜를 포함
93
+ */
94
+ DateHelper.getCalendarDatesForCalendar = function (monthDate, startOfWeek) {
95
+ var start = this.startOfMonth(monthDate);
96
+ var end = this.endOfMonth(monthDate);
97
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
98
+ // 시작 날짜의 요일 조정
99
+ var startOffset = (start.getDay() - startIndex + 7) % 7;
100
+ var calendarStart = this.addDays(start, -startOffset);
101
+ // 마지막 날짜의 요일 조정
102
+ var endOffset = (6 - end.getDay() + startIndex) % 7;
103
+ var calendarEnd = this.addDays(end, endOffset);
104
+ // 전체 날짜 배열 생성
105
+ var dates = [];
106
+ var currentDate = new Date(calendarStart);
107
+ while (currentDate <= calendarEnd) {
108
+ dates.push(new Date(currentDate));
109
+ currentDate = this.addDays(currentDate, 1);
110
+ }
111
+ return dates;
112
+ };
113
+ DateHelper.getDatesInRange = function (startDate, endDate) {
114
+ var dates = [];
115
+ var currentDate = new Date(startDate);
116
+ while (currentDate <= endDate) {
117
+ dates.push(new Date(currentDate));
118
+ currentDate.setDate(currentDate.getDate() + 1);
119
+ }
120
+ return dates;
121
+ };
85
122
  return DateHelper;
86
123
  }());
87
124
  exports.DateHelper = DateHelper;
@@ -105,7 +105,7 @@ function BasicButtonGroup(_a) {
105
105
  var isHoveredButton = index === hoveredButtonIndex;
106
106
  return ((0, jsx_runtime_1.jsxs)(S_BasicButton, __assign({ size: size, onClick: function (e) { return onClick && onClick(e); }, onMouseDown: function (e) { return onMouseDown && onMouseDown(e); }, onPointerEnter: function () { return setHoveredButtonIndex(index); }, onPointerLeave: function () { return setHoveredButtonIndex(null); }, disabled: state === 'disabled' || buttonState === 'disabled', backgroundColorTheme: backgroundColorTheme }, { children: [(0, jsx_runtime_1.jsx)(components_1.Icon, { iconName: iconName, size: size === 'small' ? 20 : 24, fillType: iconFillType, colorKey: getColorKey(buttonState, iconColorTheme) }), tooltipText &&
107
107
  isHoveredButton &&
108
- (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(S_TooltipWrapper, __assign({ className: "TooltipWrapper", ref: tooltipRef, tooltipPositionCss: tooltipPositionCss, size: size }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: tooltipText, colorOverride: "ui_cpnt_textlabel_button_tooltip", styleTheme: "caption2Regular", colorTheme: "sysTextSecondary" }) })), document.getElementById('tooltip-root'))] }), iconName + index));
108
+ (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(S_TooltipWrapper, __assign({ className: "TooltipWrapper", ref: tooltipRef, tooltipPositionCss: tooltipPositionCss, size: size }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: tooltipText, colorOverride: "ui_cpnt_textlabel_button_tooltip", styleTheme: "caption2Regular", colorTheme: "sysTextSecondary" }) })), document.body)] }), iconName + index));
109
109
  }) })));
110
110
  }
111
111
  var S_BasicButtonGroup = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n width: max-content;\n\n & > button:not(:last-child) {\n margin-right: ", ";\n }\n"], ["\n align-items: center;\n display: flex;\n width: max-content;\n\n & > button:not(:last-child) {\n margin-right: ", ";\n }\n"])), function (_a) {
@@ -0,0 +1,13 @@
1
+ import type { Schedule, displayAllDayScheduleMode } from './types';
2
+ import type React from 'react';
3
+ interface AllDaySchedulesSectionProps {
4
+ calendarDates: Date[];
5
+ displayAllDayScheduleMode?: displayAllDayScheduleMode;
6
+ getSchedulesForDate: (date: Date) => Schedule[];
7
+ renderScheduleItem: (schedule: Schedule, extraProps?: any) => React.ReactNode;
8
+ handleDateDragOver: (date: Date, e: React.DragEvent) => void;
9
+ handleDateDragLeave: () => void;
10
+ handleDateDrop: (date: Date, e: React.DragEvent) => void;
11
+ }
12
+ export declare const AllDaySchedulesSection: React.FC<AllDaySchedulesSectionProps>;
13
+ export {};
@@ -0,0 +1,132 @@
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.AllDaySchedulesSection = 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 styled_components_1 = __importDefault(require("styled-components"));
26
+ var TextLabel_1 = require("../TextLabel");
27
+ var calendarUtils_1 = require("./calendarUtils");
28
+ var AllDaySchedulesSection = function (_a) {
29
+ var calendarDates = _a.calendarDates, _b = _a.displayAllDayScheduleMode, displayAllDayScheduleMode = _b === void 0 ? 'use' : _b, getSchedulesForDate = _a.getSchedulesForDate, renderScheduleItem = _a.renderScheduleItem, handleDateDragOver = _a.handleDateDragOver, handleDateDragLeave = _a.handleDateDragLeave, handleDateDrop = _a.handleDateDrop;
30
+ var t = (0, react_i18next_1.useTranslation)().t;
31
+ // 다중 날짜 종일 이벤트 계산
32
+ var multiDayAllDaySchedules = (0, react_1.useMemo)(function () {
33
+ var allSchedules = new Map();
34
+ var multiDaySchedules = [];
35
+ // 모든 종일 이벤트 수집
36
+ calendarDates.forEach(function (date) {
37
+ var schedulesForDate = getSchedulesForDate(date);
38
+ schedulesForDate.forEach(function (schedule) {
39
+ if (!(0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate))) {
40
+ return;
41
+ }
42
+ var scheduleStart = new Date(schedule.startDate);
43
+ var scheduleEnd = new Date(schedule.endDate);
44
+ scheduleStart.setHours(0, 0, 0, 0);
45
+ scheduleEnd.setHours(0, 0, 0, 0);
46
+ // 단일 날짜 종일 이벤트는 제외
47
+ if (scheduleStart.getTime() === scheduleEnd.getTime()) {
48
+ return;
49
+ }
50
+ allSchedules.set(schedule.id, schedule);
51
+ });
52
+ });
53
+ // 주간 뷰의 시작/끝 날짜 계산
54
+ var weekStart = new Date(calendarDates[0]);
55
+ var weekEnd = new Date(calendarDates[calendarDates.length - 1]);
56
+ weekStart.setHours(0, 0, 0, 0);
57
+ weekEnd.setHours(0, 0, 0, 0);
58
+ // 다중 날짜 이벤트의 위치 계산
59
+ var scheduleIndexCounter = 0;
60
+ allSchedules.forEach(function (schedule) {
61
+ var scheduleStart = new Date(schedule.startDate);
62
+ var scheduleEnd = new Date(schedule.endDate);
63
+ scheduleStart.setHours(0, 0, 0, 0);
64
+ scheduleEnd.setHours(0, 0, 0, 0);
65
+ // 이벤트가 현재 주와 교차하지 않으면 건너뛰기
66
+ var isIntersecting = !(scheduleEnd.getTime() < weekStart.getTime() || scheduleStart.getTime() > weekEnd.getTime());
67
+ if (!isIntersecting) {
68
+ return;
69
+ }
70
+ // 표시할 실제 시작/끝 날짜 계산 (주간 뷰 범위 내로 제한)
71
+ var displayStart = new Date(Math.max(scheduleStart.getTime(), weekStart.getTime()));
72
+ var displayEnd = new Date(Math.min(scheduleEnd.getTime(), weekEnd.getTime()));
73
+ // 시작과 끝 컬럼 찾기
74
+ var startIndex = calendarDates.findIndex(function (date) {
75
+ var d = new Date(date);
76
+ d.setHours(0, 0, 0, 0);
77
+ return d.getTime() === displayStart.getTime();
78
+ });
79
+ var endIndex = calendarDates.findIndex(function (date) {
80
+ var d = new Date(date);
81
+ d.setHours(0, 0, 0, 0);
82
+ return d.getTime() === displayEnd.getTime();
83
+ });
84
+ if (startIndex === -1 || endIndex === -1) {
85
+ return;
86
+ }
87
+ var startCol = startIndex + 2; // 라벨 컬럼(1) + 0-based 인덱스 보정
88
+ var endCol = endIndex + 2;
89
+ multiDaySchedules.push({
90
+ schedule: schedule,
91
+ startCol: startCol,
92
+ endCol: endCol,
93
+ scheduleIndex: scheduleIndexCounter
94
+ });
95
+ scheduleIndexCounter += 1;
96
+ });
97
+ return multiDaySchedules;
98
+ }, [calendarDates, getSchedulesForDate]);
99
+ if (displayAllDayScheduleMode === 'none') {
100
+ return null;
101
+ }
102
+ return ((0, jsx_runtime_1.jsxs)(S_WeeklyAllDaySection, __assign({ "$rowCount": Math.max(1, multiDayAllDaySchedules.length) }, { children: [(0, jsx_runtime_1.jsx)(S_AllDayLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption1Regular", colorTheme: "sysTextTertiary", text: t('calendar_all_day') }) }), (0, jsx_runtime_1.jsx)(S_WeeklyAllDayGrid, { children: calendarDates.map(function (date, index) {
103
+ // 단일 날짜 종일 이벤트만 표시
104
+ var singleDayAllDaySchedules = getSchedulesForDate(date).filter(function (schedule) {
105
+ var isAllDay = (0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate));
106
+ if (!isAllDay)
107
+ return false;
108
+ var scheduleStart = new Date(schedule.startDate);
109
+ var scheduleEnd = new Date(schedule.endDate);
110
+ scheduleStart.setHours(0, 0, 0, 0);
111
+ scheduleEnd.setHours(0, 0, 0, 0);
112
+ // 단일 날짜 종일 이벤트만 포함
113
+ return scheduleStart.getTime() === scheduleEnd.getTime();
114
+ });
115
+ return ((0, jsx_runtime_1.jsx)(S_WeeklyAllDayCell, __assign({ onDragOver: function (e) { return handleDateDragOver(date, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(date, e); } }, { children: singleDayAllDaySchedules.map(function (schedule) { return renderScheduleItem(schedule); }) }), index));
116
+ }) }), multiDayAllDaySchedules.map(function (_a) {
117
+ var schedule = _a.schedule, startCol = _a.startCol, endCol = _a.endCol, scheduleIndex = _a.scheduleIndex;
118
+ return ((0, jsx_runtime_1.jsx)(S_MultiDayAllDaySchedule, __assign({ "$startCol": startCol, "$endCol": endCol, "$scheduleIndex": scheduleIndex }, { children: renderScheduleItem(schedule) }), "multi-".concat(schedule.id)));
119
+ })] })));
120
+ };
121
+ exports.AllDaySchedulesSection = AllDaySchedulesSection;
122
+ var S_WeeklyAllDaySection = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n border-bottom: 1px solid ", ";\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n grid-template-rows: repeat(", ", 24px);\n min-height: 40px;\n position: relative;\n"], ["\n border-bottom: 1px solid ", ";\n display: grid;\n grid-template-columns: 80px repeat(7, 1fr);\n grid-template-rows: repeat(", ", 24px);\n min-height: 40px;\n position: relative;\n"])), function (_a) {
123
+ var theme = _a.theme;
124
+ return theme.ui_cpnt_divider;
125
+ }, function (props) { return props.$rowCount; });
126
+ var S_AllDayLabel = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n justify-content: center;\n padding: 8px;\n"], ["\n align-items: center;\n display: flex;\n justify-content: center;\n padding: 8px;\n"])));
127
+ var S_WeeklyAllDayGrid = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: contents;\n"], ["\n display: contents;\n"])));
128
+ var S_WeeklyAllDayCell = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 2px;\n padding: 4px;\n"], ["\n align-items: center;\n display: flex;\n gap: 2px;\n padding: 4px;\n"])));
129
+ var S_MultiDayAllDaySchedule = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n grid-area: ", ";\n margin: 2px;\n position: relative;\n z-index: 10;\n"], ["\n grid-area: ", ";\n margin: 2px;\n position: relative;\n z-index: 10;\n"])), function (props) {
130
+ return "".concat(1 + props.$scheduleIndex, " / ").concat(props.$startCol, " / ").concat(2 + props.$scheduleIndex, " / ").concat(props.$endCol + 1);
131
+ });
132
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CalendarProps } from './types';
3
+ declare const Calendar: React.FC<CalendarProps>;
4
+ export default Calendar;
@@ -0,0 +1,384 @@
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 __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
18
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
19
+ if (ar || !(i in from)) {
20
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
21
+ ar[i] = from[i];
22
+ }
23
+ }
24
+ return to.concat(ar || Array.prototype.slice.call(from));
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ var jsx_runtime_1 = require("react/jsx-runtime");
31
+ var react_1 = require("react");
32
+ var react_i18next_1 = require("react-i18next");
33
+ var dateHelper_1 = require("../../../common/utils/dateHelper");
34
+ var styled_components_1 = __importDefault(require("styled-components"));
35
+ var Dropdown_1 = require("../Dropdown");
36
+ var IconButton_1 = require("../IconButton");
37
+ var TextButton_1 = require("../TextButton");
38
+ var TextLabel_1 = require("../TextLabel");
39
+ var calendarUtils_1 = require("./calendarUtils");
40
+ var DailyView_1 = require("./DailyView");
41
+ var MonthlyView_1 = require("./MonthlyView");
42
+ var ScheduleItem_1 = require("./ScheduleItem");
43
+ var WeeklyView_1 = require("./WeeklyView");
44
+ var YearlyView_1 = require("./YearlyView");
45
+ var Calendar = function (_a) {
46
+ var _b = _a.defaultViewType, defaultViewType = _b === void 0 ? 'MONTHLY' : _b, _c = _a.viewTypes, viewTypes = _c === void 0 ? ['MONTHLY', 'WEEKLY', 'DAILY', 'YEARLY'] : _c, _d = _a.displayAllDayScheduleMode, displayAllDayScheduleMode = _d === void 0 ? 'use' : _d, _e = _a.startOfWeek, startOfWeek = _e === void 0 ? 'sunday' : _e, _f = _a.todayBtnMode, todayBtnMode = _f === void 0 ? 'use' : _f, _g = _a.schedules, schedules = _g === void 0 ? [] : _g, config = _a.config, onActionDispatch = _a.onActionDispatch;
47
+ var t = (0, react_i18next_1.useTranslation)().t;
48
+ var _h = (0, react_1.useState)(defaultViewType), currentViewType = _h[0], setCurrentViewType = _h[1];
49
+ var _j = (0, react_1.useState)(new Date()), selectedDate = _j[0], setSelectedDate = _j[1];
50
+ var _k = (0, react_1.useState)(null), dragStartDate = _k[0], setDragStartDate = _k[1];
51
+ var _l = (0, react_1.useState)(null), dragEndDate = _l[0], setDragEndDate = _l[1];
52
+ var _m = (0, react_1.useState)(false), isDragging = _m[0], setIsDragging = _m[1];
53
+ var _o = (0, react_1.useState)(null), draggedSchedule = _o[0], setDraggedSchedule = _o[1];
54
+ var _p = (0, react_1.useState)(null), isDragOverDate = _p[0], setIsDragOverDate = _p[1];
55
+ var _q = (0, react_1.useState)([]), selectedSchedules = _q[0], setSelectedSchedules = _q[1];
56
+ var _r = (0, react_1.useState)([]), selectedDates = _r[0], setSelectedDates = _r[1];
57
+ var _s = (0, react_1.useState)(null), lastSelectedDate = _s[0], setLastSelectedDate = _s[1];
58
+ // 오늘 날짜인지 확인
59
+ var today = new Date();
60
+ var isToday = function (date) { return dateHelper_1.DateHelper.isSameDay(date, today); };
61
+ // 과거 날짜인지 확인
62
+ var isPastDate = (0, react_1.useCallback)(function (date) { return dateHelper_1.DateHelper.isBefore(date, today) && !dateHelper_1.DateHelper.isSameDay(date, today); }, [today]);
63
+ // 뷰 타입에 따른 시작일과 종료일 계산
64
+ var _t = (0, calendarUtils_1.calculateDateRange)(currentViewType, selectedDate), startDate = _t.startDate, endDate = _t.endDate;
65
+ // 뷰 타입 변경 처리
66
+ var handleViewTypeChange = (0, react_1.useCallback)(function (option) {
67
+ var newViewType = option.value;
68
+ setCurrentViewType(newViewType);
69
+ // 새로운 뷰 타입 기준으로 startDate와 endDate 계산
70
+ var _a = (0, calendarUtils_1.calculateDateRange)(newViewType, selectedDate), newStartDate = _a.startDate, newEndDate = _a.endDate;
71
+ onActionDispatch === null || onActionDispatch === void 0 ? void 0 : onActionDispatch({
72
+ type: 'CALENDAR_TYPE_CHANGE',
73
+ payload: {
74
+ type: newViewType,
75
+ startDate: (0, calendarUtils_1.toUTC)(newStartDate),
76
+ endDate: (0, calendarUtils_1.toUTC)(newEndDate)
77
+ }
78
+ });
79
+ }, [selectedDate, onActionDispatch, calendarUtils_1.calculateDateRange]);
80
+ // "오늘" 버튼 클릭 이벤트
81
+ var handleTodayClick = (0, react_1.useCallback)(function () {
82
+ setSelectedDate(today);
83
+ // 오늘 날짜 기준으로 startDate와 endDate 계산
84
+ var _a = (0, calendarUtils_1.calculateDateRange)(currentViewType, today), newStartDate = _a.startDate, newEndDate = _a.endDate;
85
+ onActionDispatch === null || onActionDispatch === void 0 ? void 0 : onActionDispatch({
86
+ type: 'TODAY_BUTTON_CLICK',
87
+ payload: {
88
+ startDate: (0, calendarUtils_1.toUTC)(newStartDate),
89
+ endDate: (0, calendarUtils_1.toUTC)(newEndDate)
90
+ }
91
+ });
92
+ }, [today, currentViewType, onActionDispatch, calendarUtils_1.calculateDateRange]);
93
+ // 이전/다음 이동 함수
94
+ var navigateDate = (0, react_1.useCallback)(function (direction) {
95
+ var increment = direction === 'next' ? 1 : -1;
96
+ var getNewDateByViewType = function (viewType) {
97
+ switch (viewType) {
98
+ case 'DAILY':
99
+ return dateHelper_1.DateHelper.addDays(selectedDate, increment);
100
+ case 'WEEKLY':
101
+ return dateHelper_1.DateHelper.addDays(selectedDate, increment * 7);
102
+ case 'MONTHLY':
103
+ return dateHelper_1.DateHelper.addMonths(selectedDate, increment);
104
+ case 'YEARLY':
105
+ return new Date(selectedDate.getFullYear() + increment, selectedDate.getMonth(), selectedDate.getDate());
106
+ default:
107
+ return selectedDate;
108
+ }
109
+ };
110
+ var newDate = getNewDateByViewType(currentViewType);
111
+ setSelectedDate(newDate);
112
+ // 새로운 날짜 기준으로 startDate와 endDate 계산
113
+ var _a = (0, calendarUtils_1.calculateDateRange)(currentViewType, newDate), newStartDate = _a.startDate, newEndDate = _a.endDate;
114
+ onActionDispatch === null || onActionDispatch === void 0 ? void 0 : onActionDispatch({
115
+ type: direction === 'prev' ? 'PREV_BUTTON_CLICK' : 'NEXT_BUTTON_CLICK',
116
+ payload: {
117
+ startDate: (0, calendarUtils_1.toUTC)(newStartDate),
118
+ endDate: (0, calendarUtils_1.toUTC)(newEndDate)
119
+ }
120
+ });
121
+ }, [selectedDate, currentViewType, onActionDispatch, calendarUtils_1.calculateDateRange]);
122
+ // 특정 날짜의 이벤트 가져오기
123
+ var getSchedulesForDate = (0, react_1.useCallback)(function (date) {
124
+ return schedules.filter(function (schedule) {
125
+ var scheduleStart = new Date(schedule.startDate);
126
+ var scheduleEnd = new Date(schedule.endDate);
127
+ var targetDate = new Date(date);
128
+ // 정확한 날짜 비교를 위해 시간을 일 시작으로 설정
129
+ scheduleStart.setHours(0, 0, 0, 0);
130
+ scheduleEnd.setHours(23, 59, 59, 999);
131
+ targetDate.setHours(0, 0, 0, 0);
132
+ // 대상 날짜가 이벤트 날짜 범위 내에 있는지 확인
133
+ return targetDate >= scheduleStart && targetDate <= scheduleEnd;
134
+ });
135
+ }, [schedules]);
136
+ // 날짜 클릭 이벤트 (일반 클릭, shift 클릭 둘다 포함)
137
+ var handleDateClick = (0, react_1.useCallback)(function (date, e) {
138
+ var _a, _b, _c, _d;
139
+ var isShiftClick = ((_a = config === null || config === void 0 ? void 0 : config.action) === null || _a === void 0 ? void 0 : _a.includes('CLICK_WITH_SHIFT_KEY_DOWN')) &&
140
+ (config === null || config === void 0 ? void 0 : config.target) === 'DATE' &&
141
+ (e === null || e === void 0 ? void 0 : e.shiftKey);
142
+ var isNormalClick = ((_b = config === null || config === void 0 ? void 0 : config.action) === null || _b === void 0 ? void 0 : _b.includes('CLICK')) && (config === null || config === void 0 ? void 0 : config.target) === 'DATE' && !(e === null || e === void 0 ? void 0 : e.shiftKey);
143
+ var getDateKey = function (d) { return "".concat(d.getFullYear(), "-").concat(d.getMonth(), "-").concat(d.getDate()); };
144
+ var clickedDateKey = getDateKey(date);
145
+ // shift 클릭 처리
146
+ if (isShiftClick) {
147
+ var newSelectedDates = selectedDates.some(function (d) { return getDateKey(d) === clickedDateKey; })
148
+ ? selectedDates.filter(function (d) { return getDateKey(d) !== clickedDateKey; })
149
+ : __spreadArray(__spreadArray([], selectedDates, true), [date], false);
150
+ setSelectedDates(newSelectedDates);
151
+ setLastSelectedDate(date);
152
+ if (config) {
153
+ (_c = config.trigger) === null || _c === void 0 ? void 0 : _c.call(config, {
154
+ action: 'CLICK_WITH_SHIFT_KEY_DOWN',
155
+ target: 'DATE',
156
+ dates: newSelectedDates,
157
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
158
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
159
+ });
160
+ }
161
+ }
162
+ setSelectedDate(date);
163
+ // 일반 클릭 처리
164
+ if (isNormalClick) {
165
+ if (config) {
166
+ (_d = config.trigger) === null || _d === void 0 ? void 0 : _d.call(config, {
167
+ action: 'CLICK',
168
+ target: 'DATE',
169
+ date: date,
170
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
171
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
172
+ });
173
+ }
174
+ }
175
+ }, [isPastDate, config, lastSelectedDate, selectedDates, startDate, endDate]);
176
+ // 날짜 범위 선택을 위한 마우스 이벤트 처리
177
+ var handleMouseUp = (0, react_1.useCallback)(function () {
178
+ setIsDragging(false);
179
+ setDragStartDate(null);
180
+ setDragEndDate(null);
181
+ }, [isDragging, dragStartDate, dragEndDate]);
182
+ // 이벤트 드래그 핸들러
183
+ var handleScheduleDragStart = (0, react_1.useCallback)(function (schedule, e) {
184
+ setDraggedSchedule(schedule);
185
+ e.dataTransfer.effectAllowed = 'move';
186
+ e.dataTransfer.setData('text/plain', schedule.id.toString());
187
+ // 더 정확한 드롭 계산을 위한 오프셋 정보 저장
188
+ var scheduleStartDate = new Date(schedule.startDate);
189
+ scheduleStartDate.setHours(0, 0, 0, 0);
190
+ // 원본 이벤트 시작 시간을 dataTransfer에 저장
191
+ e.dataTransfer.setData('scheduleStartTime', scheduleStartDate.getTime().toString());
192
+ }, []);
193
+ // 이벤트 드래그 종료 이벤트
194
+ var handleScheduleDragEnd = (0, react_1.useCallback)(function () {
195
+ setDraggedSchedule(null);
196
+ setIsDragOverDate(null);
197
+ }, []);
198
+ // 날짜 드래그 오버 이벤트
199
+ var handleDateDragOver = (0, react_1.useCallback)(function (date, e) {
200
+ if (!draggedSchedule) {
201
+ return;
202
+ }
203
+ e.preventDefault();
204
+ e.dataTransfer.dropEffect = 'move';
205
+ setIsDragOverDate(date);
206
+ }, [draggedSchedule]);
207
+ // 날짜 드래그 떼기
208
+ var handleDateDragLeave = (0, react_1.useCallback)(function () {
209
+ setIsDragOverDate(null);
210
+ }, []);
211
+ // 삭제 키 이벤트 처리
212
+ var handleKeyDown = (0, react_1.useCallback)(function (e) {
213
+ var _a;
214
+ if (e.key === 'Delete' && selectedSchedules.length > 0 && (config === null || config === void 0 ? void 0 : config.target) === 'SCHEDULE') {
215
+ (_a = config === null || config === void 0 ? void 0 : config.trigger) === null || _a === void 0 ? void 0 : _a.call(config, {
216
+ action: 'DELETE_KEY_DOWN',
217
+ target: 'SCHEDULE',
218
+ schedules: selectedSchedules,
219
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
220
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
221
+ });
222
+ setSelectedSchedules([]);
223
+ }
224
+ }, [config, selectedSchedules]);
225
+ // 날짜 드래그 놓기
226
+ var handleDateDrop = (0, react_1.useCallback)(function (date, e) {
227
+ var _a, _b;
228
+ e.preventDefault();
229
+ if (!draggedSchedule) {
230
+ return;
231
+ }
232
+ if (!(((_a = config === null || config === void 0 ? void 0 : config.action) === null || _a === void 0 ? void 0 : _a.includes('DRAG')) && config.target === 'SCHEDULE')) {
233
+ return;
234
+ }
235
+ var originalStartDate = new Date(draggedSchedule.startDate);
236
+ var originalEndDate = new Date(draggedSchedule.endDate);
237
+ var duration = originalEndDate.getTime() - originalStartDate.getTime();
238
+ var getAdjustedStartDate = function () {
239
+ var baseDate = new Date(date);
240
+ if (currentViewType === 'MONTHLY') {
241
+ var target = e.target;
242
+ var gridContainer = target.closest('[data-calendar-grid]');
243
+ if (gridContainer) {
244
+ var gridRect = gridContainer.getBoundingClientRect();
245
+ var cellWidth = gridRect.width / 7;
246
+ var clickedColumn = Math.floor((e.clientX - gridRect.left) / cellWidth);
247
+ var dropDayOfWeek = baseDate.getDay();
248
+ var columnOffset = clickedColumn - dropDayOfWeek;
249
+ var actualDropDate = new Date(baseDate);
250
+ actualDropDate.setDate(baseDate.getDate() + columnOffset);
251
+ actualDropDate.setHours(originalStartDate.getHours(), originalStartDate.getMinutes(), 0, 0);
252
+ return actualDropDate;
253
+ }
254
+ }
255
+ // 공통 처리 (WEEKLY, DAILY, fallback)
256
+ baseDate.setHours(originalStartDate.getHours(), originalStartDate.getMinutes(), 0, 0);
257
+ return baseDate;
258
+ };
259
+ var newStartDate = getAdjustedStartDate();
260
+ var newEndDate = new Date(newStartDate.getTime() + duration);
261
+ var updatedSchedule = __assign(__assign({}, draggedSchedule), { startDate: newStartDate, endDate: newEndDate });
262
+ if (config) {
263
+ (_b = config.trigger) === null || _b === void 0 ? void 0 : _b.call(config, {
264
+ action: 'DRAG',
265
+ target: 'SCHEDULE',
266
+ schedule: updatedSchedule,
267
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
268
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
269
+ });
270
+ }
271
+ setIsDragOverDate(null);
272
+ }, [draggedSchedule, config, currentViewType]);
273
+ var defaultDayTexts = (0, react_1.useMemo)(function () { return [
274
+ t('str_3893'),
275
+ t('str_3887'),
276
+ t('str_3888'),
277
+ t('str_3889'),
278
+ t('str_3890'),
279
+ t('str_3891'),
280
+ t('str_3892') // 토 - 6
281
+ ]; }, [t]);
282
+ // 날짜의 실제 요일에 따른 요일 텍스트 가져오기
283
+ var getDayTextByDate = function (date) {
284
+ return defaultDayTexts[date.getDay()];
285
+ };
286
+ var monthNames = (0, react_1.useMemo)(function () { return [
287
+ t('calendar_month_1'),
288
+ t('calendar_month_2'),
289
+ t('calendar_month_3'),
290
+ t('calendar_month_4'),
291
+ t('calendar_month_5'),
292
+ t('calendar_month_6'),
293
+ t('calendar_month_7'),
294
+ t('calendar_month_8'),
295
+ t('calendar_month_9'),
296
+ t('calendar_month_10'),
297
+ t('calendar_month_11'),
298
+ t('calendar_month_12')
299
+ ]; }, [t]);
300
+ // 뷰 타입을 위한 드롭다운 옵션 생성
301
+ var viewTypeOptions = (0, react_1.useMemo)(function () {
302
+ var viewTypeTextMap = {
303
+ MONTHLY: t('calendar_view_monthly'),
304
+ WEEKLY: t('calendar_view_weekly'),
305
+ DAILY: t('calendar_view_daily'),
306
+ YEARLY: t('calendar_view_yearly')
307
+ };
308
+ return viewTypes.map(function (viewType) { return ({
309
+ text: viewTypeTextMap[viewType] || viewType,
310
+ value: viewType
311
+ }); });
312
+ }, [viewTypes, t]);
313
+ // 특정 월의 캘린더 날짜 생성 (연간 보기용)
314
+ var getMonthDates = (0, react_1.useCallback)(function (year, month) {
315
+ var monthDate = new Date(year, month, 1);
316
+ return dateHelper_1.DateHelper.getCalendarDates(monthDate, startOfWeek);
317
+ }, [startOfWeek]);
318
+ // 스케줄 클릭 (일반 클릭, shift 클릭 둘다 포함)
319
+ var handleScheduleClick = function (schedule, e) {
320
+ var _a, _b, _c, _d;
321
+ var isShiftClick = ((_a = config === null || config === void 0 ? void 0 : config.action) === null || _a === void 0 ? void 0 : _a.includes('CLICK_WITH_SHIFT_KEY_DOWN')) &&
322
+ (config === null || config === void 0 ? void 0 : config.target) === 'SCHEDULE' &&
323
+ (e === null || e === void 0 ? void 0 : e.shiftKey);
324
+ var isNormalClick = ((_b = config === null || config === void 0 ? void 0 : config.action) === null || _b === void 0 ? void 0 : _b.includes('CLICK')) && (config === null || config === void 0 ? void 0 : config.target) === 'SCHEDULE' && !(e === null || e === void 0 ? void 0 : e.shiftKey);
325
+ var isSelected = selectedSchedules.some(function (s) { return s.id === (schedule === null || schedule === void 0 ? void 0 : schedule.id); });
326
+ if (isShiftClick) {
327
+ var newSelectedSchedules = isSelected
328
+ ? selectedSchedules.filter(function (s) { return s.id !== (schedule === null || schedule === void 0 ? void 0 : schedule.id); })
329
+ : __spreadArray(__spreadArray([], selectedSchedules, true), [schedule], false).filter(function (s) { return s !== undefined; });
330
+ setSelectedSchedules(newSelectedSchedules);
331
+ (_c = config === null || config === void 0 ? void 0 : config.trigger) === null || _c === void 0 ? void 0 : _c.call(config, {
332
+ action: 'CLICK_WITH_SHIFT_KEY_DOWN',
333
+ target: 'SCHEDULE',
334
+ schedules: newSelectedSchedules,
335
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
336
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
337
+ });
338
+ return;
339
+ }
340
+ if (isNormalClick) {
341
+ // 일반 클릭 시 해당 스케줄만 선택
342
+ setSelectedSchedules([schedule]);
343
+ (_d = config === null || config === void 0 ? void 0 : config.trigger) === null || _d === void 0 ? void 0 : _d.call(config, {
344
+ action: 'CLICK',
345
+ target: 'SCHEDULE',
346
+ schedule: schedule,
347
+ startDate: (0, calendarUtils_1.toUTC)(startDate),
348
+ endDate: (0, calendarUtils_1.toUTC)(endDate)
349
+ });
350
+ return;
351
+ }
352
+ };
353
+ // 다중 일자 지원을 포함한 이벤트 아이템 렌더링
354
+ var renderScheduleItem = function (schedule, extraProps) {
355
+ if (extraProps === void 0) { extraProps = {}; }
356
+ // isAllDay 계산
357
+ var isAllDay = (0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate));
358
+ var isSelected = selectedSchedules.some(function (s) { return s.id === schedule.id; });
359
+ return ((0, jsx_runtime_1.jsx)(ScheduleItem_1.ScheduleItem, { schedule: schedule, extraProps: extraProps, onDragStart: handleScheduleDragStart, onDragEnd: handleScheduleDragEnd, onClick: handleScheduleClick, isSelected: isSelected, isAllDay: isAllDay }));
360
+ };
361
+ // 뷰 타입에 따른 캘린더 콘텐츠 렌더링
362
+ var renderCalendarContent = function () {
363
+ switch (currentViewType) {
364
+ case 'MONTHLY':
365
+ return ((0, jsx_runtime_1.jsx)(MonthlyView_1.MonthlyView, { getDayTextByDate: getDayTextByDate, startOfWeek: startOfWeek, selectedDate: selectedDate, selectedDates: selectedDates, dragStartDate: dragStartDate, selectedSchedules: selectedSchedules, dragEndDate: dragEndDate, isDragOverDate: isDragOverDate, schedules: schedules, getSchedulesForDate: getSchedulesForDate, isToday: isToday, isPastDate: isPastDate, handleDateClick: handleDateClick, handleScheduleClick: handleScheduleClick, handleMouseUp: handleMouseUp, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop, renderScheduleItem: renderScheduleItem, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd }));
366
+ case 'WEEKLY':
367
+ return ((0, jsx_runtime_1.jsx)(WeeklyView_1.WeeklyView, { selectedDate: selectedDate, startOfWeek: startOfWeek, getDayTextByDate: getDayTextByDate, defaultViewType: currentViewType, displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, isToday: isToday, isDragOverDate: isDragOverDate, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop, handleDateClick: handleDateClick, renderScheduleItem: renderScheduleItem, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd }));
368
+ case 'DAILY':
369
+ return ((0, jsx_runtime_1.jsx)(DailyView_1.DailyView, { selectedDate: selectedDate, displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, renderScheduleItem: renderScheduleItem, handleDateClick: handleDateClick, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop, isDragOverDate: isDragOverDate, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd }));
370
+ case 'YEARLY':
371
+ return ((0, jsx_runtime_1.jsx)(YearlyView_1.YearlyView, { selectedDate: selectedDate, getMonthDates: getMonthDates, getDayTextByDate: getDayTextByDate, startOfWeek: startOfWeek, isToday: isToday, handleDateClick: handleDateClick, getSchedulesForDate: getSchedulesForDate }));
372
+ default:
373
+ return null;
374
+ }
375
+ };
376
+ return ((0, jsx_runtime_1.jsxs)(S_CalendarContainer, __assign({ "x-pds-name": "Calendar", "x-pds-element-type": "component", "x-pds-device-type": "desktop", onKeyDown: handleKeyDown, tabIndex: 0 }, { children: [(0, jsx_runtime_1.jsxs)(S_CalendarHeader, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "headingBold", textAlign: "center", text: (0, calendarUtils_1.getHeaderText)(currentViewType, selectedDate, t, monthNames, getDayTextByDate) }), (0, jsx_runtime_1.jsxs)(S_LeftContainer, { children: [(0, jsx_runtime_1.jsx)(S_NavigationButton, __assign({ onClick: function () { return navigateDate('prev'); } }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { iconName: "ic_arrow_left", baseSize: "small", iconSize: 16, baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: "ui_cpnt_icon_sys_grey_01" }) })), todayBtnMode === 'use' && ((0, jsx_runtime_1.jsx)(TextButton_1.TextButton, { text: t('calendar_today'), size: "small", colorTheme: "grey_01", onClick: handleTodayClick })), (0, jsx_runtime_1.jsx)(S_NavigationButton, __assign({ onClick: function () { return navigateDate('next'); } }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { iconName: "ic_arrow_right", baseSize: "small", iconSize: 16, baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: "ui_cpnt_icon_sys_grey_01" }) })), (0, jsx_runtime_1.jsx)(Dropdown_1.Dropdown, { size: "small", valueArray: viewTypeOptions, value: viewTypeOptions.find(function (option) { return option.value === currentViewType; }), onChange: handleViewTypeChange, customWidth: "120px" })] })] }), (0, jsx_runtime_1.jsx)(S_CalendarContent, { children: renderCalendarContent() })] })));
377
+ };
378
+ var S_CalendarContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 400px;\n outline: 0px;\n overflow: hidden;\n width: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 400px;\n outline: 0px;\n overflow: hidden;\n width: 100%;\n"])));
379
+ var S_CalendarHeader = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 16px;\n padding: 0px 0px 8px 0px;\n"], ["\n align-items: center;\n display: flex;\n gap: 16px;\n padding: 0px 0px 8px 0px;\n"])));
380
+ var S_NavigationButton = styled_components_1.default.button(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n display: flex;\n height: 32px;\n justify-content: center;\n width: 32px;\n"], ["\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n display: flex;\n height: 32px;\n justify-content: center;\n width: 32px;\n"])));
381
+ var S_LeftContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n gap: 8px;\n margin-left: auto;\n"], ["\n align-items: center;\n display: flex;\n gap: 8px;\n margin-left: auto;\n"])));
382
+ var S_CalendarContent = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n flex: 1;\n overflow: auto;\n"], ["\n flex: 1;\n overflow: auto;\n"])));
383
+ exports.default = Calendar;
384
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,7 @@
1
+ import type React from 'react';
2
+ interface CurrentTimeIndicatorProps {
3
+ show: boolean;
4
+ leftOffset?: string;
5
+ }
6
+ export declare const CurrentTimeIndicator: React.FC<CurrentTimeIndicatorProps>;
7
+ export {};