pds-dev-kit-web-test 2.5.518 → 2.5.520

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