pds-dev-kit-web-test 2.5.489 → 2.5.491

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 (260) hide show
  1. package/dist/index.d.ts +4 -4
  2. package/dist/index.js +6 -3
  3. package/dist/src/common/hooks/useTooltip.js +1 -1
  4. package/dist/src/common/services/i18n/resources/en.json +42 -1
  5. package/dist/src/common/services/i18n/resources/es.json +41 -1
  6. package/dist/src/common/services/i18n/resources/fil.json +41 -1
  7. package/dist/src/common/services/i18n/resources/index.d.ts +285 -0
  8. package/dist/src/common/services/i18n/resources/ja.json +42 -1
  9. package/dist/src/common/services/i18n/resources/ko.json +42 -1
  10. package/dist/src/common/services/i18n/resources/zh-cn.json +42 -1
  11. package/dist/src/common/services/i18n/resources/zh-tw.json +42 -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/types/components.d.ts +9 -0
  15. package/dist/src/common/types/components.js +8 -0
  16. package/dist/src/common/types/index.d.ts +0 -1
  17. package/dist/src/common/types/index.js +0 -1
  18. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +1 -1
  19. package/dist/src/common/utils/dateHelper.d.ts +3 -0
  20. package/dist/src/common/utils/dateHelper.js +37 -0
  21. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.d.ts +2 -1
  22. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +20 -16
  23. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
  24. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.d.ts +18 -1
  25. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.js +46 -3
  26. package/dist/src/desktop/components/BoxItem/BoxItem.d.ts +62 -0
  27. package/dist/src/desktop/components/BoxItem/BoxItem.js +104 -0
  28. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  29. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.js +9 -0
  30. package/dist/src/desktop/components/BoxItem/LeftBox/Image.d.ts +11 -0
  31. package/dist/src/desktop/components/BoxItem/LeftBox/Image.js +9 -0
  32. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  33. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.js +36 -0
  34. package/dist/src/desktop/components/BoxItem/LeftBox/index.d.ts +2 -0
  35. package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner → desktop/components/BoxItem/LeftBox}/index.js +3 -3
  36. package/dist/src/desktop/components/BoxItem/index.d.ts +1 -0
  37. package/dist/src/desktop/components/BoxItem/index.js +8 -0
  38. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +13 -0
  39. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +132 -0
  40. package/dist/src/desktop/components/Calendar/Calendar.d.ts +4 -0
  41. package/dist/src/desktop/components/Calendar/Calendar.js +384 -0
  42. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +7 -0
  43. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +48 -0
  44. package/dist/src/desktop/components/Calendar/DailyView.d.ts +17 -0
  45. package/dist/src/desktop/components/Calendar/DailyView.js +64 -0
  46. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +27 -0
  47. package/dist/src/desktop/components/Calendar/MonthlyView.js +263 -0
  48. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.d.ts +19 -0
  49. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.js +73 -0
  50. package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +16 -0
  51. package/dist/src/desktop/components/Calendar/ScheduleItem.js +50 -0
  52. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.d.ts +9 -0
  53. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.js +170 -0
  54. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +21 -0
  55. package/dist/src/desktop/components/Calendar/WeeklyView.js +91 -0
  56. package/dist/src/desktop/components/Calendar/YearlyView.d.ts +12 -0
  57. package/dist/src/desktop/components/Calendar/YearlyView.js +76 -0
  58. package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +24 -0
  59. package/dist/src/desktop/components/Calendar/calendarUtils.js +112 -0
  60. package/dist/src/desktop/components/Calendar/constants.d.ts +1 -0
  61. package/dist/src/desktop/components/Calendar/constants.js +31 -0
  62. package/dist/src/desktop/components/Calendar/index.d.ts +10 -0
  63. package/dist/src/desktop/components/Calendar/index.js +37 -0
  64. package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +16 -0
  65. package/dist/src/desktop/components/Calendar/timeFormatUtils.js +45 -0
  66. package/dist/src/desktop/components/Calendar/types.d.ts +60 -0
  67. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  68. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  69. package/dist/src/desktop/components/ChatList/Body.d.ts +1 -1
  70. package/dist/src/desktop/components/index.d.ts +3 -1
  71. package/dist/src/desktop/components/index.js +6 -1
  72. package/dist/src/desktop/index.d.ts +1 -1
  73. package/dist/src/desktop/index.js +4 -2
  74. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +17 -2
  75. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.js +37 -6
  76. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.d.ts +23 -0
  77. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.js +199 -0
  78. package/dist/src/desktop/panels/MultilingualModal/index.d.ts +1 -0
  79. package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList → desktop/panels/MultilingualModal}/index.js +3 -3
  80. package/dist/src/desktop/panels/index.d.ts +2 -1
  81. package/dist/src/desktop/panels/index.js +6 -1
  82. package/dist/src/hybrid/components/Divider/Divider.d.ts +3 -1
  83. package/dist/src/hybrid/components/Divider/Divider.js +9 -7
  84. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.d.ts +2 -1
  85. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +20 -16
  86. package/dist/src/mobile/components/BoxItem/BoxItem.d.ts +62 -0
  87. package/dist/src/mobile/components/BoxItem/BoxItem.js +104 -0
  88. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  89. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.js +9 -0
  90. package/dist/src/mobile/components/BoxItem/LeftBox/Image.d.ts +11 -0
  91. package/dist/src/mobile/components/BoxItem/LeftBox/Image.js +9 -0
  92. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  93. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.js +36 -0
  94. package/dist/src/mobile/components/BoxItem/LeftBox/index.d.ts +2 -0
  95. package/dist/src/mobile/components/BoxItem/LeftBox/index.js +8 -0
  96. package/dist/src/mobile/components/BoxItem/index.d.ts +1 -0
  97. package/dist/src/mobile/components/BoxItem/index.js +8 -0
  98. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  99. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  100. package/dist/src/mobile/components/ChatList/Body.d.ts +1 -1
  101. package/dist/src/mobile/components/index.d.ts +2 -1
  102. package/dist/src/mobile/components/index.js +3 -1
  103. package/dist/src/mobile/index.d.ts +1 -1
  104. package/dist/src/mobile/index.js +3 -2
  105. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +1 -4
  106. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +3 -5
  107. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +53 -53
  108. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  109. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  110. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  111. package/dist/src/sub/DynamicLayout/DynamicLayout.js +2 -4
  112. package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +2 -24
  113. package/dist/src/sub/DynamicLayout/components/Section/sectionContext.d.ts +2 -2
  114. package/dist/src/sub/DynamicLayout/components/Section/util/parseSectionBackgroundMediaData.js +1 -3
  115. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.d.ts +0 -40
  116. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.js +177 -36
  117. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_Dark.json +4 -152
  118. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_light.json +2 -150
  119. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/SemanticColor.json +1 -45
  120. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/UIColor.json +9 -262
  121. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/index.d.ts +0 -593
  122. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/ui-type.d.ts +0 -253
  123. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +1 -3
  124. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.js +3 -5
  125. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +1 -2
  126. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.js +2 -9
  127. package/dist/src/sub/DynamicLayout/mock_video_cb.d.ts +1 -0
  128. package/dist/src/sub/DynamicLayout/mock_video_cb.js +5 -4
  129. package/dist/src/sub/DynamicLayout/mocks.d.ts +961 -8
  130. package/dist/src/sub/DynamicLayout/mocks.js +4239 -55
  131. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -4
  132. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +1 -1
  133. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +12 -12
  134. package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.js +6 -12
  135. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +3 -13
  136. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +2 -18
  137. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +4 -10
  138. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +3 -134
  139. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +3 -39
  140. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +7 -31
  141. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.js +28 -3
  142. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.d.ts +1 -0
  143. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.js +15 -5
  144. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +3 -45
  145. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/group.d.ts +1 -1
  146. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +1 -1
  147. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +10 -27
  148. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +1 -3
  149. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim.d.ts +4 -4
  150. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding.d.ts +2 -2
  151. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +2 -2
  152. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +2 -7
  153. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +5 -10
  154. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
  155. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -53
  156. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +1 -1
  157. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +4 -5
  158. package/dist/src/sub/DynamicLayout/types.d.ts +17 -64
  159. package/package.json +2 -3
  160. package/release-note.md +2 -2
  161. package/dist/src/common/types/form.d.ts +0 -9
  162. package/dist/src/common/types/form.js +0 -10
  163. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.d.ts +0 -22
  164. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.js +0 -1133
  165. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.d.ts +0 -11
  166. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.js +0 -45
  167. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.d.ts +0 -10
  168. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.js +0 -79
  169. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.d.ts +0 -12
  170. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.js +0 -76
  171. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.d.ts +0 -4
  172. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.js +0 -47
  173. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.d.ts +0 -12
  174. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.js +0 -76
  175. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.d.ts +0 -12
  176. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.js +0 -76
  177. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.d.ts +0 -12
  178. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.js +0 -76
  179. package/dist/src/sub/DynamicLayout/compositionActionTypes.d.ts +0 -139
  180. package/dist/src/sub/DynamicLayout/compositionActionTypes.js +0 -2
  181. package/dist/src/sub/DynamicLayout/compositionQueryContext.d.ts +0 -8
  182. package/dist/src/sub/DynamicLayout/compositionQueryContext.js +0 -14
  183. package/dist/src/sub/DynamicLayout/mock_componentBlocks.d.ts +0 -776
  184. package/dist/src/sub/DynamicLayout/mock_componentBlocks.js +0 -4236
  185. package/dist/src/sub/DynamicLayout/mock_composition.d.ts +0 -3
  186. package/dist/src/sub/DynamicLayout/mock_composition.js +0 -1607
  187. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.d.ts +0 -1
  188. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.js +0 -1111
  189. package/dist/src/sub/DynamicLayout/mock_contentsList.d.ts +0 -1
  190. package/dist/src/sub/DynamicLayout/mock_contentsList.js +0 -1091
  191. package/dist/src/sub/DynamicLayout/mock_queryData.d.ts +0 -96
  192. package/dist/src/sub/DynamicLayout/mock_queryData.js +0 -2639
  193. package/dist/src/sub/DynamicLayout/mock_slideBanner.d.ts +0 -842
  194. package/dist/src/sub/DynamicLayout/mock_slideBanner.js +0 -854
  195. package/dist/src/sub/DynamicLayout/mock_video.d.ts +0 -368
  196. package/dist/src/sub/DynamicLayout/mock_video.js +0 -371
  197. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.d.ts +0 -12
  198. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.js +0 -61
  199. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.d.ts +0 -15
  200. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.js +0 -69
  201. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.d.ts +0 -15
  202. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.js +0 -69
  203. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.d.ts +0 -9
  204. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.js +0 -87
  205. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.d.ts +0 -4
  206. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.js +0 -849
  207. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.d.ts +0 -43
  208. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.js +0 -162
  209. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.d.ts +0 -39
  210. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.js +0 -182
  211. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.d.ts +0 -18
  212. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.js +0 -229
  213. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.d.ts +0 -14
  214. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.js +0 -46
  215. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.d.ts +0 -1
  216. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.js +0 -8
  217. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/types.d.ts +0 -139
  218. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.d.ts +0 -14
  219. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +0 -206
  220. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.d.ts +0 -17
  221. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.js +0 -39
  222. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.d.ts +0 -10
  223. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.js +0 -85
  224. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.d.ts +0 -25
  225. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.js +0 -183
  226. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.d.ts +0 -29
  227. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.js +0 -128
  228. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.d.ts +0 -18
  229. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.js +0 -229
  230. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.d.ts +0 -1
  231. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.d.ts +0 -67
  232. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.js +0 -2
  233. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.d.ts +0 -14
  234. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.js +0 -151
  235. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.d.ts +0 -12
  236. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.js +0 -39
  237. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.d.ts +0 -15
  238. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.js +0 -69
  239. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.d.ts +0 -15
  240. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.js +0 -69
  241. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.d.ts +0 -20
  242. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +0 -173
  243. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.d.ts +0 -9
  244. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.js +0 -87
  245. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.d.ts +0 -4
  246. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.js +0 -849
  247. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.d.ts +0 -43
  248. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.js +0 -162
  249. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.d.ts +0 -18
  250. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.js +0 -229
  251. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.d.ts +0 -16
  252. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.js +0 -63
  253. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.d.ts +0 -1
  254. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.d.ts +0 -46
  255. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.js +0 -186
  256. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.d.ts +0 -163
  257. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.js +0 -2
  258. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.d.ts +0 -14
  259. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.js +0 -26
  260. /package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel → desktop/components/Calendar}/types.js +0 -0
