@stfrigerio/sito-template 0.1.59 → 0.1.60
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 +5 -1
- package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/Calendar.stories.d.ts +1 -0
- package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
- package/dist/components/organisms/Calendar/exportEvents.d.ts +8 -0
- package/dist/components/organisms/Calendar/exportEvents.d.ts.map +1 -0
- package/dist/index.esm.js +106 -4
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +105 -3
- 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-CsG3yKr5.js → ASCIIText.stories-OSKwRAyY.js} +1 -1
- package/storybook-static/assets/{AllAtoms.stories-D2Pzz8c7.js → AllAtoms.stories-BMrwCHeq.js} +1 -1
- package/storybook-static/assets/{AnimatedContent.stories-BP9feFGz.js → AnimatedContent.stories-Bxf47ut1.js} +1 -1
- package/storybook-static/assets/{AnimatedList.stories-DQ8jdk44.js → AnimatedList.stories-B1E8UqMr.js} +1 -1
- package/storybook-static/assets/{Antigravity.stories-BTIHyYKU.js → Antigravity.stories-I5mdFgmP.js} +1 -1
- package/storybook-static/assets/{ArrayInput.stories-d5_OJJMu.js → ArrayInput.stories-DxmE1Rmk.js} +1 -1
- package/storybook-static/assets/{Aurora.stories-D_eQNPaB.js → Aurora.stories-DTyse-oN.js} +1 -1
- package/storybook-static/assets/{Beams.stories-VLKuYE0_.js → Beams.stories-BTOldQ0-.js} +1 -1
- package/storybook-static/assets/{BlobCursor.stories-BQJgTsuD.js → BlobCursor.stories-C_EhL1Sb.js} +1 -1
- package/storybook-static/assets/{BlurText.stories-oSn5_w7h.js → BlurText.stories-DBE9duA2.js} +1 -1
- package/storybook-static/assets/{BooleansHeatmap.stories-CHoCYK4N.js → BooleansHeatmap.stories-BK-0k1Yf.js} +1 -1
- package/storybook-static/assets/{BorderGlow.stories-D-vgIU3S.js → BorderGlow.stories-DUaNIh97.js} +1 -1
- package/storybook-static/assets/{BubbleMenu.stories-DcWoqA7_.js → BubbleMenu.stories-DUkNhCYN.js} +1 -1
- package/storybook-static/assets/{Button-DgpqJWgD.js → Button-CmL8YExH.js} +1 -1
- package/storybook-static/assets/{Button.stories-TQXKQagp.js → Button.stories-Qe92VaQO.js} +1 -1
- package/storybook-static/assets/Calendar-CXrUBxYt.css +1 -0
- package/storybook-static/assets/Calendar.stories-DvRq1jLb.js +352 -0
- package/storybook-static/assets/{Card-Bu54h8gN.js → Card-BNN9rA1_.js} +1 -1
- package/storybook-static/assets/{Card.stories-Dw2bPvLo.js → Card.stories-DJtwbzzK.js} +1 -1
- package/storybook-static/assets/{CardNav.stories-CnbwwAde.js → CardNav.stories-D3WJ4l1d.js} +1 -1
- package/storybook-static/assets/{Carousel.stories-ChBLLqBg.js → Carousel.stories-Cl5XZxQx.js} +1 -1
- package/storybook-static/assets/{Checkbox-Duyafa-Y.js → Checkbox-NV1yLfww.js} +1 -1
- package/storybook-static/assets/{Checkbox.stories-Co7IxmK1.js → Checkbox.stories-DEt8_02c.js} +1 -1
- package/storybook-static/assets/{ChromaGrid.stories-68ukohGs.js → ChromaGrid.stories-BPq9jzOX.js} +1 -1
- package/storybook-static/assets/{CircularGallery.stories-CV4iXVIX.js → CircularGallery.stories-BKkHClqR.js} +1 -1
- package/storybook-static/assets/{CircularText.stories-DqYHtbPW.js → CircularText.stories-DL97L-4c.js} +1 -1
- package/storybook-static/assets/{ClickSpark.stories-DvAOxLjs.js → ClickSpark.stories-CePCUrfJ.js} +1 -1
- package/storybook-static/assets/{ColorBends.stories-Dm4nxTTN.js → ColorBends.stories-qHNzC_b-.js} +1 -1
- package/storybook-static/assets/{CountUp.stories-DTaL8Yfy.js → CountUp.stories-DN2cFFy0.js} +1 -1
- package/storybook-static/assets/{Counter.stories-Bf_2Js0l.js → Counter.stories-U-VxTg4K.js} +1 -1
- package/storybook-static/assets/{Crosshair.stories-DJjjCcED.js → Crosshair.stories-DZ3e7z4E.js} +1 -1
- package/storybook-static/assets/{Cubes.stories-Qh3JqlQW.js → Cubes.stories-zndGensK.js} +1 -1
- package/storybook-static/assets/{CurvedLoop.stories-BvyrCuM7.js → CurvedLoop.stories-CPwaetTg.js} +1 -1
- package/storybook-static/assets/{DarkVeil.stories-BVY870pm.js → DarkVeil.stories-7UE8YAds.js} +1 -1
- package/storybook-static/assets/{DateInput-DfGES3te.js → DateInput-C7UYtU2f.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-BXF8Ttde.js → DateInput.stories-Blprxd6L.js} +1 -1
- package/storybook-static/assets/{DecayCard.stories-B0g2xWqX.js → DecayCard.stories-CyDj4Rzg.js} +1 -1
- package/storybook-static/assets/{DecryptedText.stories-fqDZfjv8.js → DecryptedText.stories-CcmNeei7.js} +1 -1
- package/storybook-static/assets/{Dither.stories-B4N3Z5sW.js → Dither.stories-Cx3gQA5F.js} +1 -1
- package/storybook-static/assets/{Dock.stories-f_YKz-pl.js → Dock.stories-BnetMt5P.js} +1 -1
- package/storybook-static/assets/{EditFAB.stories-LhVUDgtx.js → EditFAB.stories-BM8RRvq2.js} +1 -1
- package/storybook-static/assets/{EvilEye.stories-BtBvvs31.js → EvilEye.stories-CU9FGY5P.js} +1 -1
- package/storybook-static/assets/{FadeContent.stories-oNqKrfSe.js → FadeContent.stories-BaWDFQed.js} +1 -1
- package/storybook-static/assets/{FaultyTerminal.stories-7nV4DvrW.js → FaultyTerminal.stories-D1AZCPEZ.js} +1 -1
- package/storybook-static/assets/{Fbo-Clk04E0N.js → Fbo-BM-i3UPR.js} +1 -1
- package/storybook-static/assets/{FloatingLines.stories-DgxhGl_b.js → FloatingLines.stories-fehYMPcZ.js} +1 -1
- package/storybook-static/assets/{FlowingMenu.stories-C5dfG25U.js → FlowingMenu.stories-DRGoAotO.js} +1 -1
- package/storybook-static/assets/{FluidGlass.stories-DGLlp1x1.js → FluidGlass.stories-DgAiwR5f.js} +1 -1
- package/storybook-static/assets/{Folder.stories-BJGdA6Qb.js → Folder.stories-Bys9N63w.js} +1 -1
- package/storybook-static/assets/{FuzzyText.stories-DygRT6bB.js → FuzzyText.stories-D-74llkc.js} +1 -1
- package/storybook-static/assets/{Galaxy.stories-BU6XCHeu.js → Galaxy.stories-VD6ETxyT.js} +1 -1
- package/storybook-static/assets/{GhostCursor.stories-D_HIFPUl.js → GhostCursor.stories-DjMEnN7i.js} +1 -1
- package/storybook-static/assets/{GlareHover.stories-D5_-xnyP.js → GlareHover.stories-6KgkPV6C.js} +1 -1
- package/storybook-static/assets/{GlassSurface.stories-CrZqAGRq.js → GlassSurface.stories-Dj1kCNDg.js} +1 -1
- package/storybook-static/assets/{GlitchText.stories-BRqI-kBX.js → GlitchText.stories-DcGDGtvN.js} +1 -1
- package/storybook-static/assets/{GooeyNav.stories-DjR0-Th2.js → GooeyNav.stories-yae-ax1k.js} +1 -1
- package/storybook-static/assets/{GradientBlinds.stories-CiIDtPz3.js → GradientBlinds.stories-B7h647VQ.js} +1 -1
- package/storybook-static/assets/{GradientText.stories-pLA_An71.js → GradientText.stories-BPUXNES_.js} +1 -1
- package/storybook-static/assets/{Grainient.stories-BthRrRMd.js → Grainient.stories-BjFhc8gt.js} +1 -1
- package/storybook-static/assets/{GridMotion.stories-BSwjL8IE.js → GridMotion.stories-Bm8YB3Nc.js} +1 -1
- package/storybook-static/assets/{ImageSlideshow.stories-BYAQMHlZ.js → ImageSlideshow.stories-BT5Pfqt3.js} +6 -11
- package/storybook-static/assets/{Iridescence.stories-ChHTH2TM.js → Iridescence.stories-DysieilC.js} +1 -1
- package/storybook-static/assets/{LaserFlow.stories-DlDx8Vr8.js → LaserFlow.stories-BJMXiU6b.js} +1 -1
- package/storybook-static/assets/{LetterGlitch.stories-C-S2SRjU.js → LetterGlitch.stories-Qpkbs2x5.js} +1 -1
- package/storybook-static/assets/{LightPillar.stories-D0PF-h7T.js → LightPillar.stories-D7r7SjN3.js} +1 -1
- package/storybook-static/assets/{LightRays.stories-Cbkl7wuP.js → LightRays.stories-CSmrA40u.js} +1 -1
- package/storybook-static/assets/{Lightning.stories-BUs-gwYj.js → Lightning.stories-0zr6qZVm.js} +1 -1
- package/storybook-static/assets/{LineWaves.stories-D2GXzteP.js → LineWaves.stories-KgMfrrqs.js} +1 -1
- package/storybook-static/assets/{LiquidChrome.stories-CtDp7th1.js → LiquidChrome.stories-B8ZLHoH1.js} +1 -1
- package/storybook-static/assets/{LiquidEther.stories-DM2n5oEm.js → LiquidEther.stories-C4k9P7aN.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner-DaUSIVPY.js → LoadingSpinner-Cy3HB7-7.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner.stories-Cx4_nNAf.js → LoadingSpinner.stories-DDNFJhwe.js} +1 -1
- package/storybook-static/assets/{MagicRings.stories-CZt-cHcL.js → MagicRings.stories-UqocGxaQ.js} +1 -1
- package/storybook-static/assets/{Magnet.stories-B6js1VeO.js → Magnet.stories-BxvO0Fqj.js} +1 -1
- package/storybook-static/assets/{MagnetLines.stories-BKQ9YC_E.js → MagnetLines.stories-BMqOFHvT.js} +1 -1
- package/storybook-static/assets/{Masonry.stories-BGkTkNUa.js → Masonry.stories-CLwqpLTU.js} +1 -1
- package/storybook-static/assets/{MetaBalls.stories-Cao6Tqjg.js → MetaBalls.stories-B_lPmlPu.js} +1 -1
- package/storybook-static/assets/{MetallicPaint.stories-DF9qb3W_.js → MetallicPaint.stories-9AWQepP6.js} +1 -1
- package/storybook-static/assets/{MoodChart.stories-AGxwnR6s.js → MoodChart.stories-B6LHsTmy.js} +1 -1
- package/storybook-static/assets/{MotionConfigContext-BCa1jVYq.js → MotionConfigContext-CJ0kpWbz.js} +1 -1
- package/storybook-static/assets/{Navbar.stories-CFHb1c22.js → Navbar.stories-Cag40GVb.js} +1 -1
- package/storybook-static/assets/{Noise.stories-ConXbyqm.js → Noise.stories-BukT-fj1.js} +1 -1
- package/storybook-static/assets/{NumberStepper-DH9y3k8b.js → NumberStepper-Ut_VByYA.js} +1 -1
- package/storybook-static/assets/{NumberStepper.stories-PMwPqbsn.js → NumberStepper.stories-3y594BTK.js} +1 -1
- package/storybook-static/assets/{Orb.stories-DcXSWhV1.js → Orb.stories-B45u5gJo.js} +1 -1
- package/storybook-static/assets/{OrbitImages.stories-Dk417qKA.js → OrbitImages.stories-B_7X-GMA.js} +1 -1
- package/storybook-static/assets/{PieChart.stories-6sgfe6Xk.js → PieChart.stories-DLrtlyWH.js} +1 -1
- package/storybook-static/assets/{PixelBlast.stories-_cBuognT.js → PixelBlast.stories-C4ZAaMH_.js} +1 -1
- package/storybook-static/assets/{PixelCard.stories-D_EZOUox.js → PixelCard.stories-CaOGvNQ_.js} +1 -1
- package/storybook-static/assets/{PixelSnow.stories-DcD7737G.js → PixelSnow.stories-CGmFGV3L.js} +1 -1
- package/storybook-static/assets/{PixelTransition.stories-BwNcUv5J.js → PixelTransition.stories-DzTJZhF-.js} +1 -1
- package/storybook-static/assets/{Plasma.stories-BLolMCfR.js → Plasma.stories-CoyLfj7o.js} +1 -1
- package/storybook-static/assets/{Prism.stories-CG2_KGsq.js → Prism.stories-D2E3ZI6g.js} +1 -1
- package/storybook-static/assets/{PrismaticBurst.stories-DzS--Ffu.js → PrismaticBurst.stories-B8PJhK5n.js} +1 -1
- package/storybook-static/assets/{ProfileCard.stories-vI_ispYe.js → ProfileCard.stories-CbRCcyd9.js} +1 -1
- package/storybook-static/assets/{QuantifiableHabitsChart.stories-D5yeGCZ5.js → QuantifiableHabitsChart.stories-BCrpnpyh.js} +1 -1
- package/storybook-static/assets/{Radar.stories-DLv_hY9T.js → Radar.stories-B-Ki4OHb.js} +1 -1
- package/storybook-static/assets/{Ribbons.stories-4BbVINtW.js → Ribbons.stories-DMBczKgc.js} +1 -1
- package/storybook-static/assets/{RippleGrid.stories-CFh8tigy.js → RippleGrid.stories-C8dKr2CX.js} +1 -1
- package/storybook-static/assets/{RotatingText.stories-AM4GcpU2.js → RotatingText.stories-DJu0v3mv.js} +1 -1
- package/storybook-static/assets/{ScrollFloat.stories-Ct_ZkL7k.js → ScrollFloat.stories-B_edvvO1.js} +1 -1
- package/storybook-static/assets/{ScrollReveal.stories-B7fcgLZ3.js → ScrollReveal.stories-DTYFesNE.js} +1 -1
- package/storybook-static/assets/{ScrollVelocity.stories-BRDv3Fdk.js → ScrollVelocity.stories-B2O7zZ2t.js} +1 -1
- package/storybook-static/assets/{SearchBar.stories-Dnmegbak.js → SearchBar.stories-CUEF7Ba4.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown-BtIsuxmT.js → SearchableDropdown-C6KY2mIJ.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown.stories-DVub17TN.js → SearchableDropdown.stories-DbSJdUAJ.js} +1 -1
- package/storybook-static/assets/{SelectInput-C0kBLYgX.js → SelectInput-tDvouCuN.js} +1 -1
- package/storybook-static/assets/{SelectInput.stories-HoF32-Km.js → SelectInput.stories-C6apSsWx.js} +1 -1
- package/storybook-static/assets/{ShapeBlur.stories-C3RyLvBh.js → ShapeBlur.stories-DVQs_Ng0.js} +1 -1
- package/storybook-static/assets/{ShapeGrid.stories-ltmu466o.js → ShapeGrid.stories-BjibW7b1.js} +1 -1
- package/storybook-static/assets/{ShinyText.stories-JO2F4CpJ.js → ShinyText.stories-DTezLW7e.js} +1 -1
- package/storybook-static/assets/{Silk.stories-CUzWiwqP.js → Silk.stories-fZbeNXOO.js} +1 -1
- package/storybook-static/assets/{SleepChart.stories-YvCzf0BI.js → SleepChart.stories-nqH0hgCL.js} +1 -1
- package/storybook-static/assets/{Slider-CI9mXQSu.js → Slider-DIeyN9Hx.js} +1 -1
- package/storybook-static/assets/{Slider.stories-DQYlBjGq.js → Slider.stories-BzcscFcU.js} +1 -1
- package/storybook-static/assets/{SoftAurora.stories-ubq_KV8Q.js → SoftAurora.stories-Cvtf3TKB.js} +1 -1
- package/storybook-static/assets/{SoundDemo.stories-Cie-leKw.js → SoundDemo.stories-Dpq3K-yq.js} +1 -1
- package/storybook-static/assets/{SplashCursor.stories-Clea3dMy.js → SplashCursor.stories-Y5zBSBCL.js} +1 -1
- package/storybook-static/assets/{SpotlightCard.stories-BWv0AuTI.js → SpotlightCard.stories-B1KBEp6T.js} +1 -1
- package/storybook-static/assets/{Stack.stories-DxVGTJ6l.js → Stack.stories-CA5YToyH.js} +1 -1
- package/storybook-static/assets/{StaggeredMenu.stories-1UB8ravq.js → StaggeredMenu.stories-BvQIujuB.js} +1 -1
- package/storybook-static/assets/{StarBorder.stories-DiSAqN3r.js → StarBorder.stories-CHtwoVna.js} +1 -1
- package/storybook-static/assets/{SunburstChart.stories-DLjQA_I1.js → SunburstChart.stories-Ch-ivaQT.js} +1 -1
- package/storybook-static/assets/{Table.stories-wQGb96WC.js → Table.stories-CvYZiI3H.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-jkioQ4xt.js → Tabs.stories-BN3Icfzj.js} +1 -1
- package/storybook-static/assets/{TargetCursor.stories-B4ACbrmW.js → TargetCursor.stories-D1PTwE36.js} +1 -1
- package/storybook-static/assets/{TextArea-DN6IYITs.js → TextArea-DKtwryA1.js} +1 -1
- package/storybook-static/assets/{TextArea.stories-CwLLZFoD.js → TextArea.stories-CxsYukYi.js} +1 -1
- package/storybook-static/assets/{TextCursor.stories-NORQhkfy.js → TextCursor.stories-BouFdSlt.js} +1 -1
- package/storybook-static/assets/{TextInput-CLgIGUn3.js → TextInput-CsK2bPrD.js} +1 -1
- package/storybook-static/assets/{TextInput.stories-BNooOWA2.js → TextInput.stories-fZ3j5ID4.js} +1 -1
- package/storybook-static/assets/{TextPressure.stories-BaCAyBD4.js → TextPressure.stories-B6pN9RLp.js} +1 -1
- package/storybook-static/assets/{TextType.stories-DG4mQ3HF.js → TextType.stories-C9jm9TdC.js} +1 -1
- package/storybook-static/assets/{ThemeSwitcher.stories-slxIamHU.js → ThemeSwitcher.stories-DHJZPEtd.js} +1 -1
- package/storybook-static/assets/{Threads.stories-Rsg8lRsX.js → Threads.stories-BiH2lkaI.js} +1 -1
- package/storybook-static/assets/{TimeInput.stories-CaO8_PY2.js → TimeInput.stories-DOyFcxE2.js} +1 -1
- package/storybook-static/assets/{Toggle-CTTN-13k.js → Toggle-sPP5IZcW.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-DrNYDjFB.js → Toggle.stories-D5BPv-SU.js} +1 -1
- package/storybook-static/assets/{ToggleButton-CXK855yx.js → ToggleButton-DmyfG7tC.js} +1 -1
- package/storybook-static/assets/{ToggleButton.stories-DNsNH9vH.js → ToggleButton.stories-B1AcmGcL.js} +1 -1
- package/storybook-static/assets/{TrueFocus.stories-zG6Ml8RP.js → TrueFocus.stories-CYVbY0Hb.js} +1 -1
- package/storybook-static/assets/{VariableProximity.stories-CMZW-Tov.js → VariableProximity.stories-BZRrDkSH.js} +1 -1
- package/storybook-static/assets/{Waves.stories-CscXTp_S.js → Waves.stories-D9BkuCeQ.js} +1 -1
- package/storybook-static/assets/{check-DLeHG_Da.js → check-B3Ha7gnS.js} +1 -1
- package/storybook-static/assets/{chevron-down-Ciks5pXx.js → chevron-down-DlPO5f1Y.js} +1 -1
- package/storybook-static/assets/{chevron-right-DjeluSA0.js → chevron-right-B8eoaBIh.js} +1 -1
- package/storybook-static/assets/client-DxIdGip8.js +1 -0
- package/storybook-static/assets/{createLucideIcon-dvowvj4F.js → createLucideIcon-G8N511cp.js} +1 -1
- package/storybook-static/assets/download-w1NWX-h6.js +6 -0
- package/storybook-static/assets/{folder-CCqkDvFG.js → folder-JRyPzO6h.js} +1 -1
- package/storybook-static/assets/{iconBase-nrk1zV8Q.js → iconBase-DxMTUG9N.js} +1 -1
- package/storybook-static/assets/{iframe-Cw8dCV4Z.js → iframe-DCkPNH_h.js} +3 -3
- package/storybook-static/assets/{index-CzApopWo.js → index-BTVArzym.js} +1 -1
- package/storybook-static/assets/{index-A7l1uA6_.js → index-BW6Op62F.js} +1 -1
- package/storybook-static/assets/{index-Bm5msOcI.js → index-CsT-CD6f.js} +1 -1
- package/storybook-static/assets/{proxy-p8L3T_Zy.js → proxy-cgPyYfyG.js} +1 -1
- package/storybook-static/assets/{react-18-D7YhBYbX.js → react-18-YVQChixo.js} +1 -1
- package/storybook-static/assets/{react-three-fiber.esm-BnMrba87.js → react-three-fiber.esm-_mYjl9J6.js} +1 -1
- package/storybook-static/assets/{search-7V6DOf2z.js → search-DioxI_xb.js} +1 -1
- package/storybook-static/assets/{settings-B8s5hJGs.js → settings-DFQ10p72.js} +1 -1
- package/storybook-static/assets/{sun-5V6ee2LJ.js → sun-BfIldVmy.js} +1 -1
- package/storybook-static/assets/{trash-2-DeQvYdO7.js → trash-2-DqTvgQRR.js} +1 -1
- package/storybook-static/assets/{use-animation-frame-DovyG_Es.js → use-animation-frame-CnngNm80.js} +1 -1
- package/storybook-static/assets/{use-in-view-Dv3LTdsl.js → use-in-view-DLYDN0EG.js} +1 -1
- package/storybook-static/assets/{use-motion-value-BVm7csqA.js → use-motion-value-Ud8-h3gV.js} +1 -1
- package/storybook-static/assets/{use-spring-BkrdNVnG.js → use-spring-DcEBTvl_.js} +1 -1
- package/storybook-static/assets/{use-transform-CQNghMvr.js → use-transform-8mNuLPFu.js} +1 -1
- package/storybook-static/assets/{useSound-D23BsIr4.js → useSound-Cv_O9Yec.js} +1 -1
- package/storybook-static/assets/{users-R6T-yLyH.js → users-B5lo7ErU.js} +1 -1
- package/storybook-static/assets/{x-CypMgsiv.js → x-CgTXkpyT.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/index.json +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/assets/Calendar-BZCyXxvF.css +0 -1
- package/storybook-static/assets/Calendar.stories-D5CKBagI.js +0 -321
- package/storybook-static/assets/client-D1KVnN68.js +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type ExportFormat } from './exportEvents';
|
|
1
2
|
/**
|
|
2
3
|
* Generic calendar event interface - flexible for any use case
|
|
3
4
|
* @interface CalendarEvent
|
|
@@ -133,6 +134,9 @@ export interface CalendarProps {
|
|
|
133
134
|
selectedCategoryId?: string | null;
|
|
134
135
|
/** Called when the user picks a pill in the category filter. `null` = "All". */
|
|
135
136
|
onCategoryChange?: (categoryId: string | null) => void;
|
|
137
|
+
/** Offer an "Export" dropdown in the header with the given formats. Exports the currently
|
|
138
|
+
* filtered events (respects category filter). Omit or pass `[]` to hide the button. */
|
|
139
|
+
exportFormats?: ExportFormat[];
|
|
136
140
|
}
|
|
137
141
|
/**
|
|
138
142
|
* Calendar component - A flexible, reusable calendar for displaying events
|
|
@@ -163,5 +167,5 @@ export interface CalendarProps {
|
|
|
163
167
|
* onEventClick={handleEventClick}
|
|
164
168
|
* />
|
|
165
169
|
*/
|
|
166
|
-
export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, onEventComplete, onEventDelete, onEventEdit, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader, compact, selectedDate, selectedCategoryId, onCategoryChange }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
170
|
+
export declare function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDateClickByView, onTimeSlotClick, onEventDrop, onEventComplete, onEventDelete, onEventEdit, viewMode, initialDate, config, className, style, loading, emptyState, hideHeader, compact, selectedDate, selectedCategoryId, onCategoryChange, exportFormats }: CalendarProps): import("react/jsx-runtime").JSX.Element;
|
|
167
171
|
//# sourceMappingURL=Calendar.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,7 @@ export declare const WithWeekNumbers: Story;
|
|
|
38
38
|
export declare const OverflowDay: Story;
|
|
39
39
|
export declare const Loading: Story;
|
|
40
40
|
export declare const Empty: Story;
|
|
41
|
+
export declare const WithExport: Story;
|
|
41
42
|
export declare const WithCategoryFilter: Story;
|
|
42
43
|
export declare const ControlledSelection: Story;
|
|
43
44
|
//# sourceMappingURL=Calendar.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAE1D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA2EnC,eAAO,MAAM,OAAO,EAAE,KA2CrB,CAAC;AAIF,eAAO,MAAM,QAAQ,EAAE,KAgGtB,CAAC;AAKF,eAAO,MAAM,OAAO,EAAE,KA6ErB,CAAC;
|
|
1
|
+
{"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAsB,MAAM,YAAY,CAAC;AAE1D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;CAeuB,CAAC;AAElC,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AA2EnC,eAAO,MAAM,OAAO,EAAE,KA2CrB,CAAC;AAIF,eAAO,MAAM,QAAQ,EAAE,KAgGtB,CAAC;AAKF,eAAO,MAAM,OAAO,EAAE,KA6ErB,CAAC;AAMF,eAAO,MAAM,YAAY,EAAE,KAsB1B,CAAC;AAIF,eAAO,MAAM,eAAe,EAAE,KAU7B,CAAC;AAIF,eAAO,MAAM,WAAW,EAAE,KAiBzB,CAAC;AAGF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAGF,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC;AAMF,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAKF,eAAO,MAAM,kBAAkB,EAAE,KAoBhC,CAAC;AAKF,eAAO,MAAM,mBAAmB,EAAE,KAoBjC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CalendarEvent } from './Calendar';
|
|
2
|
+
export type ExportFormat = 'csv' | 'json' | 'toon';
|
|
3
|
+
export declare const toCsv: (events: CalendarEvent[]) => string;
|
|
4
|
+
export declare const toJson: (events: CalendarEvent[]) => string;
|
|
5
|
+
export declare const toToon: (events: CalendarEvent[]) => string;
|
|
6
|
+
export declare const serializeEvents: (events: CalendarEvent[], format: ExportFormat) => string;
|
|
7
|
+
export declare const downloadEvents: (events: CalendarEvent[], format: ExportFormat, filename?: string) => void;
|
|
8
|
+
//# sourceMappingURL=exportEvents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exportEvents.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/Calendar/exportEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AA6BnD,eAAO,MAAM,KAAK,GAAI,QAAQ,aAAa,EAAE,KAAG,MAO/C,CAAC;AAEF,eAAO,MAAM,MAAM,GAAI,QAAQ,aAAa,EAAE,KAAG,MAEhD,CAAC;AAYF,eAAO,MAAM,MAAM,GAAI,QAAQ,aAAa,EAAE,KAAG,MAOhD,CAAC;AAcF,eAAO,MAAM,eAAe,GAAI,QAAQ,aAAa,EAAE,EAAE,QAAQ,YAAY,KAAG,MAI/E,CAAC;AAEF,eAAO,MAAM,cAAc,GACvB,QAAQ,aAAa,EAAE,EACvB,QAAQ,YAAY,EACpB,WAAW,MAAM,SAYpB,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { motion, AnimatePresence, useMotionValue, useTransform, animate, LayoutGroup } from 'framer-motion';
|
|
3
3
|
import React, { useRef, useEffect, useCallback, useState, createContext, useContext, useMemo, Fragment as Fragment$1, memo } from 'react';
|
|
4
4
|
import { createPortal } from 'react-dom';
|
|
5
|
-
import { X, Calendar as Calendar$1, ChevronDown, Search, Check, Edit, Folder, Users, Book, MessageSquare, UserPlus, Clock, Sun, Moon, Info, Github, SquareKanban, ChevronRight, Plus, Trash2, GripVertical, Pencil, Menu, ChevronLeft, Maximize,
|
|
5
|
+
import { X, Calendar as Calendar$1, ChevronDown, Search, Check, Edit, Folder, Users, Book, MessageSquare, UserPlus, Clock, Sun, Moon, Info, Github, SquareKanban, ChevronRight, Plus, Trash2, GripVertical, Pencil, Download, Menu, ChevronLeft, Maximize, Share2, Pause, Play } from 'lucide-react';
|
|
6
6
|
import * as d3 from 'd3';
|
|
7
7
|
|
|
8
8
|
var styles$A = {"button":"Button-module_button__c6nkW","primary":"Button-module_primary__pMqAs","secondary":"Button-module_secondary__mBWx9","outline":"Button-module_outline__NGGGN","ghost":"Button-module_ghost__u2QBF","danger":"Button-module_danger__2ewhr","small":"Button-module_small__ZI9RX","medium":"Button-module_medium__Wnf9t","large":"Button-module_large__cQCpA","fullWidth":"Button-module_fullWidth__N8vYg","loading":"Button-module_loading__hcSI4","spinner":"Button-module_spinner__HtM96","spin":"Button-module_spin__jblrj","iconLeft":"Button-module_iconLeft__Fpz-y","iconRight":"Button-module_iconRight__kTfjS"};
|
|
@@ -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$b.actionLabel, children: action.label })] }, action.key))) })) }), jsx(motion.button, { type: "button", className: styles$b.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$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","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"};
|
|
2957
|
+
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"};
|
|
2958
2958
|
|
|
2959
2959
|
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"};
|
|
2960
2960
|
|
|
@@ -3026,6 +3026,92 @@ const DayEventCard = ({ event, color, textColor, onComplete, onEdit, onDelete, o
|
|
|
3026
3026
|
}, "aria-label": "Edit event", children: jsx(Pencil, { size: 13 }) }))] })] }));
|
|
3027
3027
|
};
|
|
3028
3028
|
|
|
3029
|
+
const EXPORT_FIELDS = [
|
|
3030
|
+
'id', 'title', 'date', 'time', 'endTime', 'allDay',
|
|
3031
|
+
'type', 'status', 'priority', 'category',
|
|
3032
|
+
];
|
|
3033
|
+
const toIsoDate = (d) => {
|
|
3034
|
+
const date = typeof d === 'string' ? new Date(d) : d;
|
|
3035
|
+
return date.toISOString();
|
|
3036
|
+
};
|
|
3037
|
+
const normalize = (event) => {
|
|
3038
|
+
const row = {};
|
|
3039
|
+
for (const f of EXPORT_FIELDS) {
|
|
3040
|
+
const v = event[f];
|
|
3041
|
+
if (v === undefined)
|
|
3042
|
+
continue;
|
|
3043
|
+
row[f] = f === 'date' ? toIsoDate(v) : v;
|
|
3044
|
+
}
|
|
3045
|
+
return row;
|
|
3046
|
+
};
|
|
3047
|
+
const escCsv = (value) => {
|
|
3048
|
+
if (value === undefined || value === null)
|
|
3049
|
+
return '';
|
|
3050
|
+
const s = String(value);
|
|
3051
|
+
if (/[",\n\r]/.test(s))
|
|
3052
|
+
return `"${s.replace(/"/g, '""')}"`;
|
|
3053
|
+
return s;
|
|
3054
|
+
};
|
|
3055
|
+
const toCsv = (events) => {
|
|
3056
|
+
const header = EXPORT_FIELDS.join(',');
|
|
3057
|
+
const rows = events.map(e => {
|
|
3058
|
+
const n = normalize(e);
|
|
3059
|
+
return EXPORT_FIELDS.map(f => escCsv(n[f])).join(',');
|
|
3060
|
+
});
|
|
3061
|
+
return [header, ...rows].join('\n');
|
|
3062
|
+
};
|
|
3063
|
+
const toJson = (events) => {
|
|
3064
|
+
return JSON.stringify(events.map(normalize), null, 2);
|
|
3065
|
+
};
|
|
3066
|
+
// TOON (Token-Oriented Object Notation): compact tabular text for uniform arrays.
|
|
3067
|
+
// Format: `events[N]{field1,field2,...}:` then indented rows of comma-separated values.
|
|
3068
|
+
// Strings containing comma/quote/newline are wrapped in double quotes with "" escaping.
|
|
3069
|
+
const escToon = (value) => {
|
|
3070
|
+
if (value === undefined || value === null)
|
|
3071
|
+
return '';
|
|
3072
|
+
const s = String(value);
|
|
3073
|
+
if (/[",\n\r]/.test(s))
|
|
3074
|
+
return `"${s.replace(/"/g, '""')}"`;
|
|
3075
|
+
return s;
|
|
3076
|
+
};
|
|
3077
|
+
const toToon = (events) => {
|
|
3078
|
+
const header = `events[${events.length}]{${EXPORT_FIELDS.join(',')}}:`;
|
|
3079
|
+
const rows = events.map(e => {
|
|
3080
|
+
const n = normalize(e);
|
|
3081
|
+
return ' ' + EXPORT_FIELDS.map(f => escToon(n[f])).join(',');
|
|
3082
|
+
});
|
|
3083
|
+
return [header, ...rows].join('\n');
|
|
3084
|
+
};
|
|
3085
|
+
const MIME = {
|
|
3086
|
+
csv: 'text/csv;charset=utf-8;',
|
|
3087
|
+
json: 'application/json;charset=utf-8;',
|
|
3088
|
+
toon: 'text/plain;charset=utf-8;',
|
|
3089
|
+
};
|
|
3090
|
+
const EXT = {
|
|
3091
|
+
csv: 'csv',
|
|
3092
|
+
json: 'json',
|
|
3093
|
+
toon: 'toon',
|
|
3094
|
+
};
|
|
3095
|
+
const serializeEvents = (events, format) => {
|
|
3096
|
+
if (format === 'csv')
|
|
3097
|
+
return toCsv(events);
|
|
3098
|
+
if (format === 'json')
|
|
3099
|
+
return toJson(events);
|
|
3100
|
+
return toToon(events);
|
|
3101
|
+
};
|
|
3102
|
+
const downloadEvents = (events, format, filename) => {
|
|
3103
|
+
const content = serializeEvents(events, format);
|
|
3104
|
+
const blob = new Blob([content], { type: MIME[format] });
|
|
3105
|
+
const url = URL.createObjectURL(blob);
|
|
3106
|
+
const a = document.createElement('a');
|
|
3107
|
+
a.href = url;
|
|
3108
|
+
a.download = `events-${new Date().toISOString().slice(0, 10)}.${EXT[format]}`;
|
|
3109
|
+
document.body.appendChild(a);
|
|
3110
|
+
a.click();
|
|
3111
|
+
document.body.removeChild(a);
|
|
3112
|
+
URL.revokeObjectURL(url);
|
|
3113
|
+
};
|
|
3114
|
+
|
|
3029
3115
|
/**
|
|
3030
3116
|
* Calendar component - A flexible, reusable calendar for displaying events
|
|
3031
3117
|
*
|
|
@@ -3055,7 +3141,7 @@ const DayEventCard = ({ event, color, textColor, onComplete, onEdit, onDelete, o
|
|
|
3055
3141
|
* onEventClick={handleEventClick}
|
|
3056
3142
|
* />
|
|
3057
3143
|
*/
|
|
3058
|
-
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 }) {
|
|
3144
|
+
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 }) {
|
|
3059
3145
|
const [currentDate, setCurrentDate] = useState(initialDate);
|
|
3060
3146
|
const [currentViewMode, setCurrentViewMode] = useState(viewMode);
|
|
3061
3147
|
const [internalCategoryId, setInternalCategoryId] = useState(null);
|
|
@@ -3068,6 +3154,19 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3068
3154
|
};
|
|
3069
3155
|
const dayViewScrollRef = useRef(null);
|
|
3070
3156
|
const weekViewScrollRef = useRef(null);
|
|
3157
|
+
const [exportOpen, setExportOpen] = useState(false);
|
|
3158
|
+
const exportRef = useRef(null);
|
|
3159
|
+
useEffect(() => {
|
|
3160
|
+
if (!exportOpen)
|
|
3161
|
+
return;
|
|
3162
|
+
const handler = (e) => {
|
|
3163
|
+
if (exportRef.current && !exportRef.current.contains(e.target)) {
|
|
3164
|
+
setExportOpen(false);
|
|
3165
|
+
}
|
|
3166
|
+
};
|
|
3167
|
+
document.addEventListener('mousedown', handler);
|
|
3168
|
+
return () => document.removeEventListener('mousedown', handler);
|
|
3169
|
+
}, [exportOpen]);
|
|
3071
3170
|
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;
|
|
3072
3171
|
const filteredEvents = useMemo(() => {
|
|
3073
3172
|
if (!categories || categories.length === 0 || activeCategoryId === null)
|
|
@@ -3280,7 +3379,10 @@ function Calendar({ events, onEventClick, onDateClick, onEventClickByView, onDat
|
|
|
3280
3379
|
return (jsxs("div", { className: `${styles$a.calendar} ${compact ? styles$a.compact : ''} ${className}`, style: style, children: [!hideHeader && (jsxs("div", { className: styles$a.header, children: [jsxs("div", { className: styles$a.navigation, children: [jsx("button", { onClick: handlePrevious, className: styles$a.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$a.title, children: calendarData.displayTitle }), jsx("button", { onClick: handleNext, className: styles$a.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" }) }) })] }), categories && categories.length > 0 && (jsxs("div", { className: styles$a.filterBar, role: "tablist", "aria-label": "Filter by category", children: [jsx("button", { type: "button", role: "tab", "aria-selected": activeCategoryId === null, className: `${styles$a.filterPill} ${activeCategoryId === null ? styles$a.filterPillActive : ''}`, onClick: () => handleCategoryPick(null), children: "All" }), categories.map(cat => {
|
|
3281
3380
|
const active = activeCategoryId === cat.id;
|
|
3282
3381
|
return (jsxs("button", { type: "button", role: "tab", "aria-selected": active, className: `${styles$a.filterPill} ${active ? styles$a.filterPillActive : ''}`, style: active ? { background: cat.color, borderColor: cat.color, color: '#ffffff' } : undefined, onClick: () => handleCategoryPick(cat.id), children: [!active && (jsx("span", { className: styles$a.filterDot, style: { background: cat.color } })), cat.label] }, cat.id));
|
|
3283
|
-
})] })), jsxs("div", { className: styles$a.controls, children: [
|
|
3382
|
+
})] })), jsxs("div", { className: styles$a.controls, children: [exportFormats && exportFormats.length > 0 && (jsxs("div", { className: styles$a.exportDropdown, ref: exportRef, children: [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: jsx(Download, { size: 16 }) }), exportOpen && (jsx("div", { className: styles$a.exportMenu, role: "menu", children: exportFormats.map(format => (jsx("button", { type: "button", role: "menuitem", className: styles$a.exportMenuItem, onClick: () => {
|
|
3383
|
+
downloadEvents(filteredEvents, format);
|
|
3384
|
+
setExportOpen(false);
|
|
3385
|
+
}, children: format.toUpperCase() }, format))) }))] })), jsx("button", { onClick: handleToday, className: styles$a.todayButton, children: "Today" }), jsxs("div", { className: styles$a.viewToggle, children: [jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'month' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('month'), children: "Month" }), jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'week' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('week'), children: "Week" }), jsx("button", { className: `${styles$a.viewButton} ${currentViewMode === 'day' ? styles$a.active : ''}`, onClick: () => setCurrentViewMode('day'), children: "Day" })] })] })] })), currentViewMode === 'month' && (jsxs("div", { className: `${styles$a.weekDays} ${showWeekNumbers ? styles$a.withWeekNumbers : ''}`, children: [showWeekNumbers && jsx("div", { className: styles$a.weekNumberHeader, children: "Wk" }), finalDayLabels.map((day) => (jsx("div", { className: styles$a.weekDay, children: day }, day)))] })), currentViewMode === 'day' ? (
|
|
3284
3386
|
// Day view layout — positioned events with duration, all-day strip, now-line
|
|
3285
3387
|
(() => {
|
|
3286
3388
|
const dayEvents = getDayEvents(currentDate);
|