@stfrigerio/sito-template 0.1.51 → 0.1.53

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 (192) hide show
  1. package/dist/components/organisms/Calendar/Calendar.d.ts +16 -2
  2. package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
  3. package/dist/index.esm.js +78 -67
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +78 -67
  6. package/dist/index.js.map +1 -1
  7. package/dist/styles.css +1 -1
  8. package/dist/styles.css.map +1 -1
  9. package/package.json +1 -1
  10. package/storybook-static/assets/{ASCIIText.stories-DpBtrb9i.js → ASCIIText.stories-Cb8HvABR.js} +1 -1
  11. package/storybook-static/assets/{AllAtoms.stories-C2hvLJ8w.js → AllAtoms.stories-Disxvghm.js} +1 -1
  12. package/storybook-static/assets/{AnimatedContent.stories-Di9Q7t9j.js → AnimatedContent.stories-jVAgBFE2.js} +1 -1
  13. package/storybook-static/assets/{AnimatedList.stories-BGyYB85Y.js → AnimatedList.stories-Di-vE601.js} +1 -1
  14. package/storybook-static/assets/{Antigravity.stories-Do1dnEK_.js → Antigravity.stories-CE90HCpY.js} +1 -1
  15. package/storybook-static/assets/{ArrayInput.stories-CNtTKUF0.js → ArrayInput.stories-DgSsXJly.js} +1 -1
  16. package/storybook-static/assets/{Aurora.stories-DHuVs0Nh.js → Aurora.stories-DrVAkdjt.js} +1 -1
  17. package/storybook-static/assets/{Beams.stories-C0fr646Y.js → Beams.stories-BSVIpqQ0.js} +1 -1
  18. package/storybook-static/assets/{BlobCursor.stories-CQmLI7VF.js → BlobCursor.stories-C3EgjAh2.js} +1 -1
  19. package/storybook-static/assets/{BlurText.stories-Bqhf_75C.js → BlurText.stories-DJVDRdFo.js} +1 -1
  20. package/storybook-static/assets/{BooleansHeatmap.stories-CSTfHU8X.js → BooleansHeatmap.stories-B_9cPYMM.js} +1 -1
  21. package/storybook-static/assets/{BorderGlow.stories-DllLrSOi.js → BorderGlow.stories-B_wdQUgw.js} +1 -1
  22. package/storybook-static/assets/{BubbleMenu.stories-By8eacsb.js → BubbleMenu.stories-DpLYYw_z.js} +1 -1
  23. package/storybook-static/assets/{Button-2CSvbnXB.js → Button-DK4vPDdE.js} +1 -1
  24. package/storybook-static/assets/{Button.stories-CMFODsAR.js → Button.stories-dpSafIdz.js} +1 -1
  25. package/storybook-static/assets/Calendar-CreieAui.css +1 -0
  26. package/storybook-static/assets/Calendar.stories-lRbXwh4f.js +470 -0
  27. package/storybook-static/assets/{Card-DZVLYsdd.js → Card--7bShmQv.js} +1 -1
  28. package/storybook-static/assets/{Card.stories-DisHmL7k.js → Card.stories-C9cPoCVI.js} +1 -1
  29. package/storybook-static/assets/{CardNav.stories-e50-9J_A.js → CardNav.stories-1WFeombk.js} +1 -1
  30. package/storybook-static/assets/{Carousel.stories-B-rI6jNr.js → Carousel.stories-CPp1bcnx.js} +1 -1
  31. package/storybook-static/assets/{Checkbox-D7FUqeuB.js → Checkbox-BZ4OK19r.js} +1 -1
  32. package/storybook-static/assets/{Checkbox.stories-CyIVTBxZ.js → Checkbox.stories-pzFmZn7E.js} +1 -1
  33. package/storybook-static/assets/{ChromaGrid.stories-S1cYuc5_.js → ChromaGrid.stories-Nunq8QCK.js} +1 -1
  34. package/storybook-static/assets/{CircularGallery.stories-DRrEcX-Y.js → CircularGallery.stories-C6B3QdGe.js} +1 -1
  35. package/storybook-static/assets/{CircularText.stories-CHoRy-lV.js → CircularText.stories-x-CZkrWE.js} +1 -1
  36. package/storybook-static/assets/{ClickSpark.stories-DbPNmGUE.js → ClickSpark.stories-BgEy72nd.js} +1 -1
  37. package/storybook-static/assets/{Color-AVL7NMMY-C-H2x7hU.js → Color-AVL7NMMY-BH2T5gYv.js} +1 -1
  38. package/storybook-static/assets/{ColorBends.stories-BVGGr3v3.js → ColorBends.stories-l5hP9mw3.js} +1 -1
  39. package/storybook-static/assets/{CountUp.stories-Ofg9f0h2.js → CountUp.stories-f4Xo5-1D.js} +1 -1
  40. package/storybook-static/assets/{Counter.stories-CsO7AtIx.js → Counter.stories-Cq0esRYp.js} +1 -1
  41. package/storybook-static/assets/{Crosshair.stories-kyfwqcvB.js → Crosshair.stories-cmjX8jB1.js} +1 -1
  42. package/storybook-static/assets/{Cubes.stories-hA-HjWNO.js → Cubes.stories-Deum-zPK.js} +1 -1
  43. package/storybook-static/assets/{CurvedLoop.stories-CHdhTRmN.js → CurvedLoop.stories-CaRb6vtE.js} +1 -1
  44. package/storybook-static/assets/{DarkVeil.stories-B68s8uCO.js → DarkVeil.stories-DtKNrEKT.js} +1 -1
  45. package/storybook-static/assets/{DateInput-DYaAr-pD.js → DateInput-Dhe5jlzS.js} +1 -1
  46. package/storybook-static/assets/{DateInput.stories-D8DGjdAu.js → DateInput.stories-tMfHI-jT.js} +1 -1
  47. package/storybook-static/assets/{DecayCard.stories-RASuy9DU.js → DecayCard.stories-DOejb79q.js} +1 -1
  48. package/storybook-static/assets/{DecryptedText.stories-BYt96S4h.js → DecryptedText.stories-ZJFOqvcs.js} +1 -1
  49. package/storybook-static/assets/{Dither.stories-BoRhWSS3.js → Dither.stories-BteQ8qaz.js} +1 -1
  50. package/storybook-static/assets/{Dock.stories-HG_pJS3N.js → Dock.stories-CjgGmbrT.js} +1 -1
  51. package/storybook-static/assets/{DocsRenderer-PQXLIZUC-DhsqOTVk.js → DocsRenderer-PQXLIZUC-CDqlUQhE.js} +4 -4
  52. package/storybook-static/assets/{EditFAB.stories-CTGHZ2-N.js → EditFAB.stories-HiEYPWDM.js} +1 -1
  53. package/storybook-static/assets/{EvilEye.stories-CIq_GN_B.js → EvilEye.stories-Dh40voJH.js} +1 -1
  54. package/storybook-static/assets/{FadeContent.stories-D4XSUqNs.js → FadeContent.stories-APJ9w9po.js} +1 -1
  55. package/storybook-static/assets/{FaultyTerminal.stories-D47h3D9_.js → FaultyTerminal.stories-B1QU0me7.js} +1 -1
  56. package/storybook-static/assets/{Fbo-DJ3Mfipf.js → Fbo-C7_12zi1.js} +1 -1
  57. package/storybook-static/assets/{FloatingLines.stories-DwrsyJ8S.js → FloatingLines.stories-BoZu0Eil.js} +1 -1
  58. package/storybook-static/assets/{FlowingMenu.stories-BQGeeDYk.js → FlowingMenu.stories-CIsIyO9J.js} +1 -1
  59. package/storybook-static/assets/{FluidGlass.stories-BNEe11fE.js → FluidGlass.stories-vH3qnmEk.js} +1 -1
  60. package/storybook-static/assets/{Folder.stories-C34siiUF.js → Folder.stories-HkOOEOjb.js} +1 -1
  61. package/storybook-static/assets/{FuzzyText.stories-DoRGPHuR.js → FuzzyText.stories-By8q6YQt.js} +1 -1
  62. package/storybook-static/assets/{Galaxy.stories-CoORoc2P.js → Galaxy.stories-07G7jp_6.js} +1 -1
  63. package/storybook-static/assets/{GhostCursor.stories-qUL8J6dR.js → GhostCursor.stories-BC-trpJu.js} +1 -1
  64. package/storybook-static/assets/{GlareHover.stories-CCdco059.js → GlareHover.stories-B_MjE5aX.js} +1 -1
  65. package/storybook-static/assets/{GlassSurface.stories-DZY8JTI_.js → GlassSurface.stories-rPXwGZOW.js} +1 -1
  66. package/storybook-static/assets/{GlitchText.stories-BOc2qtp8.js → GlitchText.stories-BN308waP.js} +1 -1
  67. package/storybook-static/assets/{GooeyNav.stories-AdVJ0HTE.js → GooeyNav.stories-C5lqZx3I.js} +1 -1
  68. package/storybook-static/assets/{GradientBlinds.stories-CPMa1wbI.js → GradientBlinds.stories-D9l7Ayxs.js} +1 -1
  69. package/storybook-static/assets/{GradientText.stories-DiQ4BiOA.js → GradientText.stories-BiDAn88F.js} +1 -1
  70. package/storybook-static/assets/{Grainient.stories-6AktjTpR.js → Grainient.stories-CSCcWH0M.js} +1 -1
  71. package/storybook-static/assets/{GridMotion.stories-CpUxov1L.js → GridMotion.stories-heG3R9uG.js} +1 -1
  72. package/storybook-static/assets/{ImageSlideshow.stories-BB_WEc_C.js → ImageSlideshow.stories-RDcrjCte.js} +1 -1
  73. package/storybook-static/assets/{Iridescence.stories-DVY4Ad82.js → Iridescence.stories-iJ26He9j.js} +1 -1
  74. package/storybook-static/assets/{LaserFlow.stories-BIwcrTST.js → LaserFlow.stories-H_kwxAaY.js} +1 -1
  75. package/storybook-static/assets/{LetterGlitch.stories-CYLP01fr.js → LetterGlitch.stories-BY9P1wPN.js} +1 -1
  76. package/storybook-static/assets/{LightPillar.stories-Op3-RL2H.js → LightPillar.stories-Bb4DN5XV.js} +1 -1
  77. package/storybook-static/assets/{LightRays.stories-BWfITZGs.js → LightRays.stories-Cc6Y1X_k.js} +1 -1
  78. package/storybook-static/assets/{Lightning.stories-z3EqNFWs.js → Lightning.stories-CpSHxlp7.js} +1 -1
  79. package/storybook-static/assets/{LineWaves.stories-CN-U2RZb.js → LineWaves.stories-COm5OuGf.js} +1 -1
  80. package/storybook-static/assets/{LiquidChrome.stories-CQunDA00.js → LiquidChrome.stories-C88ONVOT.js} +1 -1
  81. package/storybook-static/assets/{LiquidEther.stories-Dx5E22qa.js → LiquidEther.stories-CPSMWSN9.js} +1 -1
  82. package/storybook-static/assets/{LoadingSpinner-xoFPGq9a.js → LoadingSpinner-C4MXlRnC.js} +1 -1
  83. package/storybook-static/assets/{LoadingSpinner.stories-BXcLzSiN.js → LoadingSpinner.stories-CCyN9n1T.js} +1 -1
  84. package/storybook-static/assets/{MagicRings.stories-ChpUpgBm.js → MagicRings.stories-NQSwG8Yn.js} +1 -1
  85. package/storybook-static/assets/{Magnet.stories-CUAsnJjx.js → Magnet.stories-BAwXSJEW.js} +1 -1
  86. package/storybook-static/assets/{MagnetLines.stories-BtKFg9_t.js → MagnetLines.stories-CJqMXg51.js} +1 -1
  87. package/storybook-static/assets/{Masonry.stories-BfT7aonk.js → Masonry.stories-DAl8CRm6.js} +1 -1
  88. package/storybook-static/assets/{MetaBalls.stories-Bpx6y2Mq.js → MetaBalls.stories-BY7Ilvw5.js} +1 -1
  89. package/storybook-static/assets/{MetallicPaint.stories-i_KuUoJ7.js → MetallicPaint.stories-iuclFGy4.js} +1 -1
  90. package/storybook-static/assets/{MoodChart.stories-BUrwIpbe.js → MoodChart.stories-T8Td91vu.js} +1 -1
  91. package/storybook-static/assets/{MotionConfigContext-BdSKNtzx.js → MotionConfigContext-D_4LMwJ5.js} +1 -1
  92. package/storybook-static/assets/{Navbar.stories-B5n2URGj.js → Navbar.stories-SRGoJhYx.js} +1 -1
  93. package/storybook-static/assets/{Noise.stories-BiOgX5JV.js → Noise.stories-B5_Jt1t3.js} +1 -1
  94. package/storybook-static/assets/{NumberStepper-DvLaVPaJ.js → NumberStepper-BaK5ZScA.js} +1 -1
  95. package/storybook-static/assets/{NumberStepper.stories-Tp2dyXJp.js → NumberStepper.stories-BZIrFbrQ.js} +1 -1
  96. package/storybook-static/assets/{Orb.stories-B4ymfobF.js → Orb.stories-Ci1HMLUW.js} +1 -1
  97. package/storybook-static/assets/{OrbitImages.stories-BOOJ2sLz.js → OrbitImages.stories-Bzf1HUks.js} +1 -1
  98. package/storybook-static/assets/{PieChart.stories-eN4T-LQ5.js → PieChart.stories-ByRTgKp3.js} +1 -1
  99. package/storybook-static/assets/{PixelBlast.stories-CKyxO1s-.js → PixelBlast.stories-C83D_GSk.js} +1 -1
  100. package/storybook-static/assets/{PixelCard.stories-DNkvTz5j.js → PixelCard.stories-B8DdUCQe.js} +1 -1
  101. package/storybook-static/assets/{PixelSnow.stories-DDwr-w1I.js → PixelSnow.stories-BOHNVU80.js} +1 -1
  102. package/storybook-static/assets/{PixelTransition.stories-nLfk3vHv.js → PixelTransition.stories-D8VH3ukb.js} +1 -1
  103. package/storybook-static/assets/{Plasma.stories-CiQrlhdr.js → Plasma.stories-CatIdRAD.js} +1 -1
  104. package/storybook-static/assets/{Prism.stories-DiUQJHSM.js → Prism.stories-Bg6GLExD.js} +1 -1
  105. package/storybook-static/assets/{PrismaticBurst.stories-CE1GpHYN.js → PrismaticBurst.stories-BNdrAv89.js} +1 -1
  106. package/storybook-static/assets/{ProfileCard.stories-CLCPDEvl.js → ProfileCard.stories-CyaTrCeK.js} +1 -1
  107. package/storybook-static/assets/{QuantifiableHabitsChart.stories-qCi1Hwlz.js → QuantifiableHabitsChart.stories-C86yjHJm.js} +1 -1
  108. package/storybook-static/assets/{Radar.stories-DKY5fGUM.js → Radar.stories-CvzRcw-C.js} +1 -1
  109. package/storybook-static/assets/{Ribbons.stories-fdt7Dly3.js → Ribbons.stories-BRX9ZoeY.js} +1 -1
  110. package/storybook-static/assets/{RippleGrid.stories-n5CU7uPT.js → RippleGrid.stories-vnV8CCtp.js} +1 -1
  111. package/storybook-static/assets/{RotatingText.stories-D345b2IH.js → RotatingText.stories-B8GsJWaC.js} +1 -1
  112. package/storybook-static/assets/{ScrollFloat.stories-vqa9uxYG.js → ScrollFloat.stories-DOlmhv7e.js} +1 -1
  113. package/storybook-static/assets/{ScrollReveal.stories-dYbCWXJL.js → ScrollReveal.stories-Bm9KxbWm.js} +1 -1
  114. package/storybook-static/assets/{ScrollVelocity.stories-BNKZ-bfJ.js → ScrollVelocity.stories-De4s_pOX.js} +1 -1
  115. package/storybook-static/assets/{SearchBar.stories-CXEYCYtx.js → SearchBar.stories-CfIOeCyX.js} +1 -1
  116. package/storybook-static/assets/{SearchableDropdown-BTWjVlVv.js → SearchableDropdown--EWJF18v.js} +1 -1
  117. package/storybook-static/assets/{SearchableDropdown.stories-BBXXroOM.js → SearchableDropdown.stories-B9KNxfZm.js} +1 -1
  118. package/storybook-static/assets/{SelectInput-BhKBu2cI.js → SelectInput-CFM_N8VG.js} +1 -1
  119. package/storybook-static/assets/{SelectInput.stories-W6PuLg-G.js → SelectInput.stories-D_5G5-0N.js} +1 -1
  120. package/storybook-static/assets/{ShapeBlur.stories-wsyTNDdI.js → ShapeBlur.stories-DNg_BI9n.js} +1 -1
  121. package/storybook-static/assets/{ShapeGrid.stories-BP0HTLmc.js → ShapeGrid.stories-D6mhsKbm.js} +1 -1
  122. package/storybook-static/assets/{ShinyText.stories-2ZQhiBft.js → ShinyText.stories-NtVkUqNB.js} +1 -1
  123. package/storybook-static/assets/{Silk.stories-C973tELu.js → Silk.stories-BACMGa6I.js} +1 -1
  124. package/storybook-static/assets/{SleepChart.stories-C-nic0Hg.js → SleepChart.stories-S6pSldWo.js} +1 -1
  125. package/storybook-static/assets/{Slider-Cj4NY5N0.js → Slider-dqb2UNTZ.js} +1 -1
  126. package/storybook-static/assets/{Slider.stories-DLEYO7pQ.js → Slider.stories-4UkeTwoz.js} +1 -1
  127. package/storybook-static/assets/{SoftAurora.stories-BwKGvWh1.js → SoftAurora.stories-DH8d39VG.js} +1 -1
  128. package/storybook-static/assets/{SoundDemo.stories-BBGMylUU.js → SoundDemo.stories-Ci_Q1qDO.js} +1 -1
  129. package/storybook-static/assets/{SplashCursor.stories-Nh-ONQGd.js → SplashCursor.stories-BMBbSrDn.js} +1 -1
  130. package/storybook-static/assets/{SpotlightCard.stories-C7FUbVoM.js → SpotlightCard.stories-Cy3mgAFZ.js} +1 -1
  131. package/storybook-static/assets/{Stack.stories-eXwEbGTy.js → Stack.stories-C_qFRAvS.js} +1 -1
  132. package/storybook-static/assets/{StaggeredMenu.stories-tgVDfUr0.js → StaggeredMenu.stories-BeqjTXCs.js} +1 -1
  133. package/storybook-static/assets/{StarBorder.stories-D36zbc2N.js → StarBorder.stories-BeLKjLZu.js} +1 -1
  134. package/storybook-static/assets/{SunburstChart.stories-CgCbkhG8.js → SunburstChart.stories-DN8EQLMh.js} +1 -1
  135. package/storybook-static/assets/{Table.stories-BdABrDyr.js → Table.stories-BJ6FcfdD.js} +1 -1
  136. package/storybook-static/assets/{Tabs.stories-BwzAz5v_.js → Tabs.stories-7-b1PtWp.js} +1 -1
  137. package/storybook-static/assets/{TargetCursor.stories-D1M0ZV-S.js → TargetCursor.stories-CfxWRalc.js} +1 -1
  138. package/storybook-static/assets/{TextArea-CMvPbRqQ.js → TextArea-DGywTJLt.js} +1 -1
  139. package/storybook-static/assets/{TextArea.stories-DmAuD1fB.js → TextArea.stories-B-uYOZs4.js} +1 -1
  140. package/storybook-static/assets/{TextCursor.stories-CJmFUz8s.js → TextCursor.stories-61sj2bl9.js} +1 -1
  141. package/storybook-static/assets/{TextInput-7QROD9Bu.js → TextInput-CiI38oLt.js} +1 -1
  142. package/storybook-static/assets/{TextInput.stories-Cwf2_Ika.js → TextInput.stories-DtG6MQod.js} +1 -1
  143. package/storybook-static/assets/{TextPressure.stories-CB8UIoN_.js → TextPressure.stories-C1h8GiS8.js} +1 -1
  144. package/storybook-static/assets/{TextType.stories-D4ZEW3Fz.js → TextType.stories-BfUDVoY_.js} +1 -1
  145. package/storybook-static/assets/ThemeSwitcher.stories-gBLrYosz.js +62 -0
  146. package/storybook-static/assets/{Threads.stories-P32yG4P8.js → Threads.stories-sZxNqPXX.js} +1 -1
  147. package/storybook-static/assets/{TimeInput.stories-Dkkdpsta.js → TimeInput.stories-CjvGCAgd.js} +1 -1
  148. package/storybook-static/assets/{Toggle-DLu7xVQv.js → Toggle-DwTHl9Fm.js} +1 -1
  149. package/storybook-static/assets/{Toggle.stories-BSS4Epfw.js → Toggle.stories-DU0Scugu.js} +1 -1
  150. package/storybook-static/assets/{ToggleButton-Cq7dxxuH.js → ToggleButton-s2aFLlgS.js} +1 -1
  151. package/storybook-static/assets/{ToggleButton.stories-BZvOkwfy.js → ToggleButton.stories-DgSqo96g.js} +1 -1
  152. package/storybook-static/assets/{TrueFocus.stories-BMRj967B.js → TrueFocus.stories-CuqOvqGj.js} +1 -1
  153. package/storybook-static/assets/{VariableProximity.stories-B6-tbs3n.js → VariableProximity.stories-CWLeFmxb.js} +1 -1
  154. package/storybook-static/assets/{Waves.stories-CAJon3iL.js → Waves.stories-zeyoHm5S.js} +1 -1
  155. package/storybook-static/assets/{check-D8bWZLP6.js → check-7O6ar4SG.js} +1 -1
  156. package/storybook-static/assets/{chevron-down-BZPtZoHS.js → chevron-down-BC5Z9HYA.js} +1 -1
  157. package/storybook-static/assets/{chevron-right-B4kqmwjo.js → chevron-right-CDwij0IV.js} +1 -1
  158. package/storybook-static/assets/client-C--dgtnn.js +1 -0
  159. package/storybook-static/assets/{createLucideIcon-Eaeny9Zi.js → createLucideIcon-yjHXhSOm.js} +1 -1
  160. package/storybook-static/assets/{folder-DNcKa6s5.js → folder-CATSGh42.js} +1 -1
  161. package/storybook-static/assets/{iconBase-CstVDnta.js → iconBase-D_x0Veg_.js} +1 -1
  162. package/storybook-static/assets/iframe-B7RIyArP.css +1 -0
  163. package/storybook-static/assets/{iframe-CvT6MryR.js → iframe-LZvJb0BS.js} +5 -5
  164. package/storybook-static/assets/{index-Cb6YhhUk.js → index-D9mC-cEf.js} +1 -1
  165. package/storybook-static/assets/{index-KuyQzDCw.js → index-DSYnL-zq.js} +1 -1
  166. package/storybook-static/assets/{index-2ZuXCVEx.js → index-vc18hLoj.js} +1 -1
  167. package/storybook-static/assets/{layout-grid-nUVet5Tw.js → layout-grid-Dyvnjtf9.js} +1 -1
  168. package/storybook-static/assets/{proxy-0exJiild.js → proxy-94dt0K2Y.js} +1 -1
  169. package/storybook-static/assets/{react-18-KOo_VULj.js → react-18-C-ERT8YQ.js} +1 -1
  170. package/storybook-static/assets/{react-three-fiber.esm-BbD9yVT_.js → react-three-fiber.esm-D_o7ZgN9.js} +1 -1
  171. package/storybook-static/assets/{search-Cfa-rwoK.js → search-BVmOcKZi.js} +1 -1
  172. package/storybook-static/assets/{sun-BwQ2hAsY.js → sun-s1P_-p6e.js} +1 -1
  173. package/storybook-static/assets/{use-animation-frame-BOMew7B2.js → use-animation-frame-04H3dRpD.js} +1 -1
  174. package/storybook-static/assets/{use-in-view-BP3CscI2.js → use-in-view--MCxH20O.js} +1 -1
  175. package/storybook-static/assets/{use-motion-value-DfJqnIZb.js → use-motion-value-Cic9xvrL.js} +1 -1
  176. package/storybook-static/assets/{use-spring-SHZiaDU4.js → use-spring-D4LsSJyy.js} +1 -1
  177. package/storybook-static/assets/{use-transform-CATrWDJd.js → use-transform-D1fwdMmS.js} +1 -1
  178. package/storybook-static/assets/{useSound-DyOR6GVH.js → useSound-Dc8S51xy.js} +1 -1
  179. package/storybook-static/assets/{users-CoCnAJkL.js → users-DmRtN79P.js} +1 -1
  180. package/storybook-static/assets/{x-D_m9a61B.js → x-C7Ulr4p2.js} +1 -1
  181. package/storybook-static/iframe.html +2 -2
  182. package/storybook-static/project.json +1 -1
  183. package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js +1 -1
  184. package/storybook-static/sb-addons/docs-2/manager-bundle.js +2 -2
  185. package/storybook-static/sb-addons/links-3/manager-bundle.js +1 -1
  186. package/storybook-static/sb-addons/storybook-5/manager-bundle.js +1 -1
  187. package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +3 -3
  188. package/storybook-static/assets/Calendar-gAaU5NXk.css +0 -1
  189. package/storybook-static/assets/Calendar.stories-BPwP3WUJ.js +0 -470
  190. package/storybook-static/assets/ThemeSwitcher.stories-DHgVmIcC.js +0 -62
  191. package/storybook-static/assets/client-er7qZ0kF.js +0 -1
  192. package/storybook-static/assets/iframe-Df7_64QT.css +0 -1