@@ -0,0 +1,263 @@
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
+ // import { useMemo } from 'react';
24
+ var react_1 = require("react");
25
+ var react_i18next_1 = require("react-i18next");
26
+ var dateHelper_1 = require("../../../common/utils/dateHelper");
27
+ var styled_components_1 = __importDefault(require("styled-components"));
28
+ var TextLabel_1 = require("../TextLabel");
29
+ var calendarUtils_1 = require("./calendarUtils");
30
+ var MultiWeekSchedulesLayer_1 = require("./MultiWeekSchedulesLayer");
31
+ var MonthlyView = function (_a) {
32
+ 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, schedules = _a.schedules, 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;
33
+ var t = (0, react_i18next_1.useTranslation)().t;
34
+ var MAX_SCHEDULES_PER_DAY = 3;
35
+ var days = (function () {
36
+ var monthDate = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1);
37
+ return dateHelper_1.DateHelper.getCalendarDatesForCalendar(monthDate, startOfWeek);
38
+ })();
39
+ // 다중 이벤트 계산
40
+ var getMultiWeekSchedules = (0, react_1.useMemo)(function () {
41
+ var multiWeekSchedules = [];
42
+ var allSchedules = new Map();
43
+ var processedScheduleIds = new Set();
44
+ // 캘린더에 표시되는 전체 날짜 범위 계산
45
+ var calendarStart = new Date(days[0]);
46
+ var calendarEnd = new Date(days[days.length - 1]);
47
+ calendarStart.setHours(0, 0, 0, 0);
48
+ calendarEnd.setHours(0, 0, 0, 0);
49
+ days.forEach(function (date) {
50
+ var schedulesForDate = getSchedulesForDate(date);
51
+ schedulesForDate.forEach(function (schedule) {
52
+ // 이미 처리된 이벤트는 건너뛰기
53
+ if (processedScheduleIds.has(schedule.id)) {
54
+ return;
55
+ }
56
+ var scheduleStart = new Date(schedule.startDate);
57
+ var scheduleEnd = new Date(schedule.endDate);
58
+ scheduleStart.setHours(0, 0, 0, 0);
59
+ scheduleEnd.setHours(0, 0, 0, 0);
60
+ // All day 이벤트이거나 다중 날짜 이벤트인지 확인
61
+ var isAllDay = (0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate));
62
+ var isMultiDay = scheduleStart.getTime() !== scheduleEnd.getTime();
63
+ if (isAllDay || isMultiDay) {
64
+ // 이벤트가 현재 캘린더 범위와 교차하는지 확인
65
+ var isIntersecting = !(scheduleEnd.getTime() < calendarStart.getTime() ||
66
+ scheduleStart.getTime() > calendarEnd.getTime());
67
+ if (isIntersecting) {
68
+ allSchedules.set(schedule.id, schedule);
69
+ processedScheduleIds.add(schedule.id);
70
+ }
71
+ }
72
+ });
73
+ });
74
+ allSchedules.forEach(function (schedule) {
75
+ var scheduleStart = new Date(schedule.startDate);
76
+ var scheduleEnd = new Date(schedule.endDate);
77
+ scheduleStart.setHours(0, 0, 0, 0);
78
+ scheduleEnd.setHours(0, 0, 0, 0);
79
+ // 여러 날짜에 걸친 이벤트인지 확인
80
+ if (scheduleStart.getTime() !== scheduleEnd.getTime()) {
81
+ // 캘린더 범위 내에서 표시할 실제 시작/끝 날짜 계산
82
+ var displayStart_1 = new Date(Math.max(scheduleStart.getTime(), calendarStart.getTime()));
83
+ var displayEnd_1 = new Date(Math.min(scheduleEnd.getTime(), calendarEnd.getTime()));
84
+ // 캘린더 그리드에서 시작과 끝 위치 찾기
85
+ var startIndex = days.findIndex(function (date) {
86
+ var d = new Date(date);
87
+ d.setHours(0, 0, 0, 0);
88
+ return d.getTime() === displayStart_1.getTime();
89
+ });
90
+ var endIndex = days.findIndex(function (date) {
91
+ var d = new Date(date);
92
+ d.setHours(0, 0, 0, 0);
93
+ return d.getTime() === displayEnd_1.getTime();
94
+ });
95
+ if (startIndex !== -1 && endIndex !== -1) {
96
+ var startRow = Math.floor(startIndex / 7) + 2;
97
+ var endRow = Math.floor(endIndex / 7) + 2;
98
+ var _loop_1 = function (row) {
99
+ var isFirstRow = row === startRow;
100
+ var isLastRow = row === endRow;
101
+ // 각 행에서의 시작/끝 컬럼 계산
102
+ var segmentStartCol = void 0;
103
+ var segmentEndCol = void 0;
104
+ if (isFirstRow && isLastRow) {
105
+ // 같은 행 내의 이벤트
106
+ segmentStartCol = (startIndex % 7) + 1;
107
+ segmentEndCol = (endIndex % 7) + 1;
108
+ }
109
+ else if (isFirstRow) {
110
+ // 첫 번째 행: 시작 컬럼부터 주 끝까지
111
+ segmentStartCol = (startIndex % 7) + 1;
112
+ segmentEndCol = 7;
113
+ }
114
+ else if (isLastRow) {
115
+ // 마지막 행: 주 시작부터 끝 컬럼까지
116
+ segmentStartCol = 1;
117
+ segmentEndCol = (endIndex % 7) + 1;
118
+ }
119
+ else {
120
+ // 중간 행: 주 전체
121
+ segmentStartCol = 1;
122
+ segmentEndCol = 7;
123
+ }
124
+ // 같은 행의 기존 이벤트 개수 계산
125
+ var existingSchedulesInRow = multiWeekSchedules.filter(function (e) { return e.startRow === row; }).length;
126
+ multiWeekSchedules.push({
127
+ schedule: schedule,
128
+ startRow: row,
129
+ endRow: row,
130
+ startCol: segmentStartCol,
131
+ endCol: segmentEndCol,
132
+ scheduleIndex: existingSchedulesInRow
133
+ });
134
+ };
135
+ // 여러 주에 걸친 경우 각 주별로 분할해서 처리
136
+ for (var row = startRow; row <= endRow; row += 1) {
137
+ _loop_1(row);
138
+ }
139
+ }
140
+ }
141
+ });
142
+ return multiWeekSchedules;
143
+ }, [days, getSchedulesForDate, schedules]);
144
+ // 각 날짜별 다중 날짜 이벤트 개수 계산
145
+ var getMultiWeekSchedulesCountForDate = (0, react_1.useMemo)(function () {
146
+ var countMap = new Map();
147
+ days.forEach(function (date, index) {
148
+ var dateKey = date.toDateString();
149
+ var row = Math.floor(index / 7) + 2; // 헤더 고려
150
+ var col = (index % 7) + 1;
151
+ // 해당 날짜에 영향을 주는 다중 주 이벤트 개수 계산
152
+ var affectingSchedules = getMultiWeekSchedules.filter(function (schedule) {
153
+ var startRow = schedule.startRow, endRow = schedule.endRow, startCol = schedule.startCol, endCol = schedule.endCol;
154
+ // 같은 행에 있고, 컬럼 범위에 포함되는 경우
155
+ if (row >= startRow && row <= endRow) {
156
+ if (startRow === endRow) {
157
+ // 같은 행 내에서 컬럼 범위 체크
158
+ return col >= startCol && col <= endCol;
159
+ }
160
+ // 여러 행에 걸친 경우
161
+ if (row === startRow) {
162
+ return col >= startCol;
163
+ }
164
+ if (row === endRow) {
165
+ return col <= endCol;
166
+ }
167
+ return true; // 중간 행
168
+ }
169
+ return false;
170
+ });
171
+ countMap.set(dateKey, affectingSchedules.length);
172
+ });
173
+ return countMap;
174
+ }, [days, getMultiWeekSchedules]);
175
+ // 시작 요일에 따라 정렬된 요일 헤더 생성
176
+ var orderedDayTexts = (function () {
177
+ var weekDates = [];
178
+ var today = new Date();
179
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
180
+ var firstDayOfWeek = new Date(today);
181
+ firstDayOfWeek.setDate(today.getDate() - ((today.getDay() - startIndex + 7) % 7));
182
+ for (var i = 0; i < 7; i += 1) {
183
+ var date = new Date(firstDayOfWeek);
184
+ date.setDate(firstDayOfWeek.getDate() + i);
185
+ weekDates.push(getDayTextByDate(date));
186
+ }
187
+ return weekDates;
188
+ })();
189
+ 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) {
190
+ var daySchedules = getSchedulesForDate(date);
191
+ var multiWeekSchedulesCount = getMultiWeekSchedulesCountForDate.get(date.toDateString()) || 0;
192
+ // 다중 날짜 이벤트를 제외한 이벤트들 (종일 이벤트 + 단일 날짜 시간 이벤트)
193
+ var visibleSchedules = daySchedules.filter(function (schedule) {
194
+ var scheduleStart = new Date(schedule.startDate);
195
+ var scheduleEnd = new Date(schedule.endDate);
196
+ var checkDate = new Date(date);
197
+ // 날짜 비교를 위해 시간을 00:00:00으로 설정
198
+ scheduleStart.setHours(0, 0, 0, 0);
199
+ scheduleEnd.setHours(0, 0, 0, 0);
200
+ checkDate.setHours(0, 0, 0, 0);
201
+ // 다중 날짜 이벤트가 아닌 경우만 포함 (단일 날짜 종일/시간 이벤트)
202
+ if (scheduleStart.getTime() !== scheduleEnd.getTime()) {
203
+ return false; // 다중 날짜 이벤트 제외
204
+ }
205
+ // 해당 날짜의 이벤트인 경우만 포함
206
+ return scheduleStart.getTime() === checkDate.getTime();
207
+ });
208
+ // 이벤트를 시작 시간순으로 정렬
209
+ visibleSchedules.sort(function (a, b) {
210
+ var timeA = new Date(a.startDate).getTime();
211
+ var timeB = new Date(b.startDate).getTime();
212
+ return timeA - timeB;
213
+ });
214
+ // 총 이벤트 개수 (다중 날짜 이벤트 + 단일 날짜 이벤트)
215
+ var totalEventsCount = multiWeekSchedulesCount + visibleSchedules.length;
216
+ // 표시 가능한 최대 이벤트 개수 (다중 날짜 이벤트 공간 고려)
217
+ var maxDisplayableEvents = Math.max(0, MAX_SCHEDULES_PER_DAY - multiWeekSchedulesCount);
218
+ var displayedSchedules = visibleSchedules.slice(0, maxDisplayableEvents);
219
+ var hiddenSchedulesCount = visibleSchedules.length - displayedSchedules.length;
220
+ 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(); }) ||
221
+ !!(dragStartDate &&
222
+ dragEndDate &&
223
+ date.getTime() >= Math.min(dragStartDate.getTime(), dragEndDate.getTime()) &&
224
+ 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, __assign({ "$multiWeekSchedulesCount": multiWeekSchedulesCount }, { children: [displayedSchedules.map(function (schedule) {
225
+ return renderScheduleItem(schedule, {
226
+ onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); },
227
+ onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); }
228
+ });
229
+ }), totalEventsCount >= 3 && hiddenSchedulesCount > 0 && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: "".concat(hiddenSchedulesCount, " ").concat(t('calendar_more_schedules')), styleTheme: "caption2Regular" }))] }))] }), index));
230
+ }), (0, jsx_runtime_1.jsx)(MultiWeekSchedulesLayer_1.MultiWeekSchedulesLayer, { multiWeekSchedules: getMultiWeekSchedules, selectedSchedules: selectedSchedules, handleScheduleClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })] })));
231
+ };
232
+ exports.MonthlyView = MonthlyView;
233
+ 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"])));
234
+ 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) {
235
+ var theme = _a.theme;
236
+ return theme.ui_cpnt_divider;
237
+ });
238
+ 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 min-width: 0;\n overflow: hidden;\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 min-width: 0;\n overflow: hidden;\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) {
239
+ var $isSelected = _a.$isSelected, theme = _a.theme;
240
+ if ($isSelected)
241
+ return theme.ui_cpnt_sheet_base;
242
+ return 'transparent';
243
+ }, function (_a) {
244
+ var theme = _a.theme;
245
+ return theme.ui_cpnt_divider;
246
+ }, function (_a) {
247
+ var theme = _a.theme;
248
+ return theme.ui_cpnt_divider;
249
+ }, function (_a) {
250
+ var theme = _a.theme;
251
+ return theme.ui_cpnt_sheet_base;
252
+ }, function (_a) {
253
+ var theme = _a.theme;
254
+ return theme.ui_cpnt_divider;
255
+ }, function (_a) {
256
+ var theme = _a.theme;
257
+ return theme.ui_cpnt_divider;
258
+ });
259
+ var S_SchedulesContainer = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n flex-direction: column;\n margin-top: ", "px;\n max-width: 100%;\n overflow: hidden;\n position: relative;\n"], ["\n display: flex;\n flex: 1;\n flex-direction: column;\n margin-top: ", "px;\n max-width: 100%;\n overflow: hidden;\n position: relative;\n"])), function (_a) {
260
+ var _b = _a.$multiWeekSchedulesCount, $multiWeekSchedulesCount = _b === void 0 ? 0 : _b;
261
+ return $multiWeekSchedulesCount * 28;
262
+ });
263
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -0,0 +1,19 @@
1
+ import type { Schedule } from './types';
2
+ import type React from 'react';
3
+ interface MultiWeekScheduleInfo {
4
+ schedule: Schedule;
5
+ startRow: number;
6
+ endRow: number;
7
+ startCol: number;
8
+ endCol: number;
9
+ scheduleIndex: number;
10
+ }
11
+ interface MultiWeekSchedulesLayerProps {
12
+ multiWeekSchedules: MultiWeekScheduleInfo[];
13
+ selectedSchedules: Schedule[];
14
+ handleScheduleClick?: (schedule: Schedule, e?: React.MouseEvent) => void;
15
+ handleScheduleDragStart?: (schedule: Schedule, e: React.DragEvent) => void;
16
+ handleScheduleDragEnd?: () => void;
17
+ }
18
+ export declare const MultiWeekSchedulesLayer: React.FC<MultiWeekSchedulesLayerProps>;
19
+ export {};
@@ -0,0 +1,73 @@
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.MultiWeekSchedulesLayer = 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_1 = require("./ScheduleItem");
26
+ var MultiWeekSchedulesLayer = function (_a) {
27
+ var multiWeekSchedules = _a.multiWeekSchedules, selectedSchedules = _a.selectedSchedules, handleScheduleClick = _a.handleScheduleClick, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd;
28
+ return ((0, jsx_runtime_1.jsx)(S_Layer, { children: multiWeekSchedules.map(function (_a) {
29
+ var schedule = _a.schedule, startRow = _a.startRow, endRow = _a.endRow, startCol = _a.startCol, endCol = _a.endCol, scheduleIndex = _a.scheduleIndex;
30
+ var isSameRow = startRow === endRow;
31
+ var isSelected = selectedSchedules.some(function (s) { return s.id === schedule.id; });
32
+ var uniqueKey = "multi-".concat(schedule.id, "-").concat(startRow, "-").concat(startCol, "-").concat(endCol);
33
+ if (isSameRow) {
34
+ 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) {
35
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
36
+ }, onDragEnd: handleScheduleDragEnd, onClick: function (e) {
37
+ e.stopPropagation();
38
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
39
+ } }, { 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 })] }), uniqueKey));
40
+ }
41
+ // 여러 행에 걸친 이벤트 처리
42
+ var segments = [];
43
+ for (var row = startRow; row <= endRow; row += 1) {
44
+ var isFirstRow = row === startRow;
45
+ var isLastRow = row === endRow;
46
+ var segmentStartCol = isFirstRow ? startCol : 1;
47
+ var segmentEndCol = isLastRow ? endCol : 7;
48
+ 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) {
49
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
50
+ }, onDragEnd: handleScheduleDragEnd, onClick: function (e) {
51
+ e.stopPropagation();
52
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
53
+ } }, { 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 })] }), "".concat(uniqueKey, "-row-").concat(row)));
54
+ }
55
+ return segments;
56
+ }) }));
57
+ };
58
+ exports.MultiWeekSchedulesLayer = MultiWeekSchedulesLayer;
59
+ var S_Layer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%; /* \uAE30\uBCF8\uC801\uC73C\uB85C \uC774\uBCA4\uD2B8\uB97C \uB9C9\uACE0, \uB0B4\uBD80 \uC2A4\uCF00\uC904\uC5D0\uC11C\uB9CC \uC774\uBCA4\uD2B8 \uD5C8\uC6A9 */\n z-index: 10;\n\n & > * {\n pointer-events: auto;\n }\n"], ["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%; /* \uAE30\uBCF8\uC801\uC73C\uB85C \uC774\uBCA4\uD2B8\uB97C \uB9C9\uACE0, \uB0B4\uBD80 \uC2A4\uCF00\uC904\uC5D0\uC11C\uB9CC \uC774\uBCA4\uD2B8 \uD5C8\uC6A9 */\n z-index: 10;\n\n & > * {\n pointer-events: auto;\n }\n"])));
60
+ var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: pointer;\n display: flex;\n font-size: 12px;\n height: 20px;\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;\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) {
61
+ return props.$isSelected ? props.theme.ui_cpnt_sheet_base_06 : props.theme.ui_cpnt_sheet_base;
62
+ }, function (props) { return "calc((".concat(props.$startCol - 1, ") * (100% / 7) + 4px)"); }, function (props) {
63
+ var rowNumber = props.$startRow - 2;
64
+ var dateMargin = 35;
65
+ var scheduleSpacing = (props.$scheduleIndex || 0) * 26;
66
+ var weekStartPositions = [36, 164, 294, 422, 550];
67
+ var baseTop = weekStartPositions[rowNumber] || weekStartPositions[0];
68
+ return "calc(".concat(baseTop, "px + ").concat(dateMargin, "px + ").concat(scheduleSpacing, "px)");
69
+ }, function (props) { return "calc((".concat(props.$endCol - props.$startCol + 1, ") * (100% / 7) - 21px)"); }, function (_a) {
70
+ var theme = _a.theme;
71
+ return theme.ui_cpnt_sheet_base_06;
72
+ });
73
+ var templateObject_1, templateObject_2;
@@ -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,50 @@
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)(S_TextContainer, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: schedule.title, colorTheme: isSelected ? 'sysTextWhite' : undefined, ellipsisMode: "use", singleLineMode: "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 flex-shrink: 1;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\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 flex-shrink: 1;\n max-width: 100%;\n min-width: 0;\n overflow: hidden;\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) : '2px solid transparent';
41
+ }, function (_a) {
42
+ var theme = _a.theme;
43
+ return theme.ui_cpnt_sheet_base_06;
44
+ });
45
+ var S_TextContainer = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n max-width: 85%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n /* TextLabel \uB0B4\uBD80 \uC694\uC18C\uC5D0\uB3C4 \uD55C \uC904 \uC81C\uD55C \uC801\uC6A9 */\n * {\n line-height: 1 !important;\n max-height: 1em !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n }\n"], ["\n flex: 1;\n max-width: 85%;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n /* TextLabel \uB0B4\uBD80 \uC694\uC18C\uC5D0\uB3C4 \uD55C \uC904 \uC81C\uD55C \uC801\uC6A9 */\n * {\n line-height: 1 !important;\n max-height: 1em !important;\n overflow: hidden !important;\n text-overflow: ellipsis !important;\n white-space: nowrap !important;\n }\n"])));
46
+ exports.S_Dot = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __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) {
47
+ var $isSelected = _a.$isSelected, theme = _a.theme;
48
+ return $isSelected ? theme.ui_cpnt_icon_sys_white : theme.ui_cpnt_icon_sys_grey_02;
49
+ });
50
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -0,0 +1,9 @@
1
+ import type { Schedule } from './types';
2
+ import type React from 'react';
3
+ interface TimeBasedScheduleItemProps {
4
+ schedules: Schedule[];
5
+ handleScheduleDragStart: (schedule: Schedule, e: React.DragEvent) => void;
6
+ handleScheduleDragEnd: () => void;
7
+ }
8
+ export declare const TimeBasedScheduleItem: React.FC<TimeBasedScheduleItemProps>;
9
+ export {};
@@ -0,0 +1,170 @@
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
+ exports.TimeBasedScheduleItem = void 0;
31
+ var jsx_runtime_1 = require("react/jsx-runtime");
32
+ var react_1 = require("react");
33
+ var react_i18next_1 = require("react-i18next");
34
+ var styled_components_1 = __importDefault(require("styled-components"));
35
+ var TextLabel_1 = require("../TextLabel");
36
+ var calendarUtils_1 = require("./calendarUtils");
37
+ var timeFormatUtils_1 = require("./timeFormatUtils");
38
+ var TimeBasedScheduleItem = function (_a) {
39
+ var schedules = _a.schedules, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd;
40
+ var _b = (0, react_i18next_1.useTranslation)(), i18n = _b.i18n, t = _b.t;
41
+ // 시간별 스케줄 계산 및 grid 위치 할당
42
+ var timedSchedulesWithGrid = (0, react_1.useMemo)(function () {
43
+ var filteredSchedules = schedules.filter(function (schedule) { return !(0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate)); });
44
+ // 시간 순으로 정렬 (시작 시간 기준, 시작시간이 같으면 duration이 짧은 순)
45
+ var sortedSchedules = __spreadArray([], filteredSchedules, true).sort(function (a, b) {
46
+ var startTimeA = new Date(a.startDate).getTime();
47
+ var startTimeB = new Date(b.startDate).getTime();
48
+ // 시작시간이 다르면 시작시간 기준으로 정렬
49
+ if (startTimeA !== startTimeB) {
50
+ return startTimeA - startTimeB;
51
+ }
52
+ // 시작시간이 같으면 duration이 짧은 순으로 정렬
53
+ var durationA = new Date(a.endDate).getTime() - startTimeA;
54
+ var durationB = new Date(b.endDate).getTime() - startTimeB;
55
+ return durationA - durationB;
56
+ });
57
+ // 모든 겹치는 스케줄 그룹을 찾기 위한 Union-Find 알고리즘 사용
58
+ var parent = new Map();
59
+ var find = function (x) {
60
+ if (parent.get(x) !== x) {
61
+ parent.set(x, find(parent.get(x)));
62
+ }
63
+ return parent.get(x);
64
+ };
65
+ var union = function (x, y) {
66
+ var rootX = find(x);
67
+ var rootY = find(y);
68
+ if (rootX !== rootY) {
69
+ parent.set(rootX, rootY);
70
+ }
71
+ };
72
+ // 초기화: 각 스케줄을 자기 자신의 parent로 설정
73
+ sortedSchedules.forEach(function (schedule) {
74
+ parent.set(schedule.id, schedule.id);
75
+ });
76
+ // 겹치는 스케줄들을 연결
77
+ for (var i = 0; i < sortedSchedules.length; i += 1) {
78
+ for (var j = i + 1; j < sortedSchedules.length; j += 1) {
79
+ var schedule1 = sortedSchedules[i];
80
+ var schedule2 = sortedSchedules[j];
81
+ var start1 = new Date(schedule1.startDate).getTime();
82
+ var end1 = new Date(schedule1.endDate).getTime();
83
+ var start2 = new Date(schedule2.startDate).getTime();
84
+ var end2 = new Date(schedule2.endDate).getTime();
85
+ // 시간 겹침 확인: (start1 < end2) && (start2 < end1)
86
+ if (start1 < end2 && start2 < end1) {
87
+ union(schedule1.id, schedule2.id);
88
+ }
89
+ }
90
+ }
91
+ // 같은 그룹에 속하는 스케줄들끼리 묶기
92
+ var groups = new Map();
93
+ sortedSchedules.forEach(function (schedule) {
94
+ var root = find(schedule.id);
95
+ if (!groups.has(root)) {
96
+ groups.set(root, []);
97
+ }
98
+ groups.get(root).push(schedule);
99
+ });
100
+ // 각 그룹 내에서 grid 위치 할당
101
+ var schedulesWithGrid = [];
102
+ groups.forEach(function (group) {
103
+ // 그룹 내에서 정렬
104
+ var sortedGroup = group.sort(function (a, b) {
105
+ var startTimeA = new Date(a.startDate).getTime();
106
+ var startTimeB = new Date(b.startDate).getTime();
107
+ if (startTimeA !== startTimeB) {
108
+ return startTimeA - startTimeB;
109
+ }
110
+ var durationA = new Date(a.endDate).getTime() - startTimeA;
111
+ var durationB = new Date(b.endDate).getTime() - startTimeB;
112
+ return durationA - durationB;
113
+ });
114
+ var totalColumns = sortedGroup.length;
115
+ sortedGroup.forEach(function (schedule, index) {
116
+ schedulesWithGrid.push(__assign(__assign({}, schedule), { gridColumn: index, totalColumns: totalColumns }));
117
+ });
118
+ });
119
+ return schedulesWithGrid;
120
+ }, [schedules]);
121
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: timedSchedulesWithGrid.map(function (schedule) {
122
+ var startDate = new Date(schedule.startDate);
123
+ var endDate = new Date(schedule.endDate);
124
+ // 시간을 UTC에서 로컬 시간으로 변환
125
+ var localStartHour = startDate.getUTCHours();
126
+ var localEndHour = endDate.getUTCHours();
127
+ var localStartMinutes = startDate.getUTCMinutes();
128
+ var localEndMinutes = endDate.getUTCMinutes();
129
+ // 시작 시간과 끝 시간 계산 (분 단위)
130
+ var startMinutes = localStartHour * 60 + localStartMinutes;
131
+ var endMinutes = localEndHour * 60 + localEndMinutes;
132
+ var duration = Math.max(endMinutes - startMinutes, 30); // 최소 30분
133
+ // 지속시간 계산 (시간 단위)
134
+ var durationHours = duration / 60;
135
+ var durationText = durationHours === 1
136
+ ? "".concat(durationHours).concat(t('calendar_duration_hour'))
137
+ : "".concat(durationHours).concat(t('calendar_duration_hours'));
138
+ // 픽셀 단위로 변환 (각 시간은 60px)
139
+ var top = (startMinutes / 60) * 60;
140
+ var height = (duration / 60) * 60;
141
+ return ((0, jsx_runtime_1.jsx)(S_ScheduleItem, __assign({ "$top": top, "$height": height, "$gridColumn": schedule.gridColumn, "$totalColumns": schedule.totalColumns, draggable: true, onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); }, onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); } }, { children: (0, jsx_runtime_1.jsxs)(S_ScheduleContent, { children: [(0, jsx_runtime_1.jsx)(S_ScheduleTime, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Regular", text: "".concat((0, timeFormatUtils_1.formatTimeWithLocale)(localStartHour, i18n.language, t), " (").concat(durationText, ")"), ellipsisMode: "use", singleLineMode: "use" }) }), (0, jsx_runtime_1.jsx)(S_ScheduleTitle, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: schedule.title, ellipsisMode: "use", singleLineMode: "use" }) })] }) }), schedule.id));
142
+ }) }));
143
+ };
144
+ exports.TimeBasedScheduleItem = TimeBasedScheduleItem;
145
+ var S_ScheduleItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background: ", ";\n border: 1px solid ", ";\n border-left: 2px solid ", ";\n border-radius: 4px;\n cursor: grab;\n height: ", "px;\n left: ", ";\n overflow: hidden;\n position: absolute;\n top: ", "px;\n width: ", ";\n z-index: 9;\n &:active {\n cursor: grabbing;\n }\n"], ["\n background: ", ";\n border: 1px solid ", ";\n border-left: 2px solid ", ";\n border-radius: 4px;\n cursor: grab;\n height: ", "px;\n left: ", ";\n overflow: hidden;\n position: absolute;\n top: ", "px;\n width: ", ";\n z-index: 9;\n &:active {\n cursor: grabbing;\n }\n"])), function (_a) {
146
+ var theme = _a.theme;
147
+ return theme.ui_cpnt_sheet_base;
148
+ }, function (_a) {
149
+ var theme = _a.theme;
150
+ return theme.ui_temp_white;
151
+ }, function (_a) {
152
+ var theme = _a.theme;
153
+ return theme.ui_temp_grey_02;
154
+ }, function (_a) {
155
+ var $height = _a.$height;
156
+ return $height - 10;
157
+ }, function (_a) {
158
+ var $gridColumn = _a.$gridColumn, $totalColumns = _a.$totalColumns;
159
+ return "calc(".concat($gridColumn, " * (100% / ").concat($totalColumns, "))");
160
+ }, function (_a) {
161
+ var $top = _a.$top;
162
+ return $top;
163
+ }, function (_a) {
164
+ var $totalColumns = _a.$totalColumns;
165
+ return "calc(100% / ".concat($totalColumns, ")");
166
+ });
167
+ var S_ScheduleContent = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n padding: 4px 6px;\n"], ["\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n padding: 4px 6px;\n"])));
168
+ var S_ScheduleTitle = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n margin-bottom: 2px;\n"], ["\n margin-bottom: 2px;\n"])));
169
+ var S_ScheduleTime = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-top: auto;\n"], ["\n margin-top: auto;\n"])));
170
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -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 {};