@stfrigerio/sito-template 0.1.72 → 0.1.74
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.
- package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
- package/dist/index.esm.js +112 -24
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +112 -24
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +1 -1
- package/storybook-static/assets/{ASCIIText.stories-BJyiZESR.js → ASCIIText.stories-j8xsB1TG.js} +1 -1
- package/storybook-static/assets/{AllAtoms.stories-CgOD8m3f.js → AllAtoms.stories--6Uw2Fcr.js} +1 -1
- package/storybook-static/assets/{AnimatedContent.stories-DH-SARB9.js → AnimatedContent.stories-etc-9Hta.js} +1 -1
- package/storybook-static/assets/{AnimatedList.stories-Ry_skUA3.js → AnimatedList.stories-DqVxA_Ky.js} +1 -1
- package/storybook-static/assets/{Antigravity.stories-BicJnuw8.js → Antigravity.stories-DeqwaQLY.js} +1 -1
- package/storybook-static/assets/{ArrayInput.stories-DYpCCBNb.js → ArrayInput.stories-97t9Gs5T.js} +1 -1
- package/storybook-static/assets/{Aurora.stories-DPq2ByaS.js → Aurora.stories-DW_vRleP.js} +1 -1
- package/storybook-static/assets/{Beams.stories-C-BOpddV.js → Beams.stories-DA9Y3vcg.js} +1 -1
- package/storybook-static/assets/{BlobCursor.stories-DD-byYja.js → BlobCursor.stories-tKi0zBTb.js} +1 -1
- package/storybook-static/assets/{BlurText.stories-CI-bIIKc.js → BlurText.stories-CKH4Rjq3.js} +1 -1
- package/storybook-static/assets/{BooleansHeatmap.stories-CEV0eftd.js → BooleansHeatmap.stories-Bly1P6__.js} +1 -1
- package/storybook-static/assets/{BorderGlow.stories-BE-ilp94.js → BorderGlow.stories-Czy1UhDj.js} +1 -1
- package/storybook-static/assets/{BubbleMenu.stories-D30td5QP.js → BubbleMenu.stories-Bf8N9TBs.js} +1 -1
- package/storybook-static/assets/{Button-B8IhEFx4.js → Button-CfCaQiHk.js} +1 -1
- package/storybook-static/assets/{Button.stories-DE36U0Qh.js → Button.stories-BDUQ6PmY.js} +1 -1
- package/storybook-static/assets/Calendar-DmOKLbiz.css +1 -0
- package/storybook-static/assets/Calendar.stories-Ds0V4NID.js +367 -0
- package/storybook-static/assets/{Card-BBPiO_B4.js → Card-DizJF4F1.js} +1 -1
- package/storybook-static/assets/{Card.stories-TNOJS00N.js → Card.stories-EwdVtjkF.js} +1 -1
- package/storybook-static/assets/{CardNav.stories-t1Bp6iKB.js → CardNav.stories-DLmxJsQG.js} +1 -1
- package/storybook-static/assets/{Carousel.stories-D3TV54aM.js → Carousel.stories-BPsb3J9A.js} +1 -1
- package/storybook-static/assets/{Checkbox-5p-zbzmi.js → Checkbox-DGpAt-8J.js} +1 -1
- package/storybook-static/assets/{Checkbox.stories-8znsCJhi.js → Checkbox.stories-CJTpePMc.js} +1 -1
- package/storybook-static/assets/{ChromaGrid.stories-o3p8Qdx1.js → ChromaGrid.stories-DaGNUwWg.js} +1 -1
- package/storybook-static/assets/{CircularGallery.stories-BEcnb56N.js → CircularGallery.stories-Dsu6Gscs.js} +1 -1
- package/storybook-static/assets/{CircularText.stories-Cac0HQ7O.js → CircularText.stories-CyptnEcC.js} +1 -1
- package/storybook-static/assets/{ClickSpark.stories-DS6RKm32.js → ClickSpark.stories-ZJp1SZBJ.js} +1 -1
- package/storybook-static/assets/{ColorBends.stories-BLXOpDDP.js → ColorBends.stories-DuwrILJ4.js} +1 -1
- package/storybook-static/assets/{CountUp.stories-D0hVlNjf.js → CountUp.stories-D7YnDOqK.js} +1 -1
- package/storybook-static/assets/{Counter.stories-D-AgJaFb.js → Counter.stories-Dj17FOO4.js} +1 -1
- package/storybook-static/assets/{Crosshair.stories-DuRxpkAA.js → Crosshair.stories-C1CdFmHt.js} +1 -1
- package/storybook-static/assets/{Cubes.stories-B2K-6Pv7.js → Cubes.stories-B44CMSHQ.js} +1 -1
- package/storybook-static/assets/{CurvedLoop.stories-EBWj-ut7.js → CurvedLoop.stories-DPaXkUxA.js} +1 -1
- package/storybook-static/assets/{DarkVeil.stories-BJfxCPIF.js → DarkVeil.stories-lvKTxlx4.js} +1 -1
- package/storybook-static/assets/{DateInput-Bl7y2Kqk.js → DateInput-egINzuHs.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-C2Lar4bv.js → DateInput.stories-DAh1TDWl.js} +1 -1
- package/storybook-static/assets/{DecayCard.stories-DS3y0loD.js → DecayCard.stories-xDW2Su7z.js} +1 -1
- package/storybook-static/assets/{DecryptedText.stories-B5vYLMUi.js → DecryptedText.stories-D_g3NeXi.js} +1 -1
- package/storybook-static/assets/{Dither.stories-CmPrb3rv.js → Dither.stories-hREUT18G.js} +1 -1
- package/storybook-static/assets/{Dock.stories-CakFuVyb.js → Dock.stories-KnYyIfju.js} +1 -1
- package/storybook-static/assets/{EditFAB.stories-CFhxg94J.js → EditFAB.stories-BgPV7Q3I.js} +1 -1
- package/storybook-static/assets/{EvilEye.stories-BleX83nU.js → EvilEye.stories-D_TG93UD.js} +1 -1
- package/storybook-static/assets/{FadeContent.stories-D2-4qOlC.js → FadeContent.stories-DRS18vpt.js} +1 -1
- package/storybook-static/assets/{FaultyTerminal.stories-CFARBPp4.js → FaultyTerminal.stories-l31sYY5m.js} +1 -1
- package/storybook-static/assets/{Fbo-CfnU58r6.js → Fbo-_jKxR3DO.js} +1 -1
- package/storybook-static/assets/{FloatingLines.stories-Bc0U4qae.js → FloatingLines.stories-DpciNTwH.js} +1 -1
- package/storybook-static/assets/{FlowingMenu.stories-BKmUrbe6.js → FlowingMenu.stories-CPapwilW.js} +1 -1
- package/storybook-static/assets/{FluidGlass.stories-BLJOG8Vu.js → FluidGlass.stories-DgqAN5En.js} +1 -1
- package/storybook-static/assets/{Folder.stories-Cxdi_wWi.js → Folder.stories-BVBYFrB4.js} +1 -1
- package/storybook-static/assets/{FuzzyText.stories-CUpUQ6nZ.js → FuzzyText.stories-DlH6urgZ.js} +1 -1
- package/storybook-static/assets/{Galaxy.stories-D7DFTFa9.js → Galaxy.stories-CT09PFwB.js} +1 -1
- package/storybook-static/assets/{GhostCursor.stories-7NVzAeAI.js → GhostCursor.stories-BmBNNHCd.js} +1 -1
- package/storybook-static/assets/{GlareHover.stories-DZiYzLd8.js → GlareHover.stories-BXuPH4-V.js} +1 -1
- package/storybook-static/assets/{GlassSurface.stories-CGVfI4xp.js → GlassSurface.stories-BcjW_8sa.js} +1 -1
- package/storybook-static/assets/{GlitchText.stories-DHeDmX4A.js → GlitchText.stories-BhylvyRh.js} +1 -1
- package/storybook-static/assets/{GooeyNav.stories-CM8SswAh.js → GooeyNav.stories-DuVJaLD4.js} +1 -1
- package/storybook-static/assets/{GradientBlinds.stories-dLv1UfQ7.js → GradientBlinds.stories-ds-mLLn_.js} +1 -1
- package/storybook-static/assets/{GradientText.stories-1BJgOxi2.js → GradientText.stories-DFZKaqGK.js} +1 -1
- package/storybook-static/assets/{Grainient.stories-CzG5cjll.js → Grainient.stories-4Asti0DW.js} +1 -1
- package/storybook-static/assets/{GridMotion.stories-ItIwnA44.js → GridMotion.stories-B4vha52N.js} +1 -1
- package/storybook-static/assets/{ImageSlideshow.stories-C-_yjmyr.js → ImageSlideshow.stories-DtlLSZpX.js} +1 -1
- package/storybook-static/assets/{Iridescence.stories-B1aSL1Oh.js → Iridescence.stories-CRk1LpYm.js} +1 -1
- package/storybook-static/assets/{LaserFlow.stories-CRvKzX4a.js → LaserFlow.stories-CmyA90TG.js} +1 -1
- package/storybook-static/assets/{LetterGlitch.stories-iTeRYMuB.js → LetterGlitch.stories-DxHgF2Yy.js} +1 -1
- package/storybook-static/assets/{LightPillar.stories-XpkpeiMs.js → LightPillar.stories-BuIgrXqL.js} +1 -1
- package/storybook-static/assets/{LightRays.stories-lQANYMqj.js → LightRays.stories-Sz1QNjAs.js} +1 -1
- package/storybook-static/assets/{Lightning.stories-ChKmI-y_.js → Lightning.stories-lU8Z2_gI.js} +1 -1
- package/storybook-static/assets/{LineWaves.stories-DhGVNsQB.js → LineWaves.stories-BlJobTVg.js} +1 -1
- package/storybook-static/assets/{LiquidChrome.stories-CnkZ7Wr3.js → LiquidChrome.stories--dbq1lwH.js} +1 -1
- package/storybook-static/assets/{LiquidEther.stories-BU1_utEW.js → LiquidEther.stories-GBPFMKr8.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner-j8Mi9qAD.js → LoadingSpinner-DwJc055H.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner.stories-D_3FCjkK.js → LoadingSpinner.stories-w9jb7-f3.js} +1 -1
- package/storybook-static/assets/{MagicRings.stories-mxBWDoWy.js → MagicRings.stories-ByQngRmz.js} +1 -1
- package/storybook-static/assets/{Magnet.stories-Dz0t_1eS.js → Magnet.stories-VfSBs056.js} +1 -1
- package/storybook-static/assets/{MagnetLines.stories-Jy4OaYyY.js → MagnetLines.stories-naWI3y1X.js} +1 -1
- package/storybook-static/assets/{Masonry.stories-BRjBN5H3.js → Masonry.stories-D65YoCut.js} +1 -1
- package/storybook-static/assets/{MetaBalls.stories-Dfk1k_wH.js → MetaBalls.stories-Debj5Ssn.js} +1 -1
- package/storybook-static/assets/{MetallicPaint.stories-C1bMxsZM.js → MetallicPaint.stories-Cw_rRmb6.js} +1 -1
- package/storybook-static/assets/{MoodChart.stories-C324AbEU.js → MoodChart.stories-CPYfb3Vh.js} +1 -1
- package/storybook-static/assets/{MotionConfigContext-BgQoFUhc.js → MotionConfigContext-D6NZivNz.js} +1 -1
- package/storybook-static/assets/{Navbar.stories-sGOUKXXC.js → Navbar.stories-BlXz9F4l.js} +1 -1
- package/storybook-static/assets/{Noise.stories-_7O9uBP8.js → Noise.stories-d4cOtpBC.js} +1 -1
- package/storybook-static/assets/{NumberStepper-DMw68Bdj.js → NumberStepper-ZN01Ap-l.js} +1 -1
- package/storybook-static/assets/{NumberStepper.stories-C34Q1o9V.js → NumberStepper.stories-VjvC6Mcm.js} +1 -1
- package/storybook-static/assets/{Orb.stories-Dy5JbOzp.js → Orb.stories-DbxZC5Pq.js} +1 -1
- package/storybook-static/assets/{OrbitImages.stories-FfsyN9Iu.js → OrbitImages.stories-DOl9acKl.js} +1 -1
- package/storybook-static/assets/{PieChart.stories-OHDVp0RT.js → PieChart.stories-CjZMI917.js} +1 -1
- package/storybook-static/assets/{PixelBlast.stories-DFKSutAz.js → PixelBlast.stories-OEKBAcU1.js} +1 -1
- package/storybook-static/assets/{PixelCard.stories-CTsY_vyI.js → PixelCard.stories-CiiRb3ws.js} +1 -1
- package/storybook-static/assets/{PixelSnow.stories-BlJBcWYF.js → PixelSnow.stories-BBhdEpdz.js} +1 -1
- package/storybook-static/assets/{PixelTransition.stories-CmBbK0DM.js → PixelTransition.stories-D1h3Den_.js} +1 -1
- package/storybook-static/assets/{Plasma.stories-QX3D_L78.js → Plasma.stories-D2nFMeJk.js} +1 -1
- package/storybook-static/assets/{Prism.stories-D48sGYp7.js → Prism.stories-BnwL00ML.js} +1 -1
- package/storybook-static/assets/{PrismaticBurst.stories-Dn2F2mIk.js → PrismaticBurst.stories-CLhPte_s.js} +1 -1
- package/storybook-static/assets/{ProfileCard.stories-Ct8ww3Sq.js → ProfileCard.stories-BBZbrkcn.js} +1 -1
- package/storybook-static/assets/{QuantifiableHabitsChart.stories-DuL527Qx.js → QuantifiableHabitsChart.stories-BfiRGnfQ.js} +1 -1
- package/storybook-static/assets/{Radar.stories-ClTlR1N5.js → Radar.stories-D4ZyWw-C.js} +1 -1
- package/storybook-static/assets/{Ribbons.stories-R7WgM-S8.js → Ribbons.stories-By-8qFNy.js} +1 -1
- package/storybook-static/assets/{RippleGrid.stories-DhMFo-nj.js → RippleGrid.stories-BIX4S-Vo.js} +1 -1
- package/storybook-static/assets/{RotatingText.stories-BDF0Yr7Z.js → RotatingText.stories-BOHcZ5K2.js} +1 -1
- package/storybook-static/assets/{ScrollFloat.stories-Cyf50ogn.js → ScrollFloat.stories-aNiacoFg.js} +1 -1
- package/storybook-static/assets/{ScrollReveal.stories-DzCw2cHi.js → ScrollReveal.stories-DvWFu4ip.js} +1 -1
- package/storybook-static/assets/{ScrollVelocity.stories-BofLpgQE.js → ScrollVelocity.stories-DnFqV7uy.js} +1 -1
- package/storybook-static/assets/{SearchBar.stories-B5r2LH16.js → SearchBar.stories-C_AjXbnk.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown-B6k12izZ.js → SearchableDropdown-BR5vgsXI.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown.stories-Bopbhioo.js → SearchableDropdown.stories-BDKkzAZj.js} +1 -1
- package/storybook-static/assets/{SelectInput-DRue6-AH.js → SelectInput-DKqA_OVH.js} +1 -1
- package/storybook-static/assets/{SelectInput.stories-BTJwfB38.js → SelectInput.stories-CbFRJqhN.js} +1 -1
- package/storybook-static/assets/{ShapeBlur.stories-DT3G8P3a.js → ShapeBlur.stories-D72m8aFk.js} +1 -1
- package/storybook-static/assets/{ShapeGrid.stories-DlmncXQS.js → ShapeGrid.stories-B-BHl7mw.js} +1 -1
- package/storybook-static/assets/{ShinyText.stories-D2oMmZfL.js → ShinyText.stories-Bv-OhYJ6.js} +1 -1
- package/storybook-static/assets/{Silk.stories-Dxqi0p3h.js → Silk.stories-CqAHanOq.js} +1 -1
- package/storybook-static/assets/{SleepChart.stories-DotKmS0C.js → SleepChart.stories-CZfGluFu.js} +1 -1
- package/storybook-static/assets/{Slider-DeiM0g6-.js → Slider-DSsSUHGS.js} +1 -1
- package/storybook-static/assets/{Slider.stories-D88AA3EG.js → Slider.stories-CsRWFKJK.js} +1 -1
- package/storybook-static/assets/{SoftAurora.stories-BEnpasA2.js → SoftAurora.stories-DsabeFl6.js} +1 -1
- package/storybook-static/assets/{SoundDemo.stories-C11x2srG.js → SoundDemo.stories-BoZmCWQ8.js} +1 -1
- package/storybook-static/assets/{SplashCursor.stories-Cwszrlxd.js → SplashCursor.stories-CNbhLBnP.js} +1 -1
- package/storybook-static/assets/{SpotlightCard.stories-DCt3hEip.js → SpotlightCard.stories-DkQ5I1d8.js} +1 -1
- package/storybook-static/assets/{Stack.stories-By_aMVjW.js → Stack.stories-C_k-gD4B.js} +1 -1
- package/storybook-static/assets/{StaggeredMenu.stories-eF4uJ1MS.js → StaggeredMenu.stories-BvHCXOtg.js} +1 -1
- package/storybook-static/assets/{StarBorder.stories-2kJPpjuh.js → StarBorder.stories-CjgqvUI7.js} +1 -1
- package/storybook-static/assets/{SunburstChart.stories-DwZaIIku.js → SunburstChart.stories-CzQ8X8LJ.js} +1 -1
- package/storybook-static/assets/{Table.stories-pZd9DvuZ.js → Table.stories-CXHthPhd.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-DQtCc0JU.js → Tabs.stories-GyLjrMhv.js} +1 -1
- package/storybook-static/assets/{TargetCursor.stories-KNijJURB.js → TargetCursor.stories-DeWDEn-s.js} +1 -1
- package/storybook-static/assets/{TextArea-BsBttKqQ.js → TextArea-C4_pRJa8.js} +1 -1
- package/storybook-static/assets/{TextArea.stories-oB8MzoXg.js → TextArea.stories-fK1SqQgj.js} +1 -1
- package/storybook-static/assets/{TextCursor.stories-D67PSwe-.js → TextCursor.stories-DDazzNqN.js} +1 -1
- package/storybook-static/assets/{TextInput-CjoPiwWi.js → TextInput-jndRU6dX.js} +1 -1
- package/storybook-static/assets/{TextInput.stories-B8VwO9KM.js → TextInput.stories-CzTyBpKu.js} +1 -1
- package/storybook-static/assets/{TextPressure.stories-0-6_dNGJ.js → TextPressure.stories-LSGMK8CF.js} +1 -1
- package/storybook-static/assets/{TextType.stories-D7wi-Xoy.js → TextType.stories-C_wJ8HAS.js} +1 -1
- package/storybook-static/assets/{ThemeSwitcher.stories-DEUFGF9B.js → ThemeSwitcher.stories-B9YxRdqX.js} +1 -1
- package/storybook-static/assets/{Threads.stories-BYTbEuF6.js → Threads.stories-CzJGdrhF.js} +1 -1
- package/storybook-static/assets/{TimeInput.stories-_1M5i4X_.js → TimeInput.stories-C0mVKzgI.js} +1 -1
- package/storybook-static/assets/{Toggle-CaV_CmDs.js → Toggle-ZNFl7Zf5.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-DBdNHwn1.js → Toggle.stories-DeRA-IFt.js} +1 -1
- package/storybook-static/assets/{ToggleButton-jv6c5ezW.js → ToggleButton-CfYinXVa.js} +1 -1
- package/storybook-static/assets/{ToggleButton.stories-D6AsjlA7.js → ToggleButton.stories-CVKDSxt7.js} +1 -1
- package/storybook-static/assets/{TrueFocus.stories-CKc72PLP.js → TrueFocus.stories-o4-m4pDu.js} +1 -1
- package/storybook-static/assets/{VariableProximity.stories-fbDCLDLp.js → VariableProximity.stories-BMVF76ti.js} +1 -1
- package/storybook-static/assets/{Waves.stories-C_VysexU.js → Waves.stories-Bsm4cTNh.js} +1 -1
- package/storybook-static/assets/{check-CV4xXNXR.js → check-CcGKVANr.js} +1 -1
- package/storybook-static/assets/{chevron-down-CkJFLecG.js → chevron-down-BL6oos_p.js} +1 -1
- package/storybook-static/assets/{chevron-right-BpRTWC1z.js → chevron-right-BOro2OVm.js} +1 -1
- package/storybook-static/assets/client-j5HQHA7g.js +1 -0
- package/storybook-static/assets/{createLucideIcon-CltDwvOP.js → createLucideIcon-X00nnVkp.js} +1 -1
- package/storybook-static/assets/{download-SJcs72V4.js → download-CR0B0bUl.js} +1 -1
- package/storybook-static/assets/{folder-6SjOmErA.js → folder-NtiCUKr7.js} +1 -1
- package/storybook-static/assets/{iconBase-DtvD0saU.js → iconBase-D4ELiZwq.js} +1 -1
- package/storybook-static/assets/{iframe-Bipsh9dY.js → iframe-0Lx_Gg0M.js} +3 -3
- package/storybook-static/assets/{index-Cia0c3io.js → index-DC1KDIA7.js} +1 -1
- package/storybook-static/assets/{index-BEA1mHaT.js → index-UFKsHW_W.js} +1 -1
- package/storybook-static/assets/{index-CTm0VtvQ.js → index-sWjLcHSO.js} +1 -1
- package/storybook-static/assets/{proxy-D9bljBhB.js → proxy-BKn6lL2c.js} +1 -1
- package/storybook-static/assets/{react-18-JTQzpdif.js → react-18-BPQ6iK-n.js} +1 -1
- package/storybook-static/assets/{react-three-fiber.esm-Dc5EQDgd.js → react-three-fiber.esm-CzGemEFc.js} +1 -1
- package/storybook-static/assets/{search-DH8smCRL.js → search-C1RQusWF.js} +1 -1
- package/storybook-static/assets/{settings-D99Exe-t.js → settings-CSFhIwio.js} +1 -1
- package/storybook-static/assets/{sun-B6fJHO8-.js → sun-BI1jVlRN.js} +1 -1
- package/storybook-static/assets/{trash-2-Bc-vtAZE.js → trash-2-BH9Df1AO.js} +1 -1
- package/storybook-static/assets/{use-animation-frame-CD6uZr8a.js → use-animation-frame-cfKOttYo.js} +1 -1
- package/storybook-static/assets/{use-in-view-DrFhenAa.js → use-in-view-CArLjB-c.js} +1 -1
- package/storybook-static/assets/{use-motion-value-wsIqdv-r.js → use-motion-value-CDeI3wJO.js} +1 -1
- package/storybook-static/assets/{use-spring-C6saxCCT.js → use-spring-C-KD4gvs.js} +1 -1
- package/storybook-static/assets/{use-transform-DuAStHvG.js → use-transform-BZD0Xyag.js} +1 -1
- package/storybook-static/assets/{useSound-BwsWxODM.js → useSound-D-J1T6nx.js} +1 -1
- package/storybook-static/assets/{users-GH_nMWDP.js → users-BNBikfx_.js} +1 -1
- package/storybook-static/assets/{x-DwbjixG_.js → x-CinnmsFm.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/assets/Calendar-E_-F3UEV.css +0 -1
- package/storybook-static/assets/Calendar.stories-BgzQTcGv.js +0 -367
- package/storybook-static/assets/client-Cor4ozso.js +0 -1
package/dist/index.js
CHANGED
|
@@ -3046,7 +3046,7 @@ function StreamConsole({ stream, onCancel, onDismiss, hideDismiss = false, runni
|
|
|
3046
3046
|
}), stream.status === 'error' && stream.errorMessage && (jsxRuntime.jsxs("p", { className: styles$b.line, "data-type": "error", children: [jsxRuntime.jsx("span", { className: styles$b.linePrefix, children: "!" }), jsxRuntime.jsx("span", { className: styles$b.lineText, children: stream.errorMessage })] }))] })] }));
|
|
3047
3047
|
}
|
|
3048
3048
|
|
|
3049
|
-
var styles$a = {"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","exportDropdown":"Calendar-module_exportDropdown__yQX4q","exportButton":"Calendar-module_exportButton__dx7--","exportMenu":"Calendar-module_exportMenu__-lZ-8","exportMenuItem":"Calendar-module_exportMenuItem__D9MdL","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","filterBar":"Calendar-module_filterBar__ZD-lX","filterPill":"Calendar-module_filterPill__f7S8p","filterPillActive":"Calendar-module_filterPillActive__9Wtm9","filterDot":"Calendar-module_filterDot__E1Hp8","weekDays":"Calendar-module_weekDays__4J-8f","withWeekNumbers":"Calendar-module_withWeekNumbers__qbnUY","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","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","weekNumberCell":"Calendar-module_weekNumberCell__bydCw","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","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","dayEventAnchor":"Calendar-module_dayEventAnchor__oryAi","weekTimeline":"Calendar-module_weekTimeline__q75EF","weekTimelineHeader":"Calendar-module_weekTimelineHeader__n5i06","weekDayColumnHeader":"Calendar-module_weekDayColumnHeader__u2ghX","weekDayLabel":"Calendar-module_weekDayLabel__i8Rm9","weekDayNumber":"Calendar-module_weekDayNumber__tqFKO","weekTimelineScroll":"Calendar-module_weekTimelineScroll__jesa0","weekTimelineGrid":"Calendar-module_weekTimelineGrid__MxIHF","weekTimeColumn":"Calendar-module_weekTimeColumn__rK4ZV","weekTimeSlot":"Calendar-module_weekTimeSlot__IFPUz","weekHourLabel":"Calendar-module_weekHourLabel__0ANmg","weekDayColumns":"Calendar-module_weekDayColumns__soiyU","weekDayColumn":"Calendar-module_weekDayColumn__sXVu0","weekHourRow":"Calendar-module_weekHourRow__FHcB2","weekEventAnchor":"Calendar-module_weekEventAnchor__nhG4x","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
|
|
3049
|
+
var styles$a = {"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","exportDropdown":"Calendar-module_exportDropdown__yQX4q","exportButton":"Calendar-module_exportButton__dx7--","nightToggle":"Calendar-module_nightToggle__JGvmM","exportMenu":"Calendar-module_exportMenu__-lZ-8","exportMenuItem":"Calendar-module_exportMenuItem__D9MdL","todayButton":"Calendar-module_todayButton__Ac9zc","viewToggle":"Calendar-module_viewToggle__Fhg2t","viewButton":"Calendar-module_viewButton__J2WY6","active":"Calendar-module_active__lIqH-","filterBar":"Calendar-module_filterBar__ZD-lX","filterPill":"Calendar-module_filterPill__f7S8p","filterPillActive":"Calendar-module_filterPillActive__9Wtm9","filterDot":"Calendar-module_filterDot__E1Hp8","weekDays":"Calendar-module_weekDays__4J-8f","withWeekNumbers":"Calendar-module_withWeekNumbers__qbnUY","weekNumberHeader":"Calendar-module_weekNumberHeader__xhKbB","weekDay":"Calendar-module_weekDay__cg8Gr","daysGrid":"Calendar-module_daysGrid__ER0GM","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","weekNumberCell":"Calendar-module_weekNumberCell__bydCw","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","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","dayEventAnchor":"Calendar-module_dayEventAnchor__oryAi","weekTimeline":"Calendar-module_weekTimeline__q75EF","weekTimelineHeader":"Calendar-module_weekTimelineHeader__n5i06","weekDayColumnHeader":"Calendar-module_weekDayColumnHeader__u2ghX","weekDayLabel":"Calendar-module_weekDayLabel__i8Rm9","weekDayNumber":"Calendar-module_weekDayNumber__tqFKO","weekTimelineScroll":"Calendar-module_weekTimelineScroll__jesa0","weekTimelineGrid":"Calendar-module_weekTimelineGrid__MxIHF","weekTimeColumn":"Calendar-module_weekTimeColumn__rK4ZV","weekTimeSlot":"Calendar-module_weekTimeSlot__IFPUz","weekHourLabel":"Calendar-module_weekHourLabel__0ANmg","weekDayColumns":"Calendar-module_weekDayColumns__soiyU","weekDayColumn":"Calendar-module_weekDayColumn__sXVu0","weekHourRow":"Calendar-module_weekHourRow__FHcB2","weekEventAnchor":"Calendar-module_weekEventAnchor__nhG4x","currentTimeIndicator":"Calendar-module_currentTimeIndicator__GntOZ"};
|
|
3050
3050
|
|
|
3051
3051
|
var styles$9 = {"wrapper":"DayEventCard-module_wrapper__qvRgl","deleteUnderlay":"DayEventCard-module_deleteUnderlay__fTtuX","card":"DayEventCard-module_card__V9xTi","dragging":"DayEventCard-module_dragging__q19ID","completed":"DayEventCard-module_completed__tq8ol","text":"DayEventCard-module_text__3dWF7","grip":"DayEventCard-module_grip__tmim4","checkIcon":"DayEventCard-module_checkIcon__Ki67j","time":"DayEventCard-module_time__Ojdye","editButton":"DayEventCard-module_editButton__nDi-e"};
|
|
3052
3052
|
|
|
@@ -3236,6 +3236,7 @@ const downloadEvents = (events, format, filename) => {
|
|
|
3236
3236
|
function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, onEventComplete, onEventDelete, onEventEdit, viewMode = 'month', initialDate = new Date(), config = {}, className = '', style = {}, loading = false, emptyState, hideHeader = false, compact = false, selectedDate, selectedCategoryId, onCategoryChange, exportFormats }) {
|
|
3237
3237
|
const [currentDate, setCurrentDate] = React.useState(initialDate);
|
|
3238
3238
|
const [currentViewMode, setCurrentViewMode] = React.useState(viewMode);
|
|
3239
|
+
const [hideNightHours, setHideNightHours] = React.useState(false);
|
|
3239
3240
|
const [internalCategoryId, setInternalCategoryId] = React.useState(null);
|
|
3240
3241
|
const isCategoryControlled = selectedCategoryId !== undefined;
|
|
3241
3242
|
const activeCategoryId = isCategoryControlled ? selectedCategoryId ?? null : internalCategoryId;
|
|
@@ -3259,7 +3260,10 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3259
3260
|
document.addEventListener('mousedown', handler);
|
|
3260
3261
|
return () => document.removeEventListener('mousedown', handler);
|
|
3261
3262
|
}, [exportOpen]);
|
|
3262
|
-
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, categories } = config;
|
|
3263
|
+
const { eventColors = {}, iconRenderer, maxEventsPerDay = 3, mondayStart = false, showWeekNumbers = false, dateFormat = { month: 'long', year: 'numeric' }, locale = 'en-US', dayLabels, monthNames, startHour: configStartHour = 0, endHour = 24, hourHeight = 60, halfHourSlots = false, categories } = config;
|
|
3264
|
+
// Effective start hour — when the user toggles "hide night hours", collapse
|
|
3265
|
+
// the pre-8am range in day/week timelines.
|
|
3266
|
+
const startHour = hideNightHours ? Math.max(configStartHour, 8) : configStartHour;
|
|
3263
3267
|
const filteredEvents = React.useMemo(() => {
|
|
3264
3268
|
if (!categories || categories.length === 0 || activeCategoryId === null)
|
|
3265
3269
|
return events;
|
|
@@ -3270,7 +3274,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3270
3274
|
: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
3271
3275
|
const finalDayLabels = dayLabels || defaultDayLabels;
|
|
3272
3276
|
const timelineHourHeight = config?.hourHeight ?? 60;
|
|
3273
|
-
const timelineStartHour =
|
|
3277
|
+
const timelineStartHour = startHour;
|
|
3274
3278
|
const calendarData = React.useMemo(() => {
|
|
3275
3279
|
const year = currentDate.getFullYear();
|
|
3276
3280
|
const month = currentDate.getMonth();
|
|
@@ -3331,45 +3335,111 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3331
3335
|
}
|
|
3332
3336
|
return { days, displayTitle };
|
|
3333
3337
|
}, [currentDate, currentViewMode, mondayStart, locale, dateFormat, monthNames]);
|
|
3334
|
-
// Auto-scroll to current time in day/week views
|
|
3338
|
+
// Auto-scroll to current time in day/week views. Only re-fires when the
|
|
3339
|
+
// user changes view mode or navigates to a different date — not on every
|
|
3340
|
+
// re-render (e.g. after dropping an event), which would snap the scroll.
|
|
3341
|
+
const lastScrollKeyRef = React.useRef('');
|
|
3335
3342
|
React.useEffect(() => {
|
|
3336
|
-
|
|
3337
|
-
|
|
3338
|
-
|
|
3339
|
-
if (!targetRef
|
|
3343
|
+
if (currentViewMode !== 'day' && currentViewMode !== 'week')
|
|
3344
|
+
return;
|
|
3345
|
+
const targetRef = currentViewMode === 'day' ? dayViewScrollRef : weekViewScrollRef;
|
|
3346
|
+
if (!targetRef.current)
|
|
3340
3347
|
return;
|
|
3341
3348
|
const now = new Date();
|
|
3342
|
-
const isTodayOnScreen =
|
|
3343
|
-
|
|
3344
|
-
|
|
3349
|
+
const isTodayOnScreen = (() => {
|
|
3350
|
+
if (currentViewMode === 'day') {
|
|
3351
|
+
return currentDate.toDateString() === now.toDateString();
|
|
3352
|
+
}
|
|
3353
|
+
const weekStart = new Date(currentDate);
|
|
3354
|
+
const day = weekStart.getDay();
|
|
3355
|
+
const offset = mondayStart ? (day === 0 ? -6 : 1 - day) : -day;
|
|
3356
|
+
weekStart.setDate(weekStart.getDate() + offset);
|
|
3357
|
+
weekStart.setHours(0, 0, 0, 0);
|
|
3358
|
+
const weekEnd = new Date(weekStart);
|
|
3359
|
+
weekEnd.setDate(weekStart.getDate() + 7);
|
|
3360
|
+
return now >= weekStart && now < weekEnd;
|
|
3361
|
+
})();
|
|
3345
3362
|
if (!isTodayOnScreen)
|
|
3346
3363
|
return;
|
|
3364
|
+
const key = `${currentViewMode}-${currentDate.toDateString()}`;
|
|
3365
|
+
if (lastScrollKeyRef.current === key)
|
|
3366
|
+
return;
|
|
3367
|
+
lastScrollKeyRef.current = key;
|
|
3347
3368
|
const minutesFromStart = (now.getHours() - timelineStartHour) * 60 + now.getMinutes();
|
|
3348
3369
|
const scrollPosition = Math.max(0, (minutesFromStart / 60) * timelineHourHeight - 100);
|
|
3349
3370
|
setTimeout(() => {
|
|
3350
3371
|
if (targetRef.current)
|
|
3351
3372
|
targetRef.current.scrollTop = scrollPosition;
|
|
3352
3373
|
}, 0);
|
|
3353
|
-
}, [currentViewMode, currentDate, timelineStartHour, timelineHourHeight,
|
|
3374
|
+
}, [currentViewMode, currentDate, timelineStartHour, timelineHourHeight, mondayStart]);
|
|
3354
3375
|
const getDayEvents = (day) => {
|
|
3355
3376
|
const dayEvents = filteredEvents.filter(event => {
|
|
3356
3377
|
const eventDate = new Date(event.date);
|
|
3357
3378
|
return eventDate.toDateString() === day.toDateString();
|
|
3358
3379
|
});
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
return timeA - timeB;
|
|
3365
|
-
});
|
|
3366
|
-
}
|
|
3367
|
-
return dayEvents;
|
|
3380
|
+
return dayEvents.sort((a, b) => {
|
|
3381
|
+
const timeA = a.time ? convertTimeToMinutes(a.time) : 999999;
|
|
3382
|
+
const timeB = b.time ? convertTimeToMinutes(b.time) : 999999;
|
|
3383
|
+
return timeA - timeB;
|
|
3384
|
+
});
|
|
3368
3385
|
};
|
|
3369
3386
|
const convertTimeToMinutes = (time) => {
|
|
3370
3387
|
const [hours, minutes] = time.split(':').map(Number);
|
|
3371
3388
|
return hours * 60 + minutes;
|
|
3372
3389
|
};
|
|
3390
|
+
// Compute side-by-side column layout for events that overlap in time.
|
|
3391
|
+
// Returns a map: eventId -> { col, totalCols } where totalCols is the width
|
|
3392
|
+
// of the group (so a 3-way overlap yields totalCols=3 and col in {0,1,2}).
|
|
3393
|
+
const layoutOverlappingEvents = (events) => {
|
|
3394
|
+
const result = new Map();
|
|
3395
|
+
const timed = events.filter(e => e.time).map(e => {
|
|
3396
|
+
const start = convertTimeToMinutes(e.time);
|
|
3397
|
+
const end = e.endTime ? convertTimeToMinutes(e.endTime) : start + 30;
|
|
3398
|
+
return { event: e, start, end: Math.max(end, start + 1) };
|
|
3399
|
+
});
|
|
3400
|
+
timed.sort((a, b) => a.start - b.start || a.end - b.end);
|
|
3401
|
+
let cluster = [];
|
|
3402
|
+
let clusterEnd = -1;
|
|
3403
|
+
const flushCluster = () => {
|
|
3404
|
+
if (cluster.length === 0)
|
|
3405
|
+
return;
|
|
3406
|
+
const cols = []; // cols[i] = end time of last event in col i
|
|
3407
|
+
const assigned = [];
|
|
3408
|
+
for (const item of cluster) {
|
|
3409
|
+
let placed = false;
|
|
3410
|
+
for (let i = 0; i < cols.length; i++) {
|
|
3411
|
+
if (cols[i] <= item.start) {
|
|
3412
|
+
cols[i] = item.end;
|
|
3413
|
+
assigned.push({ id: item.event.id, col: i });
|
|
3414
|
+
placed = true;
|
|
3415
|
+
break;
|
|
3416
|
+
}
|
|
3417
|
+
}
|
|
3418
|
+
if (!placed) {
|
|
3419
|
+
cols.push(item.end);
|
|
3420
|
+
assigned.push({ id: item.event.id, col: cols.length - 1 });
|
|
3421
|
+
}
|
|
3422
|
+
}
|
|
3423
|
+
const totalCols = cols.length;
|
|
3424
|
+
for (const a of assigned)
|
|
3425
|
+
result.set(a.id, { col: a.col, totalCols });
|
|
3426
|
+
cluster = [];
|
|
3427
|
+
clusterEnd = -1;
|
|
3428
|
+
};
|
|
3429
|
+
for (const item of timed) {
|
|
3430
|
+
if (cluster.length === 0 || item.start < clusterEnd) {
|
|
3431
|
+
cluster.push(item);
|
|
3432
|
+
clusterEnd = Math.max(clusterEnd, item.end);
|
|
3433
|
+
}
|
|
3434
|
+
else {
|
|
3435
|
+
flushCluster();
|
|
3436
|
+
cluster.push(item);
|
|
3437
|
+
clusterEnd = item.end;
|
|
3438
|
+
}
|
|
3439
|
+
}
|
|
3440
|
+
flushCluster();
|
|
3441
|
+
return result;
|
|
3442
|
+
};
|
|
3373
3443
|
const handlePrevious = () => {
|
|
3374
3444
|
const newDate = new Date(currentDate);
|
|
3375
3445
|
if (currentViewMode === 'week') {
|
|
@@ -3474,7 +3544,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3474
3544
|
})] })), jsxRuntime.jsxs("div", { className: styles$a.controls, children: [exportFormats && exportFormats.length > 0 && (jsxRuntime.jsxs("div", { className: styles$a.exportDropdown, ref: exportRef, children: [jsxRuntime.jsx("button", { type: "button", className: styles$a.exportButton, onClick: () => setExportOpen(v => !v), "aria-haspopup": "menu", "aria-expanded": exportOpen, "aria-label": "Export events", title: "Export events", children: jsxRuntime.jsx(lucideReact.Download, { size: 16 }) }), exportOpen && (jsxRuntime.jsx("div", { className: styles$a.exportMenu, role: "menu", children: exportFormats.map(format => (jsxRuntime.jsx("button", { type: "button", role: "menuitem", className: styles$a.exportMenuItem, onClick: () => {
|
|
3475
3545
|
downloadEvents(filteredEvents, format);
|
|
3476
3546
|
setExportOpen(false);
|
|
3477
|
-
}, children: format.toUpperCase() }, format))) }))] })), jsxRuntime.jsx("button", { onClick: handleToday, className: styles$a.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$a.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'month' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'week' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'day' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode === 'month' && (jsxRuntime.jsxs("div", { className: `${styles$a.weekDays} ${showWeekNumbers ? styles$a.withWeekNumbers : ''}`, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$a.weekNumberHeader, children: "Wk" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$a.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
3547
|
+
}, children: format.toUpperCase() }, format))) }))] })), (currentViewMode === 'day' || currentViewMode === 'week') && (jsxRuntime.jsx("button", { type: "button", className: styles$a.nightToggle, onClick: () => setHideNightHours(v => !v), "aria-pressed": hideNightHours, title: hideNightHours ? 'Show night hours' : 'Hide night hours (00:00–08:00)', "aria-label": hideNightHours ? 'Show night hours' : 'Hide night hours', children: hideNightHours ? jsxRuntime.jsx(lucideReact.Sun, { size: 16 }) : jsxRuntime.jsx(lucideReact.Moon, { size: 16 }) })), jsxRuntime.jsx("button", { onClick: handleToday, className: styles$a.todayButton, children: "Today" }), jsxRuntime.jsxs("div", { className: styles$a.viewToggle, children: [jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'month' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'week' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsxRuntime.jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'day' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode === 'month' && (jsxRuntime.jsxs("div", { className: `${styles$a.weekDays} ${showWeekNumbers ? styles$a.withWeekNumbers : ''}`, children: [showWeekNumbers && jsxRuntime.jsx("div", { className: styles$a.weekNumberHeader, children: "Wk" }), finalDayLabels.map((day) => (jsxRuntime.jsx("div", { className: styles$a.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
3478
3548
|
// Day view layout — positioned events with duration, all-day strip, now-line
|
|
3479
3549
|
(() => {
|
|
3480
3550
|
const dayEvents = getDayEvents(currentDate);
|
|
@@ -3497,6 +3567,7 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3497
3567
|
const d = eventMinutes(event.endTime) - eventMinutes(event.time);
|
|
3498
3568
|
return d > 0 ? d : 30;
|
|
3499
3569
|
};
|
|
3570
|
+
const dayLayout = layoutOverlappingEvents(scheduled);
|
|
3500
3571
|
const handleSlotClick = (hour, minute) => {
|
|
3501
3572
|
if (onTimeSlotClick) {
|
|
3502
3573
|
const slotDate = new Date(currentDate);
|
|
@@ -3528,7 +3599,15 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3528
3599
|
const top = (h - startHour) * hourHeight + (m / 60) * hourHeight;
|
|
3529
3600
|
const duration = eventDuration(event);
|
|
3530
3601
|
const height = Math.max(24, (duration / 60) * hourHeight - 2);
|
|
3531
|
-
|
|
3602
|
+
const lane = dayLayout.get(event.id);
|
|
3603
|
+
const totalCols = lane?.totalCols ?? 1;
|
|
3604
|
+
const col = lane?.col ?? 0;
|
|
3605
|
+
return (jsxRuntime.jsx("div", { className: styles$a.dayEventAnchor, style: {
|
|
3606
|
+
top,
|
|
3607
|
+
height,
|
|
3608
|
+
'--lane-col': col,
|
|
3609
|
+
'--lane-total': totalCols,
|
|
3610
|
+
}, onClick: (e) => e.stopPropagation(), children: jsxRuntime.jsx(DayEventCard, { event: event, color: getEventColor(event), textColor: getEventTextColor(event), onComplete: onEventComplete ?? (onEventClick ? handleEventClick : undefined), onEdit: onEventEdit, onDelete: onEventDelete, onDragEnd: onEventDrop ? (clientY) => handleEventDragEnd(event, clientY) : undefined }) }, event.id));
|
|
3532
3611
|
}), showNow && (jsxRuntime.jsx("div", { className: styles$a.currentTimeIndicator, style: { top: `${nowOffset}px` } }))] }) })] }));
|
|
3533
3612
|
})()) : currentViewMode === 'week' ? (
|
|
3534
3613
|
// Week view layout — 7 side-by-side day timelines. Drag events across
|
|
@@ -3588,12 +3667,21 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3588
3667
|
})] }), jsxRuntime.jsx("div", { className: styles$a.weekTimelineScroll, ref: weekViewScrollRef, children: jsxRuntime.jsxs("div", { className: styles$a.weekTimelineGrid, style: { height: timelineHeight }, children: [jsxRuntime.jsx("div", { className: styles$a.weekTimeColumn, children: hours.map(hour => (jsxRuntime.jsx("div", { className: styles$a.weekTimeSlot, style: { height: hourHeight }, children: jsxRuntime.jsxs("span", { className: styles$a.weekHourLabel, children: [hour.toString().padStart(2, '0'), ":00"] }) }, hour))) }), jsxRuntime.jsx("div", { className: styles$a.weekDayColumns, children: days.map(day => {
|
|
3589
3668
|
const dayEvents = getDayEvents(day).filter(e => !e.allDay && e.time);
|
|
3590
3669
|
const dayIsToday = day.toDateString() === now.toDateString();
|
|
3670
|
+
const dayLayout = layoutOverlappingEvents(dayEvents);
|
|
3591
3671
|
return (jsxRuntime.jsxs("div", { className: styles$a.weekDayColumn, children: [hours.map(hour => (jsxRuntime.jsx("div", { className: styles$a.weekHourRow, style: { height: hourHeight }, children: halfHourSlots ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$a.halfHourSlot, onClick: () => handleWeekSlotClick(day, hour, 0) }), jsxRuntime.jsx("div", { className: `${styles$a.halfHourSlot} ${styles$a.halfHourSlotBottom}`, onClick: () => handleWeekSlotClick(day, hour, 30) })] })) : (jsxRuntime.jsx("div", { className: styles$a.halfHourSlot, onClick: () => handleWeekSlotClick(day, hour, 0) })) }, hour))), dayEvents.map(event => {
|
|
3592
3672
|
const [h, m] = event.time.split(':').map(Number);
|
|
3593
3673
|
const top = (h - startHour) * hourHeight + (m / 60) * hourHeight;
|
|
3594
3674
|
const duration = eventDuration(event);
|
|
3595
3675
|
const height = Math.max(24, (duration / 60) * hourHeight - 2);
|
|
3596
|
-
|
|
3676
|
+
const lane = dayLayout.get(event.id);
|
|
3677
|
+
const totalCols = lane?.totalCols ?? 1;
|
|
3678
|
+
const col = lane?.col ?? 0;
|
|
3679
|
+
return (jsxRuntime.jsx("div", { className: styles$a.weekEventAnchor, style: {
|
|
3680
|
+
top,
|
|
3681
|
+
height,
|
|
3682
|
+
'--lane-col': col,
|
|
3683
|
+
'--lane-total': totalCols,
|
|
3684
|
+
}, onClick: (e) => e.stopPropagation(), children: jsxRuntime.jsx(DayEventCard, { event: event, color: getEventColor(event), textColor: getEventTextColor(event), onComplete: onEventComplete ?? (onEventClick ? handleEventClick : undefined), onEdit: onEventEdit, onDelete: onEventDelete, onDragEnd: onEventDrop ? (cy, cx) => handleWeekDragEnd(event, cy, cx) : undefined }) }, event.id));
|
|
3597
3685
|
}), dayIsToday && showNow && (jsxRuntime.jsx("div", { className: styles$a.currentTimeIndicator, style: { top: `${nowOffset}px`, left: 0 } }))] }, day.toISOString()));
|
|
3598
3686
|
}) })] }) })] }));
|
|
3599
3687
|
})()) : ((() => {
|