@@ -9,8 +9,12 @@ export interface CalendarEvent {
9
9
  title: string;
10
10
  /** Event date */
11
11
  date: Date | string;
12
- /** Optional time string (e.g., "14:30") */
12
+ /** Optional start time string (e.g., "14:30") */
13
13
  time?: string;
14
+ /** Optional end time string (e.g., "15:30") — used for duration-based height in day view */
15
+ endTime?: string;
16
+ /** If true, event is rendered in the all-day strip above the timeline */
17
+ allDay?: boolean;
14
18
  /** Event type/category for styling and icons */
15
19
  type?: string;
16
20
  /** Event status (affects opacity and styling) */
@@ -39,6 +43,14 @@ export interface CalendarConfig {
39
43
  mondayStart?: boolean;
40
44
  /** Show week numbers */
41
45
  showWeekNumbers?: boolean;
46
+ /** Day view: first hour to show (default 0) */
47
+ startHour?: number;
48
+ /** Day view: last hour to show, exclusive (default 24) */
49
+ endHour?: number;
50
+ /** Day view: pixel height per hour slot (default 60) */
51
+ hourHeight?: number;
52
+ /** Day view: split hour slots into two clickable halves with 30-minute precision (default false) */
53
+ halfHourSlots?: boolean;
42
54
  /** Custom date format */
43
55
  dateFormat?: Intl.DateTimeFormatOptions;
44
56
  /** Custom locale */
@@ -73,6 +85,8 @@ export interface CalendarProps {
73
85
  };
74
86
  /** Callback when a time slot is clicked in day view */
75
87
  onTimeSlotClick?: (date: Date, hour: number, time: string) => void;
88
+ /** Callback when an event is dropped (drag-rescheduled) in day view */
89
+ onEventDrop?: (event: CalendarEvent, newDate: Date) => void;
76
90
  /** Initial view mode */
77
91
  viewMode?: 'month' | 'week' | 'day';
78
92
  /** Initial date to display */
@@ -123,5 +137,5 @@ export interface CalendarProps {
123
137
  * onEventClick={handleEventClick}
124
138
  * />
125
139
  */
126
- export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader, compact, selectedDate }: CalendarProps): import("react/jsx-runtime").JSX.Element;
140
+ export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader, compact, selectedDate }: CalendarProps): import("react/jsx-runtime").JSX.Element;
127
141
  //# sourceMappingURL=Calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;IACpB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iDAAiD;IACjD,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;IACxD,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IAC9C,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,2CAA2C;IAC3C,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,KAAK,CAAC,SAAS,CAAC;IACzD,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yBAAyB;IACzB,UAAU,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC;IACxC,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,iCAAiC;IACjC,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9C,sCAAsC;IACtC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,yCAAyC;IACzC,kBAAkB,CAAC,EAAE;QACjB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;QACvC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;QACtC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;KACxC,CAAC;IACF,wCAAwC;IACxC,iBAAiB,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;QAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;QAC5B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;KAC9B,CAAC;IACF,uDAAuD;IACvD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnE,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACpC,8BAA8B;IAC9B,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0GAA0G;IAC1G,YAAY,CAAC,EAAE,IAAI,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,QAAQ,CAAC,EACrB,MAAM,EACN,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,QAAkB,EAClB,WAAwB,EACxB,MAAW,EACX,SAAc,EACd,KAAU,EACV,OAAe,EACf,UAAU,EACV,UAAkB,EAClB,OAAe,EACf,YAAY,EACf,EAAE,aAAa,2CAiiBf"}
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -2954,7 +2954,7 @@ const LiquidButton = ({ actions, icon: Icon = Plus, className = '', }) => {
2954
2954
  }, onClick: () => handleAction(action), children: [jsx(action.icon, { size: 18, color: action.color }), jsx("span", { className: styles$a.actionLabel, children: action.label })] }, action.key))) })) }), jsx(motion.button, { type: "button", className: styles$a.button, onClick: handleToggle, animate: { rotate: expanded ? 45 : 0 }, transition: { duration: 0.2 }, "aria-label": expanded ? 'Close actions' : 'Open actions', children: jsx(Icon, { size: 24, strokeWidth: 2.5 }) })] })] }));
