pds-dev-kit-web-test 2.5.495 → 2.5.496

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 (270) hide show
  1. package/dist/index.d.ts +4 -4
  2. package/dist/index.js +6 -3
  3. package/dist/src/common/assets/icons/fill/Translate.d.ts +4 -0
  4. package/dist/src/common/assets/icons/fill/Translate.js +30 -0
  5. package/dist/src/common/assets/icons/fill/index.d.ts +1 -0
  6. package/dist/src/common/assets/icons/fill/index.js +2 -0
  7. package/dist/src/common/assets/icons/line/Translate.d.ts +4 -0
  8. package/dist/src/common/assets/icons/line/Translate.js +30 -0
  9. package/dist/src/common/assets/icons/line/index.d.ts +1 -0
  10. package/dist/src/common/assets/icons/line/index.js +2 -0
  11. package/dist/src/common/hooks/useTooltip.js +1 -1
  12. package/dist/src/common/services/i18n/resources/en.json +44 -1
  13. package/dist/src/common/services/i18n/resources/es.json +43 -1
  14. package/dist/src/common/services/i18n/resources/fil.json +43 -1
  15. package/dist/src/common/services/i18n/resources/index.d.ts +299 -0
  16. package/dist/src/common/services/i18n/resources/ja.json +44 -1
  17. package/dist/src/common/services/i18n/resources/ko.json +44 -1
  18. package/dist/src/common/services/i18n/resources/zh-cn.json +44 -1
  19. package/dist/src/common/services/i18n/resources/zh-tw.json +44 -1
  20. package/dist/src/common/styles/colorSet/index.d.ts +2 -2
  21. package/dist/src/common/styles/colorSet/index.js +2 -2
  22. package/dist/src/common/types/components.d.ts +9 -0
  23. package/dist/src/common/types/components.js +8 -0
  24. package/dist/src/common/types/index.d.ts +0 -1
  25. package/dist/src/common/types/index.js +0 -1
  26. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +1 -1
  27. package/dist/src/common/utils/dateHelper.d.ts +3 -0
  28. package/dist/src/common/utils/dateHelper.js +37 -0
  29. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.d.ts +2 -1
  30. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +20 -16
  31. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
  32. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.d.ts +20 -2
  33. package/dist/src/desktop/components/BasicFormGroup/BasicFormGroup.js +47 -5
  34. package/dist/src/desktop/components/BoxItem/BoxItem.d.ts +62 -0
  35. package/dist/src/desktop/components/BoxItem/BoxItem.js +104 -0
  36. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  37. package/dist/src/desktop/components/BoxItem/LeftBox/Checkbox.js +9 -0
  38. package/dist/src/desktop/components/BoxItem/LeftBox/Image.d.ts +11 -0
  39. package/dist/src/desktop/components/BoxItem/LeftBox/Image.js +9 -0
  40. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  41. package/dist/src/desktop/components/BoxItem/LeftBox/LeftBox.js +36 -0
  42. package/dist/src/desktop/components/BoxItem/LeftBox/index.d.ts +2 -0
  43. package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner → desktop/components/BoxItem/LeftBox}/index.js +3 -3
  44. package/dist/src/desktop/components/BoxItem/index.d.ts +1 -0
  45. package/dist/src/desktop/components/BoxItem/index.js +8 -0
  46. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.d.ts +13 -0
  47. package/dist/src/desktop/components/Calendar/AllDaySchedulesSection.js +132 -0
  48. package/dist/src/desktop/components/Calendar/Calendar.d.ts +4 -0
  49. package/dist/src/desktop/components/Calendar/Calendar.js +394 -0
  50. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.d.ts +7 -0
  51. package/dist/src/desktop/components/Calendar/CurrentTimeIndicator.js +48 -0
  52. package/dist/src/desktop/components/Calendar/DailyView.d.ts +17 -0
  53. package/dist/src/desktop/components/Calendar/DailyView.js +64 -0
  54. package/dist/src/desktop/components/Calendar/MonthlyView.d.ts +29 -0
  55. package/dist/src/desktop/components/Calendar/MonthlyView.js +313 -0
  56. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.d.ts +20 -0
  57. package/dist/src/desktop/components/Calendar/MultiWeekSchedulesLayer.js +155 -0
  58. package/dist/src/desktop/components/Calendar/ScheduleItem.d.ts +17 -0
  59. package/dist/src/desktop/components/Calendar/ScheduleItem.js +56 -0
  60. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.d.ts +9 -0
  61. package/dist/src/desktop/components/Calendar/TimeBasedScheduleItem.js +170 -0
  62. package/dist/src/desktop/components/Calendar/WeeklyView.d.ts +21 -0
  63. package/dist/src/desktop/components/Calendar/WeeklyView.js +91 -0
  64. package/dist/src/desktop/components/Calendar/YearlyView.d.ts +12 -0
  65. package/dist/src/desktop/components/Calendar/YearlyView.js +76 -0
  66. package/dist/src/desktop/components/Calendar/calendarUtils.d.ts +24 -0
  67. package/dist/src/desktop/components/Calendar/calendarUtils.js +87 -0
  68. package/dist/src/desktop/components/Calendar/constants.d.ts +1 -0
  69. package/dist/src/desktop/components/Calendar/constants.js +31 -0
  70. package/dist/src/desktop/components/Calendar/index.d.ts +10 -0
  71. package/dist/src/desktop/components/Calendar/index.js +37 -0
  72. package/dist/src/desktop/components/Calendar/timeFormatUtils.d.ts +16 -0
  73. package/dist/src/desktop/components/Calendar/timeFormatUtils.js +45 -0
  74. package/dist/src/desktop/components/Calendar/types.d.ts +61 -0
  75. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  76. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  77. package/dist/src/desktop/components/ChatList/Body.d.ts +1 -1
  78. package/dist/src/desktop/components/index.d.ts +3 -1
  79. package/dist/src/desktop/components/index.js +6 -1
  80. package/dist/src/desktop/index.d.ts +1 -1
  81. package/dist/src/desktop/index.js +4 -2
  82. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.d.ts +17 -2
  83. package/dist/src/desktop/panels/DesktopHeadlessModal/DesktopHeadlessModal.js +37 -6
  84. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.d.ts +11 -0
  85. package/dist/src/desktop/panels/MultilingualModal/MultilingualModal.js +199 -0
  86. package/dist/src/desktop/panels/MultilingualModal/index.d.ts +1 -0
  87. package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList → desktop/panels/MultilingualModal}/index.js +3 -3
  88. package/dist/src/desktop/panels/index.d.ts +2 -1
  89. package/dist/src/desktop/panels/index.js +6 -1
  90. package/dist/src/hybrid/components/Divider/Divider.d.ts +3 -1
  91. package/dist/src/hybrid/components/Divider/Divider.js +9 -7
  92. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.d.ts +2 -1
  93. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +20 -16
  94. package/dist/src/mobile/components/BoxItem/BoxItem.d.ts +62 -0
  95. package/dist/src/mobile/components/BoxItem/BoxItem.js +104 -0
  96. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.d.ts +7 -0
  97. package/dist/src/mobile/components/BoxItem/LeftBox/Checkbox.js +9 -0
  98. package/dist/src/mobile/components/BoxItem/LeftBox/Image.d.ts +11 -0
  99. package/dist/src/mobile/components/BoxItem/LeftBox/Image.js +9 -0
  100. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.d.ts +11 -0
  101. package/dist/src/mobile/components/BoxItem/LeftBox/LeftBox.js +36 -0
  102. package/dist/src/mobile/components/BoxItem/LeftBox/index.d.ts +2 -0
  103. package/dist/src/mobile/components/BoxItem/LeftBox/index.js +8 -0
  104. package/dist/src/mobile/components/BoxItem/index.d.ts +1 -0
  105. package/dist/src/mobile/components/BoxItem/index.js +8 -0
  106. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +2 -3
  107. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +3 -8
  108. package/dist/src/mobile/components/ChatList/Body.d.ts +1 -1
  109. package/dist/src/mobile/components/index.d.ts +2 -1
  110. package/dist/src/mobile/components/index.js +3 -1
  111. package/dist/src/mobile/index.d.ts +1 -1
  112. package/dist/src/mobile/index.js +3 -2
  113. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +1 -4
  114. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +3 -5
  115. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +53 -53
  116. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  117. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  118. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  119. package/dist/src/sub/DynamicLayout/DynamicLayout.js +2 -4
  120. package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackgroundMedia.js +2 -24
  121. package/dist/src/sub/DynamicLayout/components/Section/sectionContext.d.ts +2 -2
  122. package/dist/src/sub/DynamicLayout/components/Section/util/parseSectionBackgroundMediaData.js +1 -3
  123. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.d.ts +0 -40
  124. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/index.js +177 -36
  125. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_Dark.json +4 -152
  126. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/PaletteColor_light.json +2 -150
  127. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/SemanticColor.json +1 -45
  128. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/UIColor.json +9 -262
  129. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/index.d.ts +0 -593
  130. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/styles/colorSet/ui-type.d.ts +0 -253
  131. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.d.ts +1 -3
  132. package/dist/src/sub/DynamicLayout/components/pdsOriginal/desktop/IconButton/IconButton.js +3 -5
  133. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.d.ts +1 -2
  134. package/dist/src/sub/DynamicLayout/components/pdsOriginal/hybrid/Icon/Icon.js +2 -9
  135. package/dist/src/sub/DynamicLayout/mock_video_cb.d.ts +1 -0
  136. package/dist/src/sub/DynamicLayout/mock_video_cb.js +5 -4
  137. package/dist/src/sub/DynamicLayout/mocks.d.ts +961 -8
  138. package/dist/src/sub/DynamicLayout/mocks.js +4239 -55
  139. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -4
  140. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +1 -1
  141. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +7 -7
  142. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +3 -13
  143. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +2 -18
  144. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +4 -10
  145. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +3 -134
  146. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +3 -39
  147. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +7 -38
  148. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/VideoPlayer.js +28 -3
  149. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.d.ts +1 -0
  150. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/VideoPlayer/helper.js +15 -5
  151. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +3 -49
  152. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/group.d.ts +1 -1
  153. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +1 -1
  154. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +10 -27
  155. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +1 -3
  156. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim.d.ts +4 -4
  157. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding.d.ts +2 -2
  158. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +2 -2
  159. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +2 -7
  160. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +5 -10
  161. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseProperties.d.ts +2 -2
  162. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/parseStylePropTextSpec.js +0 -2
  163. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -53
  164. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.d.ts +1 -1
  165. package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +0 -1
  166. package/dist/src/sub/DynamicLayout/types.d.ts +17 -64
  167. package/package.json +2 -3
  168. package/release-note.md +2 -2
  169. package/dist/src/common/types/form.d.ts +0 -9
  170. package/dist/src/common/types/form.js +0 -10
  171. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.d.ts +0 -22
  172. package/dist/src/sub/DynamicLayout/CompositionEditor/CompositionEditor.js +0 -1133
  173. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.d.ts +0 -11
  174. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionBackground.js +0 -45
  175. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.d.ts +0 -10
  176. package/dist/src/sub/DynamicLayout/CompositionRenderer/createCompositions.js +0 -79
  177. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.d.ts +0 -12
  178. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/downIcons.js +0 -76
  179. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.d.ts +0 -4
  180. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/index.js +0 -47
  181. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.d.ts +0 -12
  182. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/leftIcons.js +0 -76
  183. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.d.ts +0 -12
  184. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/rightIcons.js +0 -76
  185. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.d.ts +0 -12
  186. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/editorNavigationIcons/upIcons.js +0 -76
  187. package/dist/src/sub/DynamicLayout/compositionActionTypes.d.ts +0 -139
  188. package/dist/src/sub/DynamicLayout/compositionActionTypes.js +0 -2
  189. package/dist/src/sub/DynamicLayout/compositionQueryContext.d.ts +0 -8
  190. package/dist/src/sub/DynamicLayout/compositionQueryContext.js +0 -14
  191. package/dist/src/sub/DynamicLayout/mock_componentBlocks.d.ts +0 -776
  192. package/dist/src/sub/DynamicLayout/mock_componentBlocks.js +0 -4236
  193. package/dist/src/sub/DynamicLayout/mock_composition.d.ts +0 -3
  194. package/dist/src/sub/DynamicLayout/mock_composition.js +0 -1607
  195. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.d.ts +0 -1
  196. package/dist/src/sub/DynamicLayout/mock_contentsCarousel.js +0 -1111
  197. package/dist/src/sub/DynamicLayout/mock_contentsList.d.ts +0 -1
  198. package/dist/src/sub/DynamicLayout/mock_contentsList.js +0 -1091
  199. package/dist/src/sub/DynamicLayout/mock_queryData.d.ts +0 -96
  200. package/dist/src/sub/DynamicLayout/mock_queryData.js +0 -2639
  201. package/dist/src/sub/DynamicLayout/mock_slideBanner.d.ts +0 -842
  202. package/dist/src/sub/DynamicLayout/mock_slideBanner.js +0 -854
  203. package/dist/src/sub/DynamicLayout/mock_video.d.ts +0 -368
  204. package/dist/src/sub/DynamicLayout/mock_video.js +0 -371
  205. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.d.ts +0 -12
  206. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarouselCore.js +0 -61
  207. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.d.ts +0 -15
  208. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationNextBtn.js +0 -69
  209. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.d.ts +0 -15
  210. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomNavigationPrevBtn.js +0 -69
  211. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.d.ts +0 -9
  212. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/CustomProgressbar.js +0 -87
  213. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.d.ts +0 -4
  214. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/navigationConfigs.js +0 -849
  215. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.d.ts +0 -43
  216. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/components/progressConfigs.js +0 -162
  217. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.d.ts +0 -39
  218. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/contentsCarouselUtils.js +0 -182
  219. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.d.ts +0 -18
  220. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useFlexGridLayout.js +0 -229
  221. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.d.ts +0 -14
  222. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/hooks/useSwiper.js +0 -46
  223. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.d.ts +0 -1
  224. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/index.js +0 -8
  225. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/types.d.ts +0 -139
  226. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.d.ts +0 -14
  227. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +0 -206
  228. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.d.ts +0 -17
  229. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsListCore.js +0 -39
  230. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.d.ts +0 -10
  231. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/CustomPagination.js +0 -85
  232. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.d.ts +0 -25
  233. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/components/paginationConfigs.js +0 -183
  234. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.d.ts +0 -29
  235. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/contentsListUtils.js +0 -128
  236. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.d.ts +0 -18
  237. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/hooks/useFlexGridLayout.js +0 -229
  238. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/index.d.ts +0 -1
  239. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.d.ts +0 -67
  240. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/types.js +0 -2
  241. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.d.ts +0 -14
  242. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBanner.js +0 -151
  243. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.d.ts +0 -12
  244. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/SlideBannerCore.js +0 -39
  245. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.d.ts +0 -15
  246. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationNextBtn.js +0 -69
  247. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.d.ts +0 -15
  248. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomNavigationPrevBtn.js +0 -69
  249. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.d.ts +0 -20
  250. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +0 -173
  251. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.d.ts +0 -9
  252. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomProgressbar.js +0 -87
  253. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.d.ts +0 -4
  254. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/navigationConfigs.js +0 -849
  255. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.d.ts +0 -43
  256. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/progressConfigs.js +0 -162
  257. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.d.ts +0 -18
  258. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useFlexGridLayout.js +0 -229
  259. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.d.ts +0 -16
  260. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/hooks/useSwiper.js +0 -63
  261. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/index.d.ts +0 -1
  262. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.d.ts +0 -46
  263. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/slideBannerUtils.js +0 -186
  264. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.d.ts +0 -163
  265. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/types.js +0 -2
  266. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/textSpecFormatOptions.d.ts +0 -7
  267. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/textSpecFormatOptions.js +0 -211
  268. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.d.ts +0 -14
  269. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseCompositionPlacement.js +0 -26
  270. /package/dist/src/{sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel → desktop/components/Calendar}/types.js +0 -0