2955
2955
  };
2956
2956
 
2957
- var styles$9 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","weekDays":"Calendar-module_weekDays__4J-8f","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","weekView":"Calendar-module_weekView__bdtGs","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","selected":"Calendar-module_selected__5e6h0","compact":"Calendar-module_compact__i0SF3","dots":"Calendar-module_dots__1Q7QR","dot":"Calendar-module_dot__tsCR1","dotMore":"Calendar-module_dotMore__emasD","weekNumber":"Calendar-module_weekNumber__nlo50","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7","dayView":"Calendar-module_dayView__PCIos","dayViewHeader":"Calendar-module_dayViewHeader__Gvxx2","timeColumnHeader":"Calendar-module_timeColumnHeader__B0btR","dayColumnHeader":"Calendar-module_dayColumnHeader__Rjqwg","dayViewScrollContainer":"Calendar-module_dayViewScrollContainer__84Byq","dayViewContent":"Calendar-module_dayViewContent__VU9JI","timeColumn":"Calendar-module_timeColumn__Sce-X","dayColumn":"Calendar-module_dayColumn__-j2oT","timeSlot":"Calendar-module_timeSlot__jldHq","timeLabel":"Calendar-module_timeLabel__9xLiK","hourSlot":"Calendar-module_hourSlot__z-80Q","hourLine":"Calendar-module_hourLine__fofdD","dayEvent":"Calendar-module_dayEvent__tSPFa","dayEventTitle":"Calendar-module_dayEventTitle__er03k","dayEventTime":"Calendar-module_dayEventTime__TlkeQ","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
2957
+ var styles$9 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar-module_loading__59Z9-","loadingSpinner":"Calendar-module_loadingSpinner__7MXqV","header":"Calendar-module_header__cZHNA","navigation":"Calendar-module_navigation__PGkpY","navButton":"Calendar-module_navButton__kOe-w","title":"Calendar-module_title__oJZ7m","controls":"Calendar-module_controls__i1Z38","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","weekDays":"Calendar-module_weekDays__4J-8f","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","weekView":"Calendar-module_weekView__bdtGs","dayCell":"Calendar-module_dayCell__TV-HR","dayNumber":"Calendar-module_dayNumber__ICH-X","today":"Calendar-module_today__eGuUU","events":"Calendar-module_events__qdbs7","event":"Calendar-module_event__Q1Zq3","eventTitle":"Calendar-module_eventTitle__XU7Wd","eventTime":"Calendar-module_eventTime__pMGEB","otherMonth":"Calendar-module_otherMonth__r6VJK","selected":"Calendar-module_selected__5e6h0","compact":"Calendar-module_compact__i0SF3","dots":"Calendar-module_dots__1Q7QR","dot":"Calendar-module_dot__tsCR1","dotMore":"Calendar-module_dotMore__emasD","weekNumber":"Calendar-module_weekNumber__nlo50","completed":"Calendar-module_completed__B-SHI","completedIcon":"Calendar-module_completedIcon__-oDZ9","moreEvents":"Calendar-module_moreEvents__TIKaT","emptyState":"Calendar-module_emptyState__2fcj7","dayView":"Calendar-module_dayView__PCIos","dayViewHeader":"Calendar-module_dayViewHeader__Gvxx2","timeColumnHeader":"Calendar-module_timeColumnHeader__B0btR","dayColumnHeader":"Calendar-module_dayColumnHeader__Rjqwg","allDayStrip":"Calendar-module_allDayStrip__VOqbV","allDayLabel":"Calendar-module_allDayLabel__2AmyT","allDayList":"Calendar-module_allDayList__6hFSb","allDayEvent":"Calendar-module_allDayEvent__SYkCs","dayViewScrollContainer":"Calendar-module_dayViewScrollContainer__84Byq","dayTimelineGrid":"Calendar-module_dayTimelineGrid__r1BNI","hourRow":"Calendar-module_hourRow__U-YN-","hourLabel":"Calendar-module_hourLabel__im84k","hourSlots":"Calendar-module_hourSlots__vbtYy","halfHourSlot":"Calendar-module_halfHourSlot__UWIri","halfHourSlotBottom":"Calendar-module_halfHourSlotBottom__aE5Mo","dayEvent":"Calendar-module_dayEvent__tSPFa","dayEventTitle":"Calendar-module_dayEventTitle__er03k","dayEventTime":"Calendar-module_dayEventTime__TlkeQ","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
2958
2958
 
2959
2959
  /**
2960
2960
  * Calendar component - A flexible, reusable calendar for displaying events
@@ -2985,30 +2985,25 @@ var styles$9 = {"calendar":"Calendar-module_calendar__3mIJS","loading":"Calendar
2985
2985
  * onEventClick={handleEventClick}
2986
2986
  * />
2987
2987
  */
2988
- function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate }) {
2988
+ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate }) {
2989
2989
  const [currentDate, setCurrentDate] = useState(initialDate);
2990
2990
  const [currentViewMode, setCurrentViewMode] = useState(viewMode);
2991
2991
  const dayViewScrollRef = useRef(null);
2992
- const { eventColors = {}, iconRenderer, maxEventsPerDay = 3, mondayStart = false, showWeekNumbers = false, dateFormat = { month: 'long', year: 'numeric' }, locale = 'en-US', dayLabels, monthNames } = config;
2992
+ const { eventColors = {}, iconRenderer, maxEventsPerDay = 3, mondayStart = false, showWeekNumbers = false, dateFormat = { month: 'long', year: 'numeric' }, locale = 'en-US', dayLabels, monthNames, startHour = 0, endHour = 24, hourHeight = 60, halfHourSlots = false } = config;
2993
2993
  const defaultDayLabels = mondayStart
2994
2994
  ? ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
2995
2995
  : ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
2996
2996
  const finalDayLabels = dayLabels || defaultDayLabels;
2997
- // Auto-scroll to current time in day view
2997
+ // Auto-scroll to current time in day view (respects startHour/hourHeight config)
2998
+ const dayViewHourHeight = config?.hourHeight ?? 60;
2999
+ const dayViewStartHour = config?.startHour ?? 0;
2998
3000
  useEffect(() => {
2999
3001
  if (currentViewMode === 'day' && dayViewScrollRef.current) {
3000
- // Check if viewing today
3001
3002
  const now = new Date();
3002
3003
  const isToday = currentDate.toDateString() === now.toDateString();
3003
3004
  if (isToday) {
3004
- // Calculate scroll position based on current time
3005
- const currentHour = now.getHours();
3006
- const currentMinute = now.getMinutes();
3007
- const minutesSinceMidnight = currentHour * 60 + currentMinute;
3008
- // Each hour is 60px, so calculate pixel position
3009
- // Scroll to put current time in the upper third of the view
3010
- const scrollPosition = (minutesSinceMidnight / 60) * 60 - 100; // Subtract 100 to show some context above
3011
- // Use setTimeout to ensure DOM is ready
3005
+ const minutesFromStart = (now.getHours() - dayViewStartHour) * 60 + now.getMinutes();
3006
+ const scrollPosition = (minutesFromStart / 60) * dayViewHourHeight - 100;
3012
3007
  setTimeout(() => {
3013
3008
  if (dayViewScrollRef.current) {
3014
3009
  dayViewScrollRef.current.scrollTop = Math.max(0, scrollPosition);
@@ -3016,7 +3011,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3016
3011
  }, 0);
3017
3012
  }
3018
3013
  }
3019
- }, [currentViewMode, currentDate]);
3014
+ }, [currentViewMode, currentDate, dayViewStartHour, dayViewHourHeight]);
3020
3015
  const calendarData = useMemo(() => {
3021
3016
  const year = currentDate.getFullYear();
3022
3017
  const month = currentDate.getMonth();
@@ -3178,16 +3173,6 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3178
3173
  onDateClick(date);
3179
3174
  }
3180
3175
  };