@@ -0,0 +1,64 @@
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.DailyView = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var react_i18next_1 = require("react-i18next");
24
+ var styled_components_1 = __importDefault(require("styled-components"));
25
+ var TextLabel_1 = require("../TextLabel");
26
+ var AllDaySchedulesSection_1 = require("./AllDaySchedulesSection");
27
+ var CurrentTimeIndicator_1 = require("./CurrentTimeIndicator");
28
+ var TimeBasedScheduleItem_1 = require("./TimeBasedScheduleItem");
29
+ var timeFormatUtils_1 = require("./timeFormatUtils");
30
+ var DailyView = function (_a) {
31
+ var selectedDate = _a.selectedDate, _b = _a.displayAllDayScheduleMode, displayAllDayScheduleMode = _b === void 0 ? 'use' : _b, getSchedulesForDate = _a.getSchedulesForDate, isDragOverDate = _a.isDragOverDate, handleDateDragOver = _a.handleDateDragOver, handleDateDragLeave = _a.handleDateDragLeave, handleDateDrop = _a.handleDateDrop, handleDateClick = _a.handleDateClick, renderScheduleItem = _a.renderScheduleItem, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd;
32
+ var i18n = (0, react_i18next_1.useTranslation)().i18n;
33
+ var currentDateForDaily = [selectedDate][0];
34
+ var HOURS_IN_DAY = Array.from({ length: 24 }, function (_, i) { return i; });
35
+ var getTimeSlotDate = function (baseDate, hour) {
36
+ var date = new Date(baseDate);
37
+ date.setHours(hour, 0, 0, 0);
38
+ return date;
39
+ };
40
+ return ((0, jsx_runtime_1.jsxs)(S_DailyContainer, { children: [(0, jsx_runtime_1.jsx)(AllDaySchedulesSection_1.AllDaySchedulesSection, { calendarDates: [selectedDate], displayAllDayScheduleMode: displayAllDayScheduleMode, getSchedulesForDate: getSchedulesForDate, renderScheduleItem: renderScheduleItem, handleDateDragOver: handleDateDragOver, handleDateDragLeave: handleDateDragLeave, handleDateDrop: handleDateDrop }), (0, jsx_runtime_1.jsxs)(S_DailyTimeGrid, { children: [(0, jsx_runtime_1.jsx)(CurrentTimeIndicator_1.CurrentTimeIndicator, { show: true, leftOffset: "80px" }), HOURS_IN_DAY.map(function (hour) {
41
+ var timeSlotDate = getTimeSlotDate(currentDateForDaily, hour);
42
+ var isDragOver = (isDragOverDate === null || isDragOverDate === void 0 ? void 0 : isDragOverDate.getTime()) === timeSlotDate.getTime();
43
+ return ((0, jsx_runtime_1.jsxs)(S_DailyTimeRow, { children: [(0, jsx_runtime_1.jsx)(S_DailyTimeLabel, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: (0, timeFormatUtils_1.formatHour)(hour, i18n.language), colorTheme: "sysTextTertiary" }) }), (0, jsx_runtime_1.jsx)(S_DailyTimeSlot, __assign({ "$isDragOver": isDragOver, onClick: function () { return handleDateClick(timeSlotDate, {}); }, onDragOver: function (e) { return handleDateDragOver(timeSlotDate, e); }, onDragLeave: handleDateDragLeave, onDrop: function (e) { return handleDateDrop(timeSlotDate, e); } }, { children: hour === 0 && ((0, jsx_runtime_1.jsx)(TimeBasedScheduleItem_1.TimeBasedScheduleItem, { schedules: getSchedulesForDate(currentDateForDaily), handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd })) }))] }, hour));
44
+ })] })] }));
45
+ };
46
+ exports.DailyView = DailyView;
47
+ var S_DailyContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n height: 100%;\n"], ["\n display: flex;\n flex-direction: column;\n height: 100%;\n"])));
48
+ var S_DailyTimeGrid = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n overflow-y: auto;\n position: relative;\n"], ["\n flex: 1;\n overflow-y: auto;\n position: relative;\n"])));
49
+ var S_DailyTimeRow = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: flex;\n min-height: 60px;\n"], ["\n display: flex;\n min-height: 60px;\n"])));
50
+ var S_DailyTimeLabel = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n align-items: center;\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n display: flex;\n justify-content: center;\n min-width: 80px;\n padding: 8px;\n"], ["\n align-items: center;\n border-bottom: 1px solid ", ";\n border-right: 1px solid ", ";\n display: flex;\n justify-content: center;\n min-width: 80px;\n padding: 8px;\n"])), function (_a) {
51
+ var theme = _a.theme;
52
+ return theme.ui_cpnt_divider;
53
+ }, function (_a) {
54
+ var theme = _a.theme;
55
+ return theme.ui_cpnt_divider;
56
+ });
57
+ var S_DailyTimeSlot = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background: ", ";\n border-bottom: 1px solid ", ";\n cursor: pointer;\n flex: 1;\n min-width: 0;\n overflow: visible;\n padding: 4px;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"], ["\n background: ", ";\n border-bottom: 1px solid ", ";\n cursor: pointer;\n flex: 1;\n min-width: 0;\n overflow: visible;\n padding: 4px;\n position: relative;\n\n &:hover {\n background: ", ";\n }\n"])), function (props) { return (props.$isDragOver ? props.theme.ui_72 : 'transparent'); }, function (_a) {
58
+ var theme = _a.theme;
59
+ return theme.ui_cpnt_divider;
60
+ }, function (_a) {
61
+ var theme = _a.theme;
62
+ return theme.ui_72;
63
+ });
64
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,29 @@
1
+ import type { Schedule } from './types';
2
+ import type React from 'react';
3
+ interface MonthlyViewProps {
4
+ getDayTextByDate: (date: Date) => string;
5
+ startOfWeek: 'sunday' | 'monday';
6
+ selectedDate: Date;
7
+ selectedDates: Date[];
8
+ dragStartDate: Date | null;
9
+ selectedSchedules: Schedule[];
10
+ dragEndDate: Date | null;
11
+ isDragOverDate: Date | null;
12
+ schedules: Schedule[];
13
+ getSchedulesForDate: (date: Date) => Schedule[];
14
+ isToday: (date: Date) => boolean;
15
+ isPastDate: (date: Date) => boolean;
16
+ handleDateClick: (date: Date, e: React.MouseEvent) => void;
17
+ handleScheduleClick?: (schedule: Schedule, e?: React.MouseEvent) => void;
18
+ handleMouseUp: () => void;
19
+ handleDateDragOver: (date: Date, e: React.DragEvent) => void;
20
+ handleDateDragLeave: () => void;
21
+ handleDateDrop: (date: Date, e: React.DragEvent) => void;
22
+ renderScheduleItem: (schedule: Schedule, extraProps?: any) => React.ReactNode;
23
+ handleScheduleDragStart?: (schedule: Schedule, e: React.DragEvent) => void;
24
+ handleScheduleDragEnd?: () => void;
25
+ isDraggable?: boolean;
26
+ onSwitchToWeeklyView?: (date: Date) => void;
27
+ }
28
+ export declare const MonthlyView: React.FC<MonthlyViewProps>;
29
+ export {};
@@ -0,0 +1,313 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __importDefault = (this && this.__importDefault) || function (mod) {
18
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.MonthlyView = void 0;
22
+ var jsx_runtime_1 = require("react/jsx-runtime");
23
+ var react_1 = require("react");
24
+ var react_i18next_1 = require("react-i18next");
25
+ var dateHelper_1 = require("../../../common/utils/dateHelper");
26
+ var styled_components_1 = __importDefault(require("styled-components"));
27
+ var TextLabel_1 = require("../TextLabel");
28
+ var calendarUtils_1 = require("./calendarUtils");
29
+ var MultiWeekSchedulesLayer_1 = require("./MultiWeekSchedulesLayer");
30
+ var MonthlyView = function (_a) {
31
+ 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, _b = _a.isDraggable, isDraggable = _b === void 0 ? false : _b, onSwitchToWeeklyView = _a.onSwitchToWeeklyView;
32
+ var t = (0, react_i18next_1.useTranslation)().t;
33
+ var calendarCellRef = (0, react_1.useRef)(null);
34
+ var _c = (0, react_1.useState)(3), maxSchedulesPerDay = _c[0], setMaxSchedulesPerDay = _c[1];
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 calculateMaxSchedules = (0, react_1.useCallback)(function () {
41
+ if (!calendarCellRef.current)
42
+ return;
43
+ var cellHeight = calendarCellRef.current.clientHeight;
44
+ var dateLabelHeight = 20; // 날짜 텍스트 영역
45
+ var cellPadding = 8; // 상하 패딩 (4px * 2)
46
+ var scheduleItemHeight = 20; // 스케줄 아이템 대략 높이
47
+ var moreTextHeight = 16; // "더보기" 텍스트 높이
48
+ var availableHeight = cellHeight - dateLabelHeight - cellPadding;
49
+ var maxSchedulesWithMore = Math.floor((availableHeight - moreTextHeight) / scheduleItemHeight);
50
+ // 최소 1개는 보여주되, 더보기를 고려한 개수로 설정
51
+ var calculatedMax = Math.max(1, maxSchedulesWithMore);
52
+ setMaxSchedulesPerDay(calculatedMax);
53
+ }, []);
54
+ // ResizeObserver로 크기 변경 감지
55
+ (0, react_1.useLayoutEffect)(function () {
56
+ if (!calendarCellRef.current)
57
+ return;
58
+ var resizeObserver = new ResizeObserver(function () {
59
+ calculateMaxSchedules();
60
+ });
61
+ resizeObserver.observe(calendarCellRef.current);
62
+ // 초기 계산
63
+ calculateMaxSchedules();
64
+ return function () {
65
+ resizeObserver.disconnect();
66
+ };
67
+ }, [calculateMaxSchedules]);
68
+ // 창 크기 변경 시에도 재계산
69
+ (0, react_1.useLayoutEffect)(function () {
70
+ var handleResize = function () {
71
+ setTimeout(calculateMaxSchedules, 0);
72
+ };
73
+ window.addEventListener('resize', handleResize);
74
+ return function () { return window.removeEventListener('resize', handleResize); };
75
+ }, [calculateMaxSchedules]);
76
+ // 다중 이벤트 계산
77
+ var getMultiWeekSchedules = (0, react_1.useMemo)(function () {
78
+ var multiWeekSchedules = [];
79
+ var allSchedules = new Map();
80
+ var processedScheduleIds = new Set();
81
+ // 캘린더에 표시되는 전체 날짜 범위 계산
82
+ var calendarStart = new Date(days[0]);
83
+ var calendarEnd = new Date(days[days.length - 1]);
84
+ calendarStart.setHours(0, 0, 0, 0);
85
+ calendarEnd.setHours(0, 0, 0, 0);
86
+ days.forEach(function (date) {
87
+ var schedulesForDate = getSchedulesForDate(date);
88
+ schedulesForDate.forEach(function (schedule) {
89
+ // 이미 처리된 이벤트는 건너뛰기
90
+ if (processedScheduleIds.has(schedule.id)) {
91
+ return;
92
+ }
93
+ var scheduleStart = new Date(schedule.startDate);
94
+ var scheduleEnd = new Date(schedule.endDate);
95
+ scheduleStart.setHours(0, 0, 0, 0);
96
+ scheduleEnd.setHours(0, 0, 0, 0);
97
+ // All day 이벤트이거나 다중 날짜 이벤트인지 확인
98
+ var isAllDay = (0, calendarUtils_1.calculateIsAllDay)(new Date(schedule.startDate), new Date(schedule.endDate));
99
+ var isMultiDay = scheduleStart.getTime() !== scheduleEnd.getTime();
100
+ if (isAllDay || isMultiDay) {
101
+ // 이벤트가 현재 캘린더 범위와 교차하는지 확인
102
+ var isIntersecting = !(scheduleEnd.getTime() < calendarStart.getTime() ||
103
+ scheduleStart.getTime() > calendarEnd.getTime());
104
+ if (isIntersecting) {
105
+ allSchedules.set(schedule.id, schedule);
106
+ processedScheduleIds.add(schedule.id);
107
+ }
108
+ }
109
+ });
110
+ });
111
+ allSchedules.forEach(function (schedule) {
112
+ var scheduleStart = new Date(schedule.startDate);
113
+ var scheduleEnd = new Date(schedule.endDate);
114
+ scheduleStart.setHours(0, 0, 0, 0);
115
+ scheduleEnd.setHours(0, 0, 0, 0);
116
+ // 여러 날짜에 걸친 이벤트인지 확인
117
+ if (scheduleStart.getTime() !== scheduleEnd.getTime()) {
118
+ // 캘린더 범위 내에서 표시할 실제 시작/끝 날짜 계산
119
+ var displayStart_1 = new Date(Math.max(scheduleStart.getTime(), calendarStart.getTime()));
120
+ var displayEnd_1 = new Date(Math.min(scheduleEnd.getTime(), calendarEnd.getTime()));
121
+ // 캘린더 그리드에서 시작과 끝 위치 찾기
122
+ var startIndex = days.findIndex(function (date) {
123
+ var d = new Date(date);
124
+ d.setHours(0, 0, 0, 0);
125
+ return d.getTime() === displayStart_1.getTime();
126
+ });
127
+ var endIndex = days.findIndex(function (date) {
128
+ var d = new Date(date);
129
+ d.setHours(0, 0, 0, 0);
130
+ return d.getTime() === displayEnd_1.getTime();
131
+ });
132
+ if (startIndex !== -1 && endIndex !== -1) {
133
+ var startRow = Math.floor(startIndex / 7) + 2;
134
+ var endRow = Math.floor(endIndex / 7) + 2;
135
+ var _loop_1 = function (row) {
136
+ var isFirstRow = row === startRow;
137
+ var isLastRow = row === endRow;
138
+ // 각 행에서의 시작/끝 컬럼 계산
139
+ var segmentStartCol = void 0;
140
+ var segmentEndCol = void 0;
141
+ if (isFirstRow && isLastRow) {
142
+ // 같은 행 내의 이벤트
143
+ segmentStartCol = (startIndex % 7) + 1;
144
+ segmentEndCol = (endIndex % 7) + 1;
145
+ }
146
+ else if (isFirstRow) {
147
+ // 첫 번째 행: 시작 컬럼부터 주 끝까지
148
+ segmentStartCol = (startIndex % 7) + 1;
149
+ segmentEndCol = 7;
150
+ }
151
+ else if (isLastRow) {
152
+ // 마지막 행: 주 시작부터 끝 컬럼까지
153
+ segmentStartCol = 1;
154
+ segmentEndCol = (endIndex % 7) + 1;
155
+ }
156
+ else {
157
+ // 중간 행: 주 전체
158
+ segmentStartCol = 1;
159
+ segmentEndCol = 7;
160
+ }
161
+ // 같은 행의 기존 이벤트 개수 계산
162
+ var existingSchedulesInRow = multiWeekSchedules.filter(function (e) { return e.startRow === row; }).length;
163
+ multiWeekSchedules.push({
164
+ schedule: schedule,
165
+ startRow: row,
166
+ endRow: row,
167
+ startCol: segmentStartCol,
168
+ endCol: segmentEndCol,
169
+ scheduleIndex: existingSchedulesInRow
170
+ });
171
+ };
172
+ // 여러 주에 걸친 경우 각 주별로 분할해서 처리
173
+ for (var row = startRow; row <= endRow; row += 1) {
174
+ _loop_1(row);
175
+ }
176
+ }
177
+ }
178
+ });
179
+ return multiWeekSchedules;
180
+ }, [days, getSchedulesForDate, schedules]);
181
+ // 각 날짜별 다중 날짜 이벤트 개수 계산
182
+ var getMultiWeekSchedulesCountForDate = (0, react_1.useMemo)(function () {
183
+ var countMap = new Map();
184
+ days.forEach(function (date, index) {
185
+ var dateKey = date.toDateString();
186
+ var row = Math.floor(index / 7) + 2; // 헤더 고려
187
+ var col = (index % 7) + 1;
188
+ // 해당 날짜에 영향을 주는 다중 주 이벤트 개수 계산
189
+ var affectingSchedules = getMultiWeekSchedules.filter(function (schedule) {
190
+ var startRow = schedule.startRow, endRow = schedule.endRow, startCol = schedule.startCol, endCol = schedule.endCol;
191
+ // 같은 행에 있고, 컬럼 범위에 포함되는 경우
192
+ if (row >= startRow && row <= endRow) {
193
+ if (startRow === endRow) {
194
+ // 같은 행 내에서 컬럼 범위 체크
195
+ return col >= startCol && col <= endCol;
196
+ }
197
+ // 여러 행에 걸친 경우
198
+ if (row === startRow) {
199
+ return col >= startCol;
200
+ }
201
+ if (row === endRow) {
202
+ return col <= endCol;
203
+ }
204
+ return true; // 중간 행
205
+ }
206
+ return false;
207
+ });
208
+ countMap.set(dateKey, affectingSchedules.length);
209
+ });
210
+ return countMap;
211
+ }, [days, getMultiWeekSchedules]);
212
+ // 시작 요일에 따라 정렬된 요일 헤더 생성
213
+ var orderedDayTexts = (function () {
214
+ var weekDates = [];
215
+ var today = new Date();
216
+ var startIndex = startOfWeek === 'monday' ? 1 : 0;
217
+ var firstDayOfWeek = new Date(today);
218
+ firstDayOfWeek.setDate(today.getDate() - ((today.getDay() - startIndex + 7) % 7));
219
+ for (var i = 0; i < 7; i += 1) {
220
+ var date = new Date(firstDayOfWeek);
221
+ date.setDate(firstDayOfWeek.getDate() + i);
222
+ weekDates.push(getDayTextByDate(date));
223
+ }
224
+ return weekDates;
225
+ })();
226
+ 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) {
227
+ var daySchedules = getSchedulesForDate(date);
228
+ var multiWeekSchedulesCount = getMultiWeekSchedulesCountForDate.get(date.toDateString()) || 0;
229
+ // 다중 날짜 이벤트를 제외한 이벤트들 (종일 이벤트 + 단일 날짜 시간 이벤트)
230
+ var visibleSchedules = daySchedules.filter(function (schedule) {
231
+ var scheduleStart = new Date(schedule.startDate);
232
+ var scheduleEnd = new Date(schedule.endDate);
233
+ var checkDate = new Date(date);
234
+ // 날짜 비교를 위해 시간을 00:00:00으로 설정
235
+ scheduleStart.setHours(0, 0, 0, 0);
236
+ scheduleEnd.setHours(0, 0, 0, 0);
237
+ checkDate.setHours(0, 0, 0, 0);
238
+ // 다중 날짜 이벤트가 아닌 경우만 포함 (단일 날짜 종일/시간 이벤트)
239
+ if (scheduleStart.getTime() !== scheduleEnd.getTime()) {
240
+ return false; // 다중 날짜 이벤트 제외
241
+ }
242
+ // 해당 날짜의 이벤트인 경우만 포함
243
+ return scheduleStart.getTime() === checkDate.getTime();
244
+ });
245
+ // 이벤트를 시작 시간순으로 정렬
246
+ visibleSchedules.sort(function (a, b) {
247
+ var timeA = new Date(a.startDate).getTime();
248
+ var timeB = new Date(b.startDate).getTime();
249
+ return timeA - timeB;
250
+ });
251
+ // 표시 가능한 최대 이벤트 개수 (다중 날짜 이벤트 공간 고려)
252
+ var maxDisplayableEvents = Math.max(0, maxSchedulesPerDay - multiWeekSchedulesCount);
253
+ var displayedSchedules = visibleSchedules.slice(0, maxDisplayableEvents);
254
+ var hiddenSchedulesCount = visibleSchedules.length - displayedSchedules.length;
255
+ return ((0, jsx_runtime_1.jsxs)(S_CalendarCell, __assign({ ref: date.getMonth() === selectedDate.getMonth() && date.getDate() === 1
256
+ ? calendarCellRef
257
+ : undefined, "data-calendar-cell": true, "$isCurrentMonth": date.getMonth() === selectedDate.getMonth(), "$isToday": isToday(date), "$isSelected": selectedDates.some(function (selectedDate) { return selectedDate.toDateString() === date.toDateString(); }) ||
258
+ !!(dragStartDate &&
259
+ dragEndDate &&
260
+ date.getTime() >= Math.min(dragStartDate.getTime(), dragEndDate.getTime()) &&
261
+ 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) {
262
+ return renderScheduleItem(schedule, {
263
+ onDragStart: function (e) { return handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e); },
264
+ onDragEnd: function () { return handleScheduleDragEnd === null || handleScheduleDragEnd === void 0 ? void 0 : handleScheduleDragEnd(); }
265
+ });
266
+ }), hiddenSchedulesCount > 0 && ((0, jsx_runtime_1.jsx)(S_MoreSchedulesButton, __assign({ onClick: function (e) {
267
+ e.stopPropagation();
268
+ onSwitchToWeeklyView === null || onSwitchToWeeklyView === void 0 ? void 0 : onSwitchToWeeklyView(date);
269
+ } }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: "".concat(hiddenSchedulesCount, " ").concat(t('str_calendar_schedule_more')), styleTheme: "caption2Regular" }) })))] }))] }), index));
270
+ }), (0, jsx_runtime_1.jsx)(MultiWeekSchedulesLayer_1.MultiWeekSchedulesLayer, { multiWeekSchedules: getMultiWeekSchedules, selectedSchedules: selectedSchedules, handleScheduleClick: handleScheduleClick, handleScheduleDragStart: handleScheduleDragStart, handleScheduleDragEnd: handleScheduleDragEnd, isDraggable: isDraggable })] })));
271
+ };
272
+ exports.MonthlyView = MonthlyView;
273
+ 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"])));
274
+ 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) {
275
+ var theme = _a.theme;
276
+ return theme.ui_cpnt_divider;
277
+ });
278
+ 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 min-height: 80px;\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 min-height: 80px;\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) {
279
+ var $isSelected = _a.$isSelected, theme = _a.theme;
280
+ if ($isSelected)
281
+ return theme.ui_cpnt_sheet_base;
282
+ return 'transparent';
283
+ }, function (_a) {
284
+ var theme = _a.theme;
285
+ return theme.ui_cpnt_divider;
286
+ }, function (_a) {
287
+ var theme = _a.theme;
288
+ return theme.ui_cpnt_divider;
289
+ }, function (_a) {
290
+ var theme = _a.theme;
291
+ return theme.ui_cpnt_sheet_base;
292
+ }, function (_a) {
293
+ var theme = _a.theme;
294
+ return theme.ui_cpnt_divider;
295
+ }, function (_a) {
296
+ var theme = _a.theme;
297
+ return theme.ui_cpnt_divider;
298
+ });
299
+ 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) {
300
+ var _b = _a.$multiWeekSchedulesCount, $multiWeekSchedulesCount = _b === void 0 ? 0 : _b;
301
+ return $multiWeekSchedulesCount * 28;
302
+ });
303
+ var S_MoreSchedulesButton = styled_components_1.default.button(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n background: none;\n border: none;\n border-radius: 2px;\n color: ", ";\n cursor: pointer;\n font: inherit;\n outline: inherit;\n padding: 0;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n"], ["\n background: none;\n border: none;\n border-radius: 2px;\n color: ", ";\n cursor: pointer;\n font: inherit;\n outline: inherit;\n padding: 0;\n transition: background-color 0.2s ease;\n\n &:hover {\n background-color: ", ";\n }\n\n &:active {\n background-color: ", ";\n }\n"])), function (_a) {
304
+ var theme = _a.theme;
305
+ return theme.ui_cpnt_textlabel_sys_brandprimary;
306
+ }, function (_a) {
307
+ var theme = _a.theme;
308
+ return theme.ui_cpnt_sheet_base;
309
+ }, function (_a) {
310
+ var theme = _a.theme;
311
+ return theme.ui_cpnt_sheet_base_02;
312
+ });
313
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,20 @@
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
+ isDraggable?: boolean;
18
+ }
19
+ export declare const MultiWeekSchedulesLayer: React.FC<MultiWeekSchedulesLayerProps>;
20
+ export {};
@@ -0,0 +1,155 @@
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 react_1 = require("react");
24
+ var styled_components_1 = __importDefault(require("styled-components"));
25
+ var TextLabel_1 = require("../TextLabel");
26
+ var ScheduleItem_1 = require("./ScheduleItem");
27
+ var MultiWeekSchedulesLayer = function (_a) {
28
+ var multiWeekSchedules = _a.multiWeekSchedules, selectedSchedules = _a.selectedSchedules, handleScheduleClick = _a.handleScheduleClick, handleScheduleDragStart = _a.handleScheduleDragStart, handleScheduleDragEnd = _a.handleScheduleDragEnd, _b = _a.isDraggable, isDraggable = _b === void 0 ? false : _b;
29
+ var containerRef = (0, react_1.useRef)(null);
30
+ var _c = (0, react_1.useState)([]), cellPositions = _c[0], setCellPositions = _c[1];
31
+ // 캘린더 셀들의 실제 위치를 계산하는 함수
32
+ var calculateCellPositions = (0, react_1.useCallback)(function () {
33
+ if (!containerRef.current)
34
+ return;
35
+ var gridContainer = containerRef.current.parentElement;
36
+ if (!gridContainer)
37
+ return;
38
+ // 헤더를 제외한 캘린더 셀들을 찾기
39
+ var calendarCells = gridContainer.querySelectorAll('[data-calendar-cell]');
40
+ var positions = [];
41
+ // 각 주(row)의 위치 정보 수집
42
+ for (var row = 0; row < 6; row += 1) {
43
+ var cellIndex = row * 7; // 각 주의 첫 번째 셀
44
+ var cell = calendarCells[cellIndex];
45
+ if (cell) {
46
+ var cellRect = cell.getBoundingClientRect();
47
+ var containerRect = gridContainer.getBoundingClientRect();
48
+ var relativeTop = cellRect.top - containerRect.top;
49
+ var dateLabelHeight = 24; // 날짜 라벨 대략 높이
50
+ positions.push({
51
+ top: relativeTop + dateLabelHeight,
52
+ height: cellRect.height - dateLabelHeight
53
+ });
54
+ }
55
+ else {
56
+ // 기본값 설정 (fallback)
57
+ positions.push({
58
+ top: 60 + row * 120,
59
+ height: 96
60
+ });
61
+ }
62
+ }
63
+ setCellPositions(positions);
64
+ }, []);
65
+ // ResizeObserver로 크기 변경 감지
66
+ (0, react_1.useLayoutEffect)(function () {
67
+ if (!containerRef.current)
68
+ return;
69
+ var gridContainer = containerRef.current.parentElement;
70
+ if (!gridContainer)
71
+ return;
72
+ var resizeObserver = new ResizeObserver(function () {
73
+ calculateCellPositions();
74
+ });
75
+ resizeObserver.observe(gridContainer);
76
+ // 초기 계산
77
+ calculateCellPositions();
78
+ return function () {
79
+ resizeObserver.disconnect();
80
+ };
81
+ }, [calculateCellPositions]);
82
+ // 창 크기 변경 시에도 재계산
83
+ (0, react_1.useLayoutEffect)(function () {
84
+ var handleResize = function () {
85
+ setTimeout(calculateCellPositions, 0);
86
+ };
87
+ window.addEventListener('resize', handleResize);
88
+ return function () { return window.removeEventListener('resize', handleResize); };
89
+ }, [calculateCellPositions]);
90
+ return ((0, jsx_runtime_1.jsx)(S_Layer, __assign({ ref: containerRef }, { children: multiWeekSchedules.map(function (_a) {
91
+ var schedule = _a.schedule, startRow = _a.startRow, endRow = _a.endRow, startCol = _a.startCol, endCol = _a.endCol, scheduleIndex = _a.scheduleIndex;
92
+ var isSameRow = startRow === endRow;
93
+ var isSelected = selectedSchedules.some(function (s) { return s.id === schedule.id; });
94
+ var uniqueKey = "multi-".concat(schedule.id, "-").concat(startRow, "-").concat(startCol, "-").concat(endCol);
95
+ if (isSameRow) {
96
+ return ((0, jsx_runtime_1.jsxs)(S_MultiWeekSchedule, __assign({ "$color": schedule.color, "$startRow": startRow, "$endRow": endRow, "$startCol": startCol, "$endCol": endCol, "$scheduleIndex": scheduleIndex, "$isSelected": isSelected, "$isDraggable": isDraggable, "$cellPositions": cellPositions, draggable: isDraggable, onDragStart: isDraggable
97
+ ? function (e) {
98
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
99
+ }
100
+ : undefined, onDragEnd: isDraggable ? handleScheduleDragEnd : undefined, onClick: function (e) {
101
+ e.stopPropagation();
102
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
103
+ } }, { children: [(0, jsx_runtime_1.jsx)(ScheduleItem_1.S_Dot, { "$isSelected": isSelected }), (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { styleTheme: "caption2Bold", text: schedule.title, ellipsisMode: "use", colorTheme: isSelected ? 'sysTextWhite' : undefined })] }), uniqueKey));
104
+ }
105
+ // 여러 행에 걸친 이벤트 처리
106
+ var segments = [];
107
+ for (var row = startRow; row <= endRow; row += 1) {
108
+ var isFirstRow = row === startRow;
109
+ var isLastRow = row === endRow;
110
+ var segmentStartCol = isFirstRow ? startCol : 1;
111
+ var segmentEndCol = isLastRow ? endCol : 7;
112
+ 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, "$isDraggable": isDraggable, "$cellPositions": cellPositions, draggable: isDraggable, onDragStart: isDraggable
113
+ ? function (e) {
114
+ handleScheduleDragStart === null || handleScheduleDragStart === void 0 ? void 0 : handleScheduleDragStart(schedule, e);
115
+ }
116
+ : undefined, onDragEnd: isDraggable ? handleScheduleDragEnd : undefined, onClick: function (e) {
117
+ e.stopPropagation();
118
+ handleScheduleClick === null || handleScheduleClick === void 0 ? void 0 : handleScheduleClick(schedule, e);
119
+ } }, { 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)));
120
+ }
121
+ return segments;
122
+ }) })));
123
+ };
124
+ exports.MultiWeekSchedulesLayer = MultiWeekSchedulesLayer;
125
+ 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"])));
126
+ var S_MultiWeekSchedule = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 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: ", ";\n }\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: 4px;\n color: white;\n cursor: ", ";\n display: flex;\n font-size: 12px;\n height: 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: ", ";\n }\n"])), function (props) {
127
+ return props.$isSelected ? props.theme.ui_cpnt_sheet_base_06 : props.theme.ui_cpnt_sheet_base;
128
+ }, function (_a) {
129
+ var $isDraggable = _a.$isDraggable;
130
+ return ($isDraggable ? 'grab' : 'normal');
131
+ }, function (props) { return "calc((".concat(props.$startCol - 1, ") * (100% / 7) + 4px)"); }, function (props) {
132
+ var $startRow = props.$startRow, $scheduleIndex = props.$scheduleIndex, $cellPositions = props.$cellPositions;
133
+ var rowIndex = $startRow - 2; // 헤더 행 제외 (첫 번째 캘린더 행이 row 2)
134
+ if (!$cellPositions ||
135
+ $cellPositions.length === 0 ||
136
+ rowIndex < 0 ||
137
+ rowIndex >= $cellPositions.length) {
138
+ // 기본값 (fallback)
139
+ var defaultTop = 60 + rowIndex * 100;
140
+ var scheduleSpacing_1 = ($scheduleIndex || 0) * 22;
141
+ return "".concat(defaultTop + scheduleSpacing_1, "px");
142
+ }
143
+ var cellPosition = $cellPositions[rowIndex];
144
+ var scheduleHeight = 20;
145
+ var scheduleSpacing = ($scheduleIndex || 0) * (scheduleHeight + 6); // 스케줄 간 간격 2px
146
+ var calculatedTop = cellPosition.top + scheduleSpacing;
147
+ return "".concat(calculatedTop, "px");
148
+ }, function (props) { return "calc((".concat(props.$endCol - props.$startCol + 1, ") * (100% / 7) - 21px)"); }, function (_a) {
149
+ var theme = _a.theme;
150
+ return theme.ui_cpnt_sheet_base_06;
151
+ }, function (_a) {
152
+ var $isDraggable = _a.$isDraggable;
153
+ return ($isDraggable ? 'grabbing' : 'normal');
154
+ });
155
+ var templateObject_1, templateObject_2;
@@ -0,0 +1,17 @@
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
+ isDraggable?: boolean;
12
+ }
13
+ export declare const ScheduleItem: React.FC<ScheduleItemProps>;
14
+ export declare const S_Dot: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
15
+ $isSelected?: boolean | undefined;
16
+ }, never>;
17
+ export {};