3181
- const handleTimeSlotClick = (hour) => {
3182
- if (onTimeSlotClick) {
3183
- // Create a date object with the current date and the clicked hour
3184
- const slotDate = new Date(currentDate);
3185
- slotDate.setHours(hour, 0, 0, 0);
3186
- // Format time as HH:00
3187
- const timeString = `${hour.toString().padStart(2, '0')}:00`;
3188
- onTimeSlotClick(slotDate, hour, timeString);
3189
- }
3190
- };
3191
3176
  const isToday = (date) => {
3192
3177
  const today = new Date();
3193
3178
  return date.toDateString() === today.toDateString();
@@ -3205,49 +3190,75 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
3205
3190
  return (jsx("div", { className: `${styles$9.calendar} ${styles$9.loading} ${className}`, style: style, children: jsx("div", { className: styles$9.loadingSpinner, children: "Loading..." }) }));
3206
3191
  }
3207
3192
  return (jsxs("div", { className: `${styles$9.calendar} ${compact ? styles$9.compact : ''} ${className}`, style: style, children: [!hideHeader && (jsxs("div", { className: styles$9.header, children: [jsxs("div", { className: styles$9.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$9.navButton, "aria-label": "Previous", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "15,18 9,12 15,6" }) }) }), jsx("h3", { className: styles$9.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$9.navButton, "aria-label": "Next", children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "9,6 15,12 9,18" }) }) })] }), jsxs("div", { className: styles$9.controls, children: [jsx("button", { onClick: handleToday, className: styles$9.todayButton, children: "Today" }), jsxs("div", { className: styles$9.viewToggle, children: [jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'month' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'week' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsx("button", { className: `${styles$9.viewButton} ${currentViewMode === 'day' ? styles$9.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode !== 'day' && (jsxs("div", { className: styles$9.weekDays, children: [showWeekNumbers && jsx("div", { className: styles$9.weekNumberHeader, children: "Week" }), finalDayLabels.map((day) => (jsx("div", { className: styles$9.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
3208
- // Day view layout
3209
- jsxs("div", { className: styles$9.dayView, children: [jsxs("div", { className: styles$9.dayViewHeader, children: [jsx("div", { className: styles$9.timeColumnHeader }), jsx("div", { className: styles$9.dayColumnHeader, children: currentDate.toLocaleDateString(locale, { weekday: 'short', day: 'numeric' }) })] }), jsx("div", { className: styles$9.dayViewScrollContainer, ref: dayViewScrollRef, children: jsxs("div", { className: styles$9.dayViewContent, children: [(() => {
3210
- const now = new Date();
3211
- const currentHour = now.getHours();
3212
- const currentMinute = now.getMinutes();
3213
- const minutesSinceMidnight = currentHour * 60 + currentMinute;
3214
- const topPosition = (minutesSinceMidnight / 1440) * (24 * 60); // 24 hours * 60px per hour
3215
- // Only show if viewing today
3216
- const isToday = currentDate.toDateString() === now.toDateString();
3217
- return isToday ? (jsx("div", { className: styles$9.currentTimeIndicator, style: { top: `${topPosition}px` } })) : null;
3218
- })(), jsx("div", { className: styles$9.timeColumn, children: Array.from({ length: 24 }, (_, hour) => (jsx("div", { className: styles$9.timeSlot, children: jsxs("span", { className: styles$9.timeLabel, children: [hour.toString().padStart(2, '0'), ":00"] }) }, hour))) }), jsx("div", { className: styles$9.dayColumn, children: Array.from({ length: 24 }, (_, hour) => {
3219
- const hourEvents = getDayEvents(currentDate).filter(event => {
3220
- if (!event.time)
3221
- return false;
3222
- const eventHour = parseInt(event.time.split(':')[0]);
3223
- return eventHour === hour;
3224
- });
3225
- return (jsxs("div", { className: styles$9.hourSlot, onClick: (e) => {
3226
- // Only trigger if clicking on the slot itself, not on an event
3227
- if (e.target === e.currentTarget ||
3228
- e.target.classList.contains(styles$9.hourLine)) {
3229
- handleTimeSlotClick(hour);
3230
- }
3231
- }, style: { cursor: 'pointer' }, children: [jsx("div", { className: styles$9.hourLine }), hourEvents.map((event, eventIndex) => (jsxs(motion.div, { className: `${styles$9.dayEvent} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
3232
- backgroundColor: getEventColor(event),
3233
- color: getEventTextColor(event),
3234
- opacity: event.status === 'completed' ? 0.7 : 1
3235
- }, onClick: (e) => {
3236
- e.stopPropagation();
3237
- handleEventClick(event);
3238
- }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: {
3239
- duration: 0.2,
3240
- delay: eventIndex * 0.05,
3241
- ease: "easeOut"
3242
- }, whileHover: {
3243
- scale: 1.02,
3244
- y: -1,
3245
- transition: { duration: 0.1 }
3246
- }, whileTap: {
3247
- scale: 0.98,
3248
- transition: { duration: 0.1 }
3249
- }, children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$9.dayEventTitle, children: [jsx("span", { className: styles$9.dayEventTime, children: event.time }), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$9.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id)))] }, hour));
3250
- }) })] }) })] })) : (jsx("div", { className: `${styles$9.daysGrid} ${currentViewMode === 'week' ? styles$9.weekView : ''}`, children: calendarData.days.map((day, index) => {
3193
+ // Day view layout — positioned events with duration, all-day strip, now-line
3194
+ (() => {
3195
+ const dayEvents = getDayEvents(currentDate);
3196
+ const scheduled = dayEvents.filter(e => !e.allDay && e.time);
3197
+ const allDayEvents = dayEvents.filter(e => e.allDay || !e.time);
3198
+ const hours = Array.from({ length: endHour - startHour }, (_, i) => startHour + i);
3199
+ const timelineHeight = hours.length * hourHeight;
3200
+ const now = new Date();
3201
+ const dayIsToday = currentDate.toDateString() === now.toDateString();
3202
+ const nowMinutesFromStart = (now.getHours() - startHour) * 60 + now.getMinutes();
3203
+ const nowOffset = (nowMinutesFromStart / 60) * hourHeight;
3204
+ const showNow = dayIsToday && nowOffset >= 0 && nowOffset <= timelineHeight;
3205
+ const eventMinutes = (time) => {
3206
+ const [h, m] = time.split(':').map(Number);
3207
+ return h * 60 + m;
3208
+ };
3209
+ const eventDuration = (event) => {
3210
+ if (!event.time || !event.endTime)
3211
+ return 30;
3212
+ const d = eventMinutes(event.endTime) - eventMinutes(event.time);
3213
+ return d > 0 ? d : 30;
3214
+ };
3215
+ const handleSlotClick = (hour, minute) => {
3216
+ if (onTimeSlotClick) {
3217
+ const slotDate = new Date(currentDate);
3218
+ slotDate.setHours(hour, minute, 0, 0);
3219
+ const timeString = `${hour.toString().padStart(2, '0')}:${minute.toString().padStart(2, '0')}`;
3220
+ onTimeSlotClick(slotDate, hour, timeString);
3221
+ }
3222
+ };
3223
+ const handleEventDragEnd = (event, info) => {
3224
+ if (!onEventDrop)
3225
+ return;
3226
+ const gridEl = dayViewScrollRef.current?.querySelector(`.${styles$9.dayTimelineGrid}`);
3227
+ if (!gridEl)
3228
+ return;
3229
+ const rect = gridEl.getBoundingClientRect();
3230
+ const relativeY = info.point.y - rect.top;
3231
+ const slotSize = halfHourSlots ? hourHeight / 2 : hourHeight;
3232
+ const slotIndex = Math.max(0, Math.floor(relativeY / slotSize));
3233
+ const totalSlots = halfHourSlots ? hours.length * 2 : hours.length;
3234
+ const clamped = Math.min(totalSlots - 1, slotIndex);
3235
+ const newHour = startHour + Math.floor(halfHourSlots ? clamped / 2 : clamped);
3236
+ const newMinute = halfHourSlots && clamped % 2 === 1 ? 30 : 0;
3237
+ const newDate = new Date(currentDate);
3238
+ newDate.setHours(newHour, newMinute, 0, 0);
3239
+ onEventDrop(event, newDate);
3240
+ };
3241
+ return (jsxs("div", { className: styles$9.dayView, children: [jsxs("div", { className: styles$9.dayViewHeader, children: [jsx("div", { className: styles$9.timeColumnHeader }), jsx("div", { className: styles$9.dayColumnHeader, children: currentDate.toLocaleDateString(locale, { weekday: 'short', day: 'numeric' }) })] }), allDayEvents.length > 0 && (jsxs("div", { className: styles$9.allDayStrip, children: [jsx("span", { className: styles$9.allDayLabel, children: "All day" }), jsx("div", { className: styles$9.allDayList, children: allDayEvents.map(event => (jsxs(motion.div, { className: `${styles$9.allDayEvent} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
3242
+ backgroundColor: getEventColor(event),
3243
+ color: getEventTextColor(event),
3244
+ opacity: event.status === 'completed' ? 0.7 : 1
3245
+ }, onClick: () => handleEventClick(event), whileHover: { scale: 1.02 }, whileTap: { scale: 0.98 }, children: [iconRenderer && iconRenderer(event), jsx("span", { children: event.title })] }, event.id))) })] })), jsx("div", { className: styles$9.dayViewScrollContainer, ref: dayViewScrollRef, children: jsxs("div", { className: styles$9.dayTimelineGrid, style: { height: timelineHeight }, children: [hours.map(hour => (jsxs("div", { className: styles$9.hourRow, style: { height: hourHeight }, children: [jsxs("span", { className: styles$9.hourLabel, children: [hour.toString().padStart(2, '0'), ":00"] }), jsx("div", { className: styles$9.hourSlots, children: halfHourSlots ? (jsxs(Fragment, { children: [jsx("div", { className: styles$9.halfHourSlot, onClick: () => handleSlotClick(hour, 0) }), jsx("div", { className: `${styles$9.halfHourSlot} ${styles$9.halfHourSlotBottom}`, onClick: () => handleSlotClick(hour, 30) })] })) : (jsx("div", { className: styles$9.halfHourSlot, onClick: () => handleSlotClick(hour, 0) })) })] }, hour))), scheduled.map((event, eventIndex) => {
3246
+ const [h, m] = event.time.split(':').map(Number);
3247
+ const top = (h - startHour) * hourHeight + (m / 60) * hourHeight;
3248
+ const duration = eventDuration(event);
3249
+ const height = Math.max(24, (duration / 60) * hourHeight - 2);
3250
+ return (jsxs(motion.div, { className: `${styles$9.dayEvent} ${event.status === 'completed' ? styles$9.completed : ''}`, style: {
3251
+ top,
3252
+ height,
3253
+ backgroundColor: getEventColor(event),
3254
+ color: getEventTextColor(event),
3255
+ opacity: event.status === 'completed' ? 0.7 : 1
3256
+ }, onClick: (e) => {
3257
+ e.stopPropagation();
3258
+ handleEventClick(event);
3259
+ }, initial: { opacity: 0, x: -10 }, animate: { opacity: 1, x: 0 }, transition: { duration: 0.2, delay: eventIndex * 0.03, ease: 'easeOut' }, whileHover: { scale: 1.01, transition: { duration: 0.1 } }, whileTap: { scale: 0.98, transition: { duration: 0.1 } }, drag: onEventDrop ? 'y' : false, dragMomentum: false, onDragEnd: (_, info) => handleEventDragEnd(event, info), children: [iconRenderer && iconRenderer(event), jsxs("span", { className: styles$9.dayEventTitle, children: [jsx("span", { className: styles$9.dayEventTime, children: event.time }), event.title] }), event.status === 'completed' && (jsx("svg", { className: styles$9.completedIcon, width: "12", height: "12", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", children: jsx("polyline", { points: "20,6 9,17 4,12" }) }))] }, event.id));
3260
+ }), showNow && (jsx("div", { className: styles$9.currentTimeIndicator, style: { top: `${nowOffset}px` } }))] }) })] }));
3261
+ })()) : (jsx("div", { className: `${styles$9.daysGrid} ${currentViewMode === 'week' ? styles$9.weekView : ''}`, children: calendarData.days.map((day, index) => {
3251
3262
  const dayEvents = getDayEvents(day);
3252
3263
  const dayIsToday = isToday(day);
3253
3264
  const isInCurrentMonth = currentViewMode === 'week' || isCurrentMonth(day);