@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.
- package/dist/components/organisms/Calendar/Calendar.d.ts +16 -2
- package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
- package/dist/index.esm.js +78 -67
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +78 -67
- 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-DpBtrb9i.js → ASCIIText.stories-Cb8HvABR.js} +1 -1
- package/storybook-static/assets/{AllAtoms.stories-C2hvLJ8w.js → AllAtoms.stories-Disxvghm.js} +1 -1
- package/storybook-static/assets/{AnimatedContent.stories-Di9Q7t9j.js → AnimatedContent.stories-jVAgBFE2.js} +1 -1
- package/storybook-static/assets/{AnimatedList.stories-BGyYB85Y.js → AnimatedList.stories-Di-vE601.js} +1 -1
- package/storybook-static/assets/{Antigravity.stories-Do1dnEK_.js → Antigravity.stories-CE90HCpY.js} +1 -1
- package/storybook-static/assets/{ArrayInput.stories-CNtTKUF0.js → ArrayInput.stories-DgSsXJly.js} +1 -1
- package/storybook-static/assets/{Aurora.stories-DHuVs0Nh.js → Aurora.stories-DrVAkdjt.js} +1 -1
- package/storybook-static/assets/{Beams.stories-C0fr646Y.js → Beams.stories-BSVIpqQ0.js} +1 -1
- package/storybook-static/assets/{BlobCursor.stories-CQmLI7VF.js → BlobCursor.stories-C3EgjAh2.js} +1 -1
- package/storybook-static/assets/{BlurText.stories-Bqhf_75C.js → BlurText.stories-DJVDRdFo.js} +1 -1
- package/storybook-static/assets/{BooleansHeatmap.stories-CSTfHU8X.js → BooleansHeatmap.stories-B_9cPYMM.js} +1 -1
- package/storybook-static/assets/{BorderGlow.stories-DllLrSOi.js → BorderGlow.stories-B_wdQUgw.js} +1 -1
- package/storybook-static/assets/{BubbleMenu.stories-By8eacsb.js → BubbleMenu.stories-DpLYYw_z.js} +1 -1
- package/storybook-static/assets/{Button-2CSvbnXB.js → Button-DK4vPDdE.js} +1 -1
- package/storybook-static/assets/{Button.stories-CMFODsAR.js → Button.stories-dpSafIdz.js} +1 -1
- package/storybook-static/assets/Calendar-CreieAui.css +1 -0
- package/storybook-static/assets/Calendar.stories-lRbXwh4f.js +470 -0
- package/storybook-static/assets/{Card-DZVLYsdd.js → Card--7bShmQv.js} +1 -1
- package/storybook-static/assets/{Card.stories-DisHmL7k.js → Card.stories-C9cPoCVI.js} +1 -1
- package/storybook-static/assets/{CardNav.stories-e50-9J_A.js → CardNav.stories-1WFeombk.js} +1 -1
- package/storybook-static/assets/{Carousel.stories-B-rI6jNr.js → Carousel.stories-CPp1bcnx.js} +1 -1
- package/storybook-static/assets/{Checkbox-D7FUqeuB.js → Checkbox-BZ4OK19r.js} +1 -1
- package/storybook-static/assets/{Checkbox.stories-CyIVTBxZ.js → Checkbox.stories-pzFmZn7E.js} +1 -1
- package/storybook-static/assets/{ChromaGrid.stories-S1cYuc5_.js → ChromaGrid.stories-Nunq8QCK.js} +1 -1
- package/storybook-static/assets/{CircularGallery.stories-DRrEcX-Y.js → CircularGallery.stories-C6B3QdGe.js} +1 -1
- package/storybook-static/assets/{CircularText.stories-CHoRy-lV.js → CircularText.stories-x-CZkrWE.js} +1 -1
- package/storybook-static/assets/{ClickSpark.stories-DbPNmGUE.js → ClickSpark.stories-BgEy72nd.js} +1 -1
- package/storybook-static/assets/{Color-AVL7NMMY-C-H2x7hU.js → Color-AVL7NMMY-BH2T5gYv.js} +1 -1
- package/storybook-static/assets/{ColorBends.stories-BVGGr3v3.js → ColorBends.stories-l5hP9mw3.js} +1 -1
- package/storybook-static/assets/{CountUp.stories-Ofg9f0h2.js → CountUp.stories-f4Xo5-1D.js} +1 -1
- package/storybook-static/assets/{Counter.stories-CsO7AtIx.js → Counter.stories-Cq0esRYp.js} +1 -1
- package/storybook-static/assets/{Crosshair.stories-kyfwqcvB.js → Crosshair.stories-cmjX8jB1.js} +1 -1
- package/storybook-static/assets/{Cubes.stories-hA-HjWNO.js → Cubes.stories-Deum-zPK.js} +1 -1
- package/storybook-static/assets/{CurvedLoop.stories-CHdhTRmN.js → CurvedLoop.stories-CaRb6vtE.js} +1 -1
- package/storybook-static/assets/{DarkVeil.stories-B68s8uCO.js → DarkVeil.stories-DtKNrEKT.js} +1 -1
- package/storybook-static/assets/{DateInput-DYaAr-pD.js → DateInput-Dhe5jlzS.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-D8DGjdAu.js → DateInput.stories-tMfHI-jT.js} +1 -1
- package/storybook-static/assets/{DecayCard.stories-RASuy9DU.js → DecayCard.stories-DOejb79q.js} +1 -1
- package/storybook-static/assets/{DecryptedText.stories-BYt96S4h.js → DecryptedText.stories-ZJFOqvcs.js} +1 -1
- package/storybook-static/assets/{Dither.stories-BoRhWSS3.js → Dither.stories-BteQ8qaz.js} +1 -1
- package/storybook-static/assets/{Dock.stories-HG_pJS3N.js → Dock.stories-CjgGmbrT.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-PQXLIZUC-DhsqOTVk.js → DocsRenderer-PQXLIZUC-CDqlUQhE.js} +4 -4
- package/storybook-static/assets/{EditFAB.stories-CTGHZ2-N.js → EditFAB.stories-HiEYPWDM.js} +1 -1
- package/storybook-static/assets/{EvilEye.stories-CIq_GN_B.js → EvilEye.stories-Dh40voJH.js} +1 -1
- package/storybook-static/assets/{FadeContent.stories-D4XSUqNs.js → FadeContent.stories-APJ9w9po.js} +1 -1
- package/storybook-static/assets/{FaultyTerminal.stories-D47h3D9_.js → FaultyTerminal.stories-B1QU0me7.js} +1 -1
- package/storybook-static/assets/{Fbo-DJ3Mfipf.js → Fbo-C7_12zi1.js} +1 -1
- package/storybook-static/assets/{FloatingLines.stories-DwrsyJ8S.js → FloatingLines.stories-BoZu0Eil.js} +1 -1
- package/storybook-static/assets/{FlowingMenu.stories-BQGeeDYk.js → FlowingMenu.stories-CIsIyO9J.js} +1 -1
- package/storybook-static/assets/{FluidGlass.stories-BNEe11fE.js → FluidGlass.stories-vH3qnmEk.js} +1 -1
- package/storybook-static/assets/{Folder.stories-C34siiUF.js → Folder.stories-HkOOEOjb.js} +1 -1
- package/storybook-static/assets/{FuzzyText.stories-DoRGPHuR.js → FuzzyText.stories-By8q6YQt.js} +1 -1
- package/storybook-static/assets/{Galaxy.stories-CoORoc2P.js → Galaxy.stories-07G7jp_6.js} +1 -1
- package/storybook-static/assets/{GhostCursor.stories-qUL8J6dR.js → GhostCursor.stories-BC-trpJu.js} +1 -1
- package/storybook-static/assets/{GlareHover.stories-CCdco059.js → GlareHover.stories-B_MjE5aX.js} +1 -1
- package/storybook-static/assets/{GlassSurface.stories-DZY8JTI_.js → GlassSurface.stories-rPXwGZOW.js} +1 -1
- package/storybook-static/assets/{GlitchText.stories-BOc2qtp8.js → GlitchText.stories-BN308waP.js} +1 -1
- package/storybook-static/assets/{GooeyNav.stories-AdVJ0HTE.js → GooeyNav.stories-C5lqZx3I.js} +1 -1
- package/storybook-static/assets/{GradientBlinds.stories-CPMa1wbI.js → GradientBlinds.stories-D9l7Ayxs.js} +1 -1
- package/storybook-static/assets/{GradientText.stories-DiQ4BiOA.js → GradientText.stories-BiDAn88F.js} +1 -1
- package/storybook-static/assets/{Grainient.stories-6AktjTpR.js → Grainient.stories-CSCcWH0M.js} +1 -1
- package/storybook-static/assets/{GridMotion.stories-CpUxov1L.js → GridMotion.stories-heG3R9uG.js} +1 -1
- package/storybook-static/assets/{ImageSlideshow.stories-BB_WEc_C.js → ImageSlideshow.stories-RDcrjCte.js} +1 -1
- package/storybook-static/assets/{Iridescence.stories-DVY4Ad82.js → Iridescence.stories-iJ26He9j.js} +1 -1
- package/storybook-static/assets/{LaserFlow.stories-BIwcrTST.js → LaserFlow.stories-H_kwxAaY.js} +1 -1
- package/storybook-static/assets/{LetterGlitch.stories-CYLP01fr.js → LetterGlitch.stories-BY9P1wPN.js} +1 -1
- package/storybook-static/assets/{LightPillar.stories-Op3-RL2H.js → LightPillar.stories-Bb4DN5XV.js} +1 -1
- package/storybook-static/assets/{LightRays.stories-BWfITZGs.js → LightRays.stories-Cc6Y1X_k.js} +1 -1
- package/storybook-static/assets/{Lightning.stories-z3EqNFWs.js → Lightning.stories-CpSHxlp7.js} +1 -1
- package/storybook-static/assets/{LineWaves.stories-CN-U2RZb.js → LineWaves.stories-COm5OuGf.js} +1 -1
- package/storybook-static/assets/{LiquidChrome.stories-CQunDA00.js → LiquidChrome.stories-C88ONVOT.js} +1 -1
- package/storybook-static/assets/{LiquidEther.stories-Dx5E22qa.js → LiquidEther.stories-CPSMWSN9.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner-xoFPGq9a.js → LoadingSpinner-C4MXlRnC.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner.stories-BXcLzSiN.js → LoadingSpinner.stories-CCyN9n1T.js} +1 -1
- package/storybook-static/assets/{MagicRings.stories-ChpUpgBm.js → MagicRings.stories-NQSwG8Yn.js} +1 -1
- package/storybook-static/assets/{Magnet.stories-CUAsnJjx.js → Magnet.stories-BAwXSJEW.js} +1 -1
- package/storybook-static/assets/{MagnetLines.stories-BtKFg9_t.js → MagnetLines.stories-CJqMXg51.js} +1 -1
- package/storybook-static/assets/{Masonry.stories-BfT7aonk.js → Masonry.stories-DAl8CRm6.js} +1 -1
- package/storybook-static/assets/{MetaBalls.stories-Bpx6y2Mq.js → MetaBalls.stories-BY7Ilvw5.js} +1 -1
- package/storybook-static/assets/{MetallicPaint.stories-i_KuUoJ7.js → MetallicPaint.stories-iuclFGy4.js} +1 -1
- package/storybook-static/assets/{MoodChart.stories-BUrwIpbe.js → MoodChart.stories-T8Td91vu.js} +1 -1
- package/storybook-static/assets/{MotionConfigContext-BdSKNtzx.js → MotionConfigContext-D_4LMwJ5.js} +1 -1
- package/storybook-static/assets/{Navbar.stories-B5n2URGj.js → Navbar.stories-SRGoJhYx.js} +1 -1
- package/storybook-static/assets/{Noise.stories-BiOgX5JV.js → Noise.stories-B5_Jt1t3.js} +1 -1
- package/storybook-static/assets/{NumberStepper-DvLaVPaJ.js → NumberStepper-BaK5ZScA.js} +1 -1
- package/storybook-static/assets/{NumberStepper.stories-Tp2dyXJp.js → NumberStepper.stories-BZIrFbrQ.js} +1 -1
- package/storybook-static/assets/{Orb.stories-B4ymfobF.js → Orb.stories-Ci1HMLUW.js} +1 -1
- package/storybook-static/assets/{OrbitImages.stories-BOOJ2sLz.js → OrbitImages.stories-Bzf1HUks.js} +1 -1
- package/storybook-static/assets/{PieChart.stories-eN4T-LQ5.js → PieChart.stories-ByRTgKp3.js} +1 -1
- package/storybook-static/assets/{PixelBlast.stories-CKyxO1s-.js → PixelBlast.stories-C83D_GSk.js} +1 -1
- package/storybook-static/assets/{PixelCard.stories-DNkvTz5j.js → PixelCard.stories-B8DdUCQe.js} +1 -1
- package/storybook-static/assets/{PixelSnow.stories-DDwr-w1I.js → PixelSnow.stories-BOHNVU80.js} +1 -1
- package/storybook-static/assets/{PixelTransition.stories-nLfk3vHv.js → PixelTransition.stories-D8VH3ukb.js} +1 -1
- package/storybook-static/assets/{Plasma.stories-CiQrlhdr.js → Plasma.stories-CatIdRAD.js} +1 -1
- package/storybook-static/assets/{Prism.stories-DiUQJHSM.js → Prism.stories-Bg6GLExD.js} +1 -1
- package/storybook-static/assets/{PrismaticBurst.stories-CE1GpHYN.js → PrismaticBurst.stories-BNdrAv89.js} +1 -1
- package/storybook-static/assets/{ProfileCard.stories-CLCPDEvl.js → ProfileCard.stories-CyaTrCeK.js} +1 -1
- package/storybook-static/assets/{QuantifiableHabitsChart.stories-qCi1Hwlz.js → QuantifiableHabitsChart.stories-C86yjHJm.js} +1 -1
- package/storybook-static/assets/{Radar.stories-DKY5fGUM.js → Radar.stories-CvzRcw-C.js} +1 -1
- package/storybook-static/assets/{Ribbons.stories-fdt7Dly3.js → Ribbons.stories-BRX9ZoeY.js} +1 -1
- package/storybook-static/assets/{RippleGrid.stories-n5CU7uPT.js → RippleGrid.stories-vnV8CCtp.js} +1 -1
- package/storybook-static/assets/{RotatingText.stories-D345b2IH.js → RotatingText.stories-B8GsJWaC.js} +1 -1
- package/storybook-static/assets/{ScrollFloat.stories-vqa9uxYG.js → ScrollFloat.stories-DOlmhv7e.js} +1 -1
- package/storybook-static/assets/{ScrollReveal.stories-dYbCWXJL.js → ScrollReveal.stories-Bm9KxbWm.js} +1 -1
- package/storybook-static/assets/{ScrollVelocity.stories-BNKZ-bfJ.js → ScrollVelocity.stories-De4s_pOX.js} +1 -1
- package/storybook-static/assets/{SearchBar.stories-CXEYCYtx.js → SearchBar.stories-CfIOeCyX.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown-BTWjVlVv.js → SearchableDropdown--EWJF18v.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown.stories-BBXXroOM.js → SearchableDropdown.stories-B9KNxfZm.js} +1 -1
- package/storybook-static/assets/{SelectInput-BhKBu2cI.js → SelectInput-CFM_N8VG.js} +1 -1
- package/storybook-static/assets/{SelectInput.stories-W6PuLg-G.js → SelectInput.stories-D_5G5-0N.js} +1 -1
- package/storybook-static/assets/{ShapeBlur.stories-wsyTNDdI.js → ShapeBlur.stories-DNg_BI9n.js} +1 -1
- package/storybook-static/assets/{ShapeGrid.stories-BP0HTLmc.js → ShapeGrid.stories-D6mhsKbm.js} +1 -1
- package/storybook-static/assets/{ShinyText.stories-2ZQhiBft.js → ShinyText.stories-NtVkUqNB.js} +1 -1
- package/storybook-static/assets/{Silk.stories-C973tELu.js → Silk.stories-BACMGa6I.js} +1 -1
- package/storybook-static/assets/{SleepChart.stories-C-nic0Hg.js → SleepChart.stories-S6pSldWo.js} +1 -1
- package/storybook-static/assets/{Slider-Cj4NY5N0.js → Slider-dqb2UNTZ.js} +1 -1
- package/storybook-static/assets/{Slider.stories-DLEYO7pQ.js → Slider.stories-4UkeTwoz.js} +1 -1
- package/storybook-static/assets/{SoftAurora.stories-BwKGvWh1.js → SoftAurora.stories-DH8d39VG.js} +1 -1
- package/storybook-static/assets/{SoundDemo.stories-BBGMylUU.js → SoundDemo.stories-Ci_Q1qDO.js} +1 -1
- package/storybook-static/assets/{SplashCursor.stories-Nh-ONQGd.js → SplashCursor.stories-BMBbSrDn.js} +1 -1
- package/storybook-static/assets/{SpotlightCard.stories-C7FUbVoM.js → SpotlightCard.stories-Cy3mgAFZ.js} +1 -1
- package/storybook-static/assets/{Stack.stories-eXwEbGTy.js → Stack.stories-C_qFRAvS.js} +1 -1
- package/storybook-static/assets/{StaggeredMenu.stories-tgVDfUr0.js → StaggeredMenu.stories-BeqjTXCs.js} +1 -1
- package/storybook-static/assets/{StarBorder.stories-D36zbc2N.js → StarBorder.stories-BeLKjLZu.js} +1 -1
- package/storybook-static/assets/{SunburstChart.stories-CgCbkhG8.js → SunburstChart.stories-DN8EQLMh.js} +1 -1
- package/storybook-static/assets/{Table.stories-BdABrDyr.js → Table.stories-BJ6FcfdD.js} +1 -1
- package/storybook-static/assets/{Tabs.stories-BwzAz5v_.js → Tabs.stories-7-b1PtWp.js} +1 -1
- package/storybook-static/assets/{TargetCursor.stories-D1M0ZV-S.js → TargetCursor.stories-CfxWRalc.js} +1 -1
- package/storybook-static/assets/{TextArea-CMvPbRqQ.js → TextArea-DGywTJLt.js} +1 -1
- package/storybook-static/assets/{TextArea.stories-DmAuD1fB.js → TextArea.stories-B-uYOZs4.js} +1 -1
- package/storybook-static/assets/{TextCursor.stories-CJmFUz8s.js → TextCursor.stories-61sj2bl9.js} +1 -1
- package/storybook-static/assets/{TextInput-7QROD9Bu.js → TextInput-CiI38oLt.js} +1 -1
- package/storybook-static/assets/{TextInput.stories-Cwf2_Ika.js → TextInput.stories-DtG6MQod.js} +1 -1
- package/storybook-static/assets/{TextPressure.stories-CB8UIoN_.js → TextPressure.stories-C1h8GiS8.js} +1 -1
- package/storybook-static/assets/{TextType.stories-D4ZEW3Fz.js → TextType.stories-BfUDVoY_.js} +1 -1
- package/storybook-static/assets/ThemeSwitcher.stories-gBLrYosz.js +62 -0
- package/storybook-static/assets/{Threads.stories-P32yG4P8.js → Threads.stories-sZxNqPXX.js} +1 -1
- package/storybook-static/assets/{TimeInput.stories-Dkkdpsta.js → TimeInput.stories-CjvGCAgd.js} +1 -1
- package/storybook-static/assets/{Toggle-DLu7xVQv.js → Toggle-DwTHl9Fm.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-BSS4Epfw.js → Toggle.stories-DU0Scugu.js} +1 -1
- package/storybook-static/assets/{ToggleButton-Cq7dxxuH.js → ToggleButton-s2aFLlgS.js} +1 -1
- package/storybook-static/assets/{ToggleButton.stories-BZvOkwfy.js → ToggleButton.stories-DgSqo96g.js} +1 -1
- package/storybook-static/assets/{TrueFocus.stories-BMRj967B.js → TrueFocus.stories-CuqOvqGj.js} +1 -1
- package/storybook-static/assets/{VariableProximity.stories-B6-tbs3n.js → VariableProximity.stories-CWLeFmxb.js} +1 -1
- package/storybook-static/assets/{Waves.stories-CAJon3iL.js → Waves.stories-zeyoHm5S.js} +1 -1
- package/storybook-static/assets/{check-D8bWZLP6.js → check-7O6ar4SG.js} +1 -1
- package/storybook-static/assets/{chevron-down-BZPtZoHS.js → chevron-down-BC5Z9HYA.js} +1 -1
- package/storybook-static/assets/{chevron-right-B4kqmwjo.js → chevron-right-CDwij0IV.js} +1 -1
- package/storybook-static/assets/client-C--dgtnn.js +1 -0
- package/storybook-static/assets/{createLucideIcon-Eaeny9Zi.js → createLucideIcon-yjHXhSOm.js} +1 -1
- package/storybook-static/assets/{folder-DNcKa6s5.js → folder-CATSGh42.js} +1 -1
- package/storybook-static/assets/{iconBase-CstVDnta.js → iconBase-D_x0Veg_.js} +1 -1
- package/storybook-static/assets/iframe-B7RIyArP.css +1 -0
- package/storybook-static/assets/{iframe-CvT6MryR.js → iframe-LZvJb0BS.js} +5 -5
- package/storybook-static/assets/{index-Cb6YhhUk.js → index-D9mC-cEf.js} +1 -1
- package/storybook-static/assets/{index-KuyQzDCw.js → index-DSYnL-zq.js} +1 -1
- package/storybook-static/assets/{index-2ZuXCVEx.js → index-vc18hLoj.js} +1 -1
- package/storybook-static/assets/{layout-grid-nUVet5Tw.js → layout-grid-Dyvnjtf9.js} +1 -1
- package/storybook-static/assets/{proxy-0exJiild.js → proxy-94dt0K2Y.js} +1 -1
- package/storybook-static/assets/{react-18-KOo_VULj.js → react-18-C-ERT8YQ.js} +1 -1
- package/storybook-static/assets/{react-three-fiber.esm-BbD9yVT_.js → react-three-fiber.esm-D_o7ZgN9.js} +1 -1
- package/storybook-static/assets/{search-Cfa-rwoK.js → search-BVmOcKZi.js} +1 -1
- package/storybook-static/assets/{sun-BwQ2hAsY.js → sun-s1P_-p6e.js} +1 -1
- package/storybook-static/assets/{use-animation-frame-BOMew7B2.js → use-animation-frame-04H3dRpD.js} +1 -1
- package/storybook-static/assets/{use-in-view-BP3CscI2.js → use-in-view--MCxH20O.js} +1 -1
- package/storybook-static/assets/{use-motion-value-DfJqnIZb.js → use-motion-value-Cic9xvrL.js} +1 -1
- package/storybook-static/assets/{use-spring-SHZiaDU4.js → use-spring-D4LsSJyy.js} +1 -1
- package/storybook-static/assets/{use-transform-CATrWDJd.js → use-transform-D1fwdMmS.js} +1 -1
- package/storybook-static/assets/{useSound-DyOR6GVH.js → useSound-Dc8S51xy.js} +1 -1
- package/storybook-static/assets/{users-CoCnAJkL.js → users-DmRtN79P.js} +1 -1
- package/storybook-static/assets/{x-D_m9a61B.js → x-C7Ulr4p2.js} +1 -1
- package/storybook-static/iframe.html +2 -2
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/docs-2/manager-bundle.js +2 -2
- package/storybook-static/sb-addons/links-3/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/storybook-5/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +3 -3
- package/storybook-static/assets/Calendar-gAaU5NXk.css +0 -1
- package/storybook-static/assets/Calendar.stories-BPwP3WUJ.js +0 -470
- package/storybook-static/assets/ThemeSwitcher.stories-DHgVmIcC.js +0 -62
- package/storybook-static/assets/client-er7qZ0kF.js +0 -1
- package/storybook-static/assets/iframe-Df7_64QT.css +0 -1
|
@@ -1,470 +0,0 @@
|
|
|
1
|
-
import{r as _,j as e}from"./iframe-CvT6MryR.js";import{m as q}from"./proxy-0exJiild.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-BdSKNtzx.js";const ze="_calendar_1ahyc_2",Fe="_loading_1ahyc_14",Pe="_loadingSpinner_1ahyc_21",Ae="_header_1ahyc_27",We="_navigation_1ahyc_35",qe="_navButton_1ahyc_41",Ge="_title_1ahyc_60",Oe="_controls_1ahyc_70",Ue="_todayButton_1ahyc_76",Ye="_viewToggle_1ahyc_92",Ke="_viewButton_1ahyc_99",Je="_active_1ahyc_113",Qe="_weekDays_1ahyc_123",Xe="_weekNumberHeader_1ahyc_134",Ze="_weekDay_1ahyc_123",et="_daysGrid_1ahyc_151",tt="_weekView_1ahyc_162",nt="_dayCell_1ahyc_166",at="_dayNumber_1ahyc_195",it="_today_1ahyc_76",ot="_events_1ahyc_214",st="_event_1ahyc_214",rt="_eventTitle_1ahyc_241",dt="_eventTime_1ahyc_250",ct="_otherMonth_1ahyc_295",lt="_weekNumber_1ahyc_134",mt="_completed_1ahyc_344",pt="_completedIcon_1ahyc_365",ut="_moreEvents_1ahyc_372",yt="_emptyState_1ahyc_382",vt="_dayView_1ahyc_392",gt="_dayViewHeader_1ahyc_401",ht="_timeColumnHeader_1ahyc_411",wt="_dayColumnHeader_1ahyc_418",Dt="_dayViewScrollContainer_1ahyc_427",ft="_dayViewContent_1ahyc_435",xt="_timeColumn_1ahyc_411",Ct="_dayColumn_1ahyc_418",kt="_timeSlot_1ahyc_453",_t="_timeLabel_1ahyc_462",St="_hourSlot_1ahyc_468",Et="_hourLine_1ahyc_481",bt="_dayEvent_1ahyc_491",jt="_dayEventTitle_1ahyc_512",Tt="_dayEventTime_1ahyc_520",Mt="_currentTimeIndicator_1ahyc_532",n={calendar:ze,loading:Fe,loadingSpinner:Pe,header:Ae,navigation:We,navButton:qe,title:Ge,controls:Oe,todayButton:Ue,viewToggle:Ye,viewButton:Ke,active:Je,weekDays:Qe,weekNumberHeader:Xe,weekDay:Ze,daysGrid:et,weekView:tt,dayCell:nt,dayNumber:at,today:it,events:ot,event:st,eventTitle:rt,eventTime:dt,otherMonth:ct,weekNumber:lt,completed:mt,completedIcon:pt,moreEvents:ut,emptyState:yt,dayView:vt,dayViewHeader:gt,timeColumnHeader:ht,dayColumnHeader:wt,dayViewScrollContainer:Dt,dayViewContent:ft,timeColumn:xt,dayColumn:Ct,timeSlot:kt,timeLabel:_t,hourSlot:St,hourLine:Et,dayEvent:bt,dayEventTitle:jt,dayEventTime:Tt,currentTimeIndicator:Mt};function x({events:s,onEventClick:c,onDateClick:d,onEventClickByView:u,onDateClickByView:g,onTimeSlotClick:D,viewMode:y="month",initialDate:v=new Date,config:C={},className:w="",style:G={},loading:Ee=!1,emptyState:O,hideHeader:be=!1}){const[l,I]=_.useState(v),[r,z]=_.useState(y),b=_.useRef(null),{eventColors:U={},iconRenderer:j,maxEventsPerDay:F=3,mondayStart:E=!1,showWeekNumbers:Y=!1,dateFormat:K={month:"long",year:"numeric"},locale:S="en-US",dayLabels:je,monthNames:T}=C,Te=je||(E?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);_.useEffect(()=>{if(r==="day"&&b.current){const t=new Date;if(l.toDateString()===t.toDateString()){const i=t.getHours(),a=t.getMinutes(),h=(i*60+a)/60*60-100;setTimeout(()=>{b.current&&(b.current.scrollTop=Math.max(0,h))},0)}}},[r,l]);const J=_.useMemo(()=>{const t=l.getFullYear(),o=l.getMonth();let i,a,m;if(r==="week"){i=new Date(l);const f=i.getDay(),k=E?i.getDate()-f+(f===0?-6:1):i.getDate()-f;i=new Date(i.setDate(k)),i.setHours(0,0,0,0),a=new Date(i),a.setDate(a.getDate()+6);const A=i.toLocaleDateString(S,{day:"numeric",month:"short"}),W=a.toLocaleDateString(S,{day:"numeric",month:"short"});m=`${A} - ${W}`}else if(r==="day")i=new Date(l),i.setHours(0,0,0,0),a=new Date(l),a.setHours(23,59,59,999),m=l.toLocaleDateString(S,{weekday:"long",year:"numeric",month:"long",day:"numeric"});else{const f=new Date(t,o,1),k=new Date(t,o+1,0);i=new Date(f);const A=E?(f.getDay()+6)%7:f.getDay();i.setDate(i.getDate()-A),a=new Date(k);const W=E?(k.getDay()+6)%7:k.getDay();a.setDate(a.getDate()+(6-W)),T&&T[o]?m=`${T[o]} ${t}`:m=l.toLocaleDateString(S,K)}const h=[],p=new Date(i);for(;p<=a;)h.push(new Date(p)),p.setDate(p.getDate()+1);return{days:h,displayTitle:m}},[l,r,E,S,K,T]),Q=t=>{const o=s.filter(i=>new Date(i.date).toDateString()===t.toDateString());return r==="week"?o.sort((i,a)=>{const m=i.time?X(i.time):999999,h=a.time?X(a.time):999999;return m-h}):o},X=t=>{const[o,i]=t.split(":").map(Number);return o*60+i},Me=()=>{const t=new Date(l);r==="week"?t.setDate(t.getDate()-7):r==="day"?t.setDate(t.getDate()-1):t.setMonth(t.getMonth()-1),I(t)},Ne=()=>{const t=new Date(l);r==="week"?t.setDate(t.getDate()+7):r==="day"?t.setDate(t.getDate()+1):t.setMonth(t.getMonth()+1),I(t)},$e=()=>{I(new Date)},P=t=>{if(t.color)return t.color;if(t.type&&U[t.type])return U[t.type];const o={high:"#FF4444",medium:"#FFA500",low:"#4A90E2"};return t.priority&&o[t.priority]?o[t.priority]:"#4A90E2"},Be=t=>{const o=t.replace("#",""),i=parseInt(o.substring(0,2),16),a=parseInt(o.substring(2,4),16),m=parseInt(o.substring(4,6),16);return(.299*i+.587*a+.114*m)/255>.5?"#000000":"#FFFFFF"},Z=t=>{if(t.textColor)return t.textColor;const o=P(t);return Be(o)},ee=t=>{u&&u[r]?u[r](t):c&&c(t)},Ve=t=>{g&&g[r]?g[r](t):d&&d(t)},Le=t=>{if(D){const o=new Date(l);o.setHours(t,0,0,0);const i=`${t.toString().padStart(2,"0")}:00`;D(o,t,i)}},He=t=>{const o=new Date;return t.toDateString()===o.toDateString()},Re=t=>t.getMonth()===l.getMonth(),Ie=t=>{const o=new Date(t.getFullYear(),0,1),i=t.getTime()-o.getTime(),a=1e3*60*60*24*7;return Math.floor(i/a)+1};return Ee?e.jsx("div",{className:`${n.calendar} ${n.loading} ${w}`,style:G,children:e.jsx("div",{className:n.loadingSpinner,children:"Loading..."})}):e.jsxs("div",{className:`${n.calendar} ${w}`,style:G,children:[!be&&e.jsxs("div",{className:n.header,children:[e.jsxs("div",{className:n.navigation,children:[e.jsx("button",{onClick:Me,className:n.navButton,"aria-label":"Previous",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:e.jsx("polyline",{points:"15,18 9,12 15,6"})})}),e.jsx("h3",{className:n.title,children:J.displayTitle}),e.jsx("button",{onClick:Ne,className:n.navButton,"aria-label":"Next",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:e.jsx("polyline",{points:"9,6 15,12 9,18"})})})]}),e.jsxs("div",{className:n.controls,children:[e.jsx("button",{onClick:$e,className:n.todayButton,children:"Today"}),e.jsxs("div",{className:n.viewToggle,children:[e.jsx("button",{className:`${n.viewButton} ${r==="month"?n.active:""}`,onClick:()=>z("month"),children:"Month"}),e.jsx("button",{className:`${n.viewButton} ${r==="week"?n.active:""}`,onClick:()=>z("week"),children:"Week"}),e.jsx("button",{className:`${n.viewButton} ${r==="day"?n.active:""}`,onClick:()=>z("day"),children:"Day"})]})]})]}),r!=="day"&&e.jsxs("div",{className:n.weekDays,children:[Y&&e.jsx("div",{className:n.weekNumberHeader,children:"Week"}),Te.map(t=>e.jsx("div",{className:n.weekDay,children:t},t))]}),r==="day"?e.jsxs("div",{className:n.dayView,children:[e.jsxs("div",{className:n.dayViewHeader,children:[e.jsx("div",{className:n.timeColumnHeader}),e.jsx("div",{className:n.dayColumnHeader,children:l.toLocaleDateString(S,{weekday:"short",day:"numeric"})})]}),e.jsx("div",{className:n.dayViewScrollContainer,ref:b,children:e.jsxs("div",{className:n.dayViewContent,children:[(()=>{const t=new Date,o=t.getHours(),i=t.getMinutes(),m=(o*60+i)/1440*(24*60);return l.toDateString()===t.toDateString()?e.jsx("div",{className:n.currentTimeIndicator,style:{top:`${m}px`}}):null})(),e.jsx("div",{className:n.timeColumn,children:Array.from({length:24},(t,o)=>e.jsx("div",{className:n.timeSlot,children:e.jsxs("span",{className:n.timeLabel,children:[o.toString().padStart(2,"0"),":00"]})},o))}),e.jsx("div",{className:n.dayColumn,children:Array.from({length:24},(t,o)=>{const i=Q(l).filter(a=>a.time?parseInt(a.time.split(":")[0])===o:!1);return e.jsxs("div",{className:n.hourSlot,onClick:a=>{(a.target===a.currentTarget||a.target.classList.contains(n.hourLine))&&Le(o)},style:{cursor:"pointer"},children:[e.jsx("div",{className:n.hourLine}),i.map((a,m)=>e.jsxs(q.div,{className:`${n.dayEvent} ${a.status==="completed"?n.completed:""}`,style:{backgroundColor:P(a),color:Z(a),opacity:a.status==="completed"?.7:1},onClick:h=>{h.stopPropagation(),ee(a)},initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{duration:.2,delay:m*.05,ease:"easeOut"},whileHover:{scale:1.02,y:-1,transition:{duration:.1}},whileTap:{scale:.98,transition:{duration:.1}},children:[j&&j(a),e.jsxs("span",{className:n.dayEventTitle,children:[e.jsx("span",{className:n.dayEventTime,children:a.time}),a.title]}),a.status==="completed"&&e.jsx("svg",{className:n.completedIcon,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:e.jsx("polyline",{points:"20,6 9,17 4,12"})})]},a.id))]},o)})})]})})]}):e.jsx("div",{className:`${n.daysGrid} ${r==="week"?n.weekView:""}`,children:J.days.map((t,o)=>{const i=Q(t),a=He(t),m=r==="week"||Re(t),h=Y&&o%7===0;return e.jsxs(q.div,{className:`${n.dayCell} ${a?n.today:""} ${m?"":n.otherMonth}`,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,delay:o*.02,ease:"easeOut"},onClick:()=>Ve(t),children:[h&&e.jsx("div",{className:n.weekNumber,children:Ie(t)}),e.jsx("div",{className:n.dayNumber,children:t.getDate()}),i.length>0&&e.jsxs("div",{className:n.events,children:[i.slice(0,F).map((p,f)=>e.jsxs(q.div,{className:`${n.event} ${p.status==="completed"?n.completed:""}`,style:{backgroundColor:P(p),color:Z(p),opacity:p.status==="completed"?.7:1},onClick:k=>{k.stopPropagation(),ee(p)},initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{duration:.2,delay:f*.05,ease:"easeOut"},whileHover:{scale:1.02,y:-1,transition:{duration:.1}},whileTap:{scale:.98,transition:{duration:.1}},children:[j&&j(p),e.jsxs("span",{className:n.eventTitle,children:[p.time&&e.jsx("span",{className:n.eventTime,children:p.time}),p.title]}),p.status==="completed"&&e.jsx("svg",{className:n.completedIcon,width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",children:e.jsx("polyline",{points:"20,6 9,17 4,12"})})]},p.id)),i.length>F&&e.jsxs("div",{className:n.moreEvents,children:["+",i.length-F," more"]})]}),i.length===0&&O&&e.jsx("div",{className:n.emptyState,children:O})]},`${t.getFullYear()}-${t.getMonth()}-${t.getDate()}`)})})]})}x.__docgenInfo={description:`Calendar component - A flexible, reusable calendar for displaying events
|
|
2
|
-
|
|
3
|
-
@component
|
|
4
|
-
@description
|
|
5
|
-
A highly customizable calendar component that can display events in month or week view.
|
|
6
|
-
Supports custom event types, colors, icons, and localization. Perfect for scheduling,
|
|
7
|
-
project management, habit tracking, or any date-based data visualization.
|
|
8
|
-
|
|
9
|
-
@example
|
|
10
|
-
// Basic usage
|
|
11
|
-
<Calendar
|
|
12
|
-
events={myEvents}
|
|
13
|
-
onEventClick={handleEventClick}
|
|
14
|
-
viewMode="month"
|
|
15
|
-
/>
|
|
16
|
-
|
|
17
|
-
@example
|
|
18
|
-
// With custom configuration
|
|
19
|
-
<Calendar
|
|
20
|
-
events={projectEvents}
|
|
21
|
-
config={{
|
|
22
|
-
eventColors: { task: '#4A90E2', meeting: '#7ED321' },
|
|
23
|
-
maxEventsPerDay: 5,
|
|
24
|
-
mondayStart: true
|
|
25
|
-
}}
|
|
26
|
-
onEventClick={handleEventClick}
|
|
27
|
-
/>`,methods:[],displayName:"Calendar",props:{events:{required:!0,tsType:{name:"Array",elements:[{name:"CalendarEvent"}],raw:"CalendarEvent[]"},description:"Array of events to display"},onEventClick:{required:!1,tsType:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}}},description:"Callback when an event is clicked"},onDateClick:{required:!1,tsType:{name:"signature",type:"function",raw:"(date: Date) => void",signature:{arguments:[{type:{name:"Date"},name:"date"}],return:{name:"void"}}},description:"Callback when a date is clicked"},onEventClickByView:{required:!1,tsType:{name:"signature",type:"object",raw:`{
|
|
28
|
-
month?: (event: CalendarEvent) => void;
|
|
29
|
-
week?: (event: CalendarEvent) => void;
|
|
30
|
-
day?: (event: CalendarEvent) => void;
|
|
31
|
-
}`,signature:{properties:[{key:"month",value:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}},required:!1}},{key:"week",value:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}},required:!1}},{key:"day",value:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}},required:!1}}]}},description:"View-specific event click handlers"},onDateClickByView:{required:!1,tsType:{name:"signature",type:"object",raw:`{
|
|
32
|
-
month?: (date: Date) => void;
|
|
33
|
-
week?: (date: Date) => void;
|
|
34
|
-
day?: (date: Date) => void;
|
|
35
|
-
}`,signature:{properties:[{key:"month",value:{name:"signature",type:"function",raw:"(date: Date) => void",signature:{arguments:[{type:{name:"Date"},name:"date"}],return:{name:"void"}},required:!1}},{key:"week",value:{name:"signature",type:"function",raw:"(date: Date) => void",signature:{arguments:[{type:{name:"Date"},name:"date"}],return:{name:"void"}},required:!1}},{key:"day",value:{name:"signature",type:"function",raw:"(date: Date) => void",signature:{arguments:[{type:{name:"Date"},name:"date"}],return:{name:"void"}},required:!1}}]}},description:"View-specific date click handlers"},onTimeSlotClick:{required:!1,tsType:{name:"signature",type:"function",raw:"(date: Date, hour: number, time: string) => void",signature:{arguments:[{type:{name:"Date"},name:"date"},{type:{name:"number"},name:"hour"},{type:{name:"string"},name:"time"}],return:{name:"void"}}},description:"Callback when a time slot is clicked in day view"},viewMode:{required:!1,tsType:{name:"union",raw:"'month' | 'week' | 'day'",elements:[{name:"literal",value:"'month'"},{name:"literal",value:"'week'"},{name:"literal",value:"'day'"}]},description:"Initial view mode",defaultValue:{value:"'month'",computed:!1}},initialDate:{required:!1,tsType:{name:"Date"},description:"Initial date to display",defaultValue:{value:"new Date()",computed:!1}},config:{required:!1,tsType:{name:"CalendarConfig"},description:"Configuration options",defaultValue:{value:"{}",computed:!1}},className:{required:!1,tsType:{name:"string"},description:"Custom CSS class",defaultValue:{value:"''",computed:!1}},style:{required:!1,tsType:{name:"ReactCSSProperties",raw:"React.CSSProperties"},description:"Custom styles",defaultValue:{value:"{}",computed:!1}},loading:{required:!1,tsType:{name:"boolean"},description:"Loading state",defaultValue:{value:"false",computed:!1}},emptyState:{required:!1,tsType:{name:"ReactReactNode",raw:"React.ReactNode"},description:"Custom empty state component"},hideHeader:{required:!1,tsType:{name:"boolean"},description:"Hide the calendar header (navigation, title, view controls)",defaultValue:{value:"false",computed:!1}}}};const Ht={title:"Organisms/Calendar",component:x,parameters:{layout:"padded",docs:{description:{component:"A flexible, customizable calendar component for displaying events in month or week view. Perfect for scheduling, project management, habit tracking, or any date-based data visualization."}}},tags:["autodocs"],argTypes:{events:{control:"object",description:"Array of events to display on the calendar"},viewMode:{control:"radio",options:["month","week"],description:"Initial view mode for the calendar"},onEventClick:{action:"event-clicked"},onDateClick:{action:"date-clicked"}}},Se=()=>{const s=new Date,c=[];for(let d=0;d<12;d++){const u=new Date(s);u.setDate(s.getDate()+Math.floor(Math.random()*30)-15),c.push({id:`event-${d}`,title:`Event ${d+1}`,date:u,time:Math.random()>.5?`${9+Math.floor(Math.random()*8)}:${Math.random()>.5?"00":"30"}`:void 0,type:["meeting","task","deadline","milestone"][Math.floor(Math.random()*4)],status:Math.random()>.7?"completed":"pending",priority:["high","medium","low"][Math.floor(Math.random()*3)]})}return c},M={args:{events:Se(),viewMode:"month"}},N={args:{events:Se(),viewMode:"week"}},$={args:{events:[{id:"1",title:"Morning Standup",date:new Date,time:"09:00",type:"meeting",status:"pending",priority:"high"},{id:"2",title:"Code Review",date:new Date,time:"10:30",type:"task",status:"pending",priority:"medium"},{id:"3",title:"Lunch Break",date:new Date,time:"12:00",type:"break",status:"pending",priority:"low"},{id:"4",title:"Team Sync",date:new Date,time:"14:00",type:"meeting",status:"completed",priority:"medium"},{id:"5",title:"Development Work",date:new Date,time:"15:30",type:"task",status:"pending",priority:"high"},{id:"6",title:"Documentation",date:new Date,time:"17:00",type:"task",status:"pending",priority:"low"}],viewMode:"day"}},B={args:{events:[]},render:()=>{const[s,c]=_.useState([{id:"1",title:"Sprint Planning",date:new Date,time:"09:00",type:"meeting",status:"pending",priority:"high"},{id:"2",title:"Code Review",date:new Date(Date.now()+864e5),time:"14:30",type:"review",status:"completed",priority:"medium"},{id:"3",title:"Design Sprint",date:new Date(Date.now()+1728e5),type:"workshop",status:"pending",priority:"medium"}]),[d,u]=_.useState([]),g=y=>{const v=new Date().toLocaleTimeString();c(C=>C.map(w=>w.id===y.id?{...w,status:w.status==="completed"?"pending":"completed"}:w)),u(C=>[`[${v}] 🔄 Toggled "${y.title}" status`,...C.slice(0,4)])},D=y=>{const v=new Date().toLocaleTimeString(),C={id:`new-${Date.now()}`,title:"New Event",date:y,time:"15:00",type:"meeting",status:"pending",priority:"medium"};c(w=>[...w,C]),u(w=>[`[${v}] ➕ Added event on ${y.toLocaleDateString()}`,...w.slice(0,4)])};return e.jsxs("div",{children:[e.jsxs("div",{style:{padding:"var(--spacing-md)",background:"var(--color-primary-light)",borderRadius:"var(--radius-md)",marginBottom:"var(--spacing-lg)"},children:[e.jsx("h4",{style:{margin:"0 0 var(--spacing-xs) 0",color:"var(--color-primary)"},children:"🎯 Interactive Demo"}),e.jsx("p",{style:{margin:0,fontSize:"var(--font-size-sm)",color:"var(--color-text-secondary)"},children:"• Click events to toggle status • Click dates to add new events"})]}),e.jsx(x,{events:s,onEventClick:g,onDateClick:D,config:{eventColors:{meeting:"#4A90E2",review:"#BD10E0",workshop:"#4ECDC4"},iconRenderer:y=>{const v={meeting:"👥",review:"👀",workshop:"🎨"};return e.jsx("span",{style:{fontSize:"11px"},children:v[y.type]||"📅"})}},viewMode:"month"}),d.length>0&&e.jsxs("div",{style:{marginTop:"var(--spacing-lg)",padding:"var(--spacing-md)",background:"var(--color-background-secondary)",borderRadius:"var(--radius-md)"},children:[e.jsx("h5",{style:{margin:"0 0 var(--spacing-sm) 0",color:"var(--color-text)"},children:"Recent Actions:"}),d.map((y,v)=>e.jsx("div",{style:{padding:"var(--spacing-xs)",margin:"2px 0",background:"var(--color-background)",borderRadius:"var(--radius-xs)",fontSize:"var(--font-size-xs)",fontFamily:"monospace"},children:y},v))]})]})}},V={args:{events:[]},render:()=>{const s=[],c=new Date,d=["Exercise","Meditation","Reading","Water","Sleep"],u=["💪","🧘","📚","💧","😴"];for(let g=-7;g<=7;g++){const D=new Date(c);D.setDate(c.getDate()+g),d.forEach((y,v)=>{Math.random()>.3&&s.push({id:`habit-${g}-${v}`,title:y,date:new Date(D),type:"habit",status:Math.random()>.1?"completed":"pending",color:`hsl(${v*70}, 70%, 50%)`,metadata:{icon:u[v]}})})}return e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"var(--spacing-md)",color:"var(--color-text)"},children:"🎯 Habit Tracking Use Case"}),e.jsx(x,{events:s,config:{iconRenderer:g=>{var D;return e.jsx("span",{style:{fontSize:"10px"},children:((D=g.metadata)==null?void 0:D.icon)||"✓"})},maxEventsPerDay:8,mondayStart:!0},viewMode:"month"})]})}},L={args:{events:[]},render:()=>{const s=new Date,c=[{id:"schedule-1",title:"Team Standup and a very long text for a task that never ends",date:new Date(s.getTime()-(s.getDay()-1)*24*60*60*1e3),time:"09:00",type:"meeting",status:"pending",priority:"medium"},{id:"schedule-2",title:"Code Review",date:new Date(s.getTime()-(s.getDay()-1)*24*60*60*1e3),time:"11:30",type:"review",status:"completed",priority:"high"},{id:"schedule-3",title:"Client Call",date:new Date(s.getTime()-(s.getDay()-2)*24*60*60*1e3),time:"10:00",type:"call",status:"pending",priority:"high"},{id:"schedule-4",title:"Sprint Planning",date:new Date(s.getTime()-(s.getDay()-2)*24*60*60*1e3),time:"14:00",type:"meeting",status:"pending",priority:"high"},{id:"schedule-5",title:"Demo Day",date:new Date(s.getTime()-(s.getDay()-5)*24*60*60*1e3),time:"13:00",type:"presentation",status:"pending",priority:"high"}];return e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"var(--spacing-md)",color:"var(--color-text)"},children:"📅 Event Scheduling (Week View)"}),e.jsx(x,{events:c,config:{eventColors:{meeting:"#4A90E2",call:"#7ED321",review:"#BD10E0",presentation:"#FF6B6B"},iconRenderer:d=>{const u={meeting:"👥",call:"📞",review:"👀",presentation:"🎯"};return e.jsx("span",{style:{fontSize:"12px"},children:u[d.type]||"📅"})},maxEventsPerDay:6,mondayStart:!0},viewMode:"week"})]})}},H={args:{events:[]},render:()=>{const s=[{id:"custom-1",title:"VIP Client Meeting",date:new Date,time:"10:00",type:"vip",status:"pending",priority:"high"},{id:"custom-2",title:"Design Sprint",date:new Date(Date.now()+864e5),type:"workshop",status:"pending",priority:"medium"},{id:"custom-3",title:"Project Milestone ✓",date:new Date(Date.now()-864e5),type:"milestone",status:"completed",priority:"high"}];return e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"var(--spacing-md)",color:"var(--color-text)"},children:"🎨 Custom Colors, Icons & Configuration"}),e.jsx(x,{events:s,config:{eventColors:{vip:"#FF6B6B",workshop:"#4ECDC4",milestone:"#F39C12"},iconRenderer:c=>c.type==="vip"?e.jsx("span",{style:{fontSize:"12px"},children:"⭐"}):c.type==="workshop"?e.jsx("span",{style:{fontSize:"12px"},children:"🎨"}):c.type==="milestone"?e.jsx("span",{style:{fontSize:"12px"},children:"🎯"}):e.jsx("span",{style:{fontSize:"12px"},children:"📅"}),maxEventsPerDay:6,mondayStart:!0,showWeekNumbers:!0,locale:"en-US"},viewMode:"month"})]})}},R={args:{events:[]},render:()=>{const s=[],c=new Date;for(let d=0;d<6;d++)s.push({id:`many-${d}`,title:`Meeting ${d+1}`,date:c,time:`${9+d}:00`,type:"meeting",status:"pending",priority:"medium"});return e.jsxs("div",{style:{display:"grid",gap:"var(--spacing-xl)"},children:[e.jsxs("div",{children:[e.jsx("h4",{style:{margin:"0 0 var(--spacing-md) 0",color:"var(--color-text)"},children:'📊 Many Events (shows "more" indicator)'}),e.jsx(x,{events:s,config:{maxEventsPerDay:3},viewMode:"month"})]}),e.jsxs("div",{children:[e.jsx("h4",{style:{margin:"0 0 var(--spacing-md) 0",color:"var(--color-text)"},children:"💨 Loading State"}),e.jsx(x,{events:[],loading:!0})]}),e.jsxs("div",{children:[e.jsx("h4",{style:{margin:"0 0 var(--spacing-md) 0",color:"var(--color-text)"},children:"📭 Empty State"}),e.jsx(x,{events:[],emptyState:e.jsx("span",{style:{color:"var(--color-text-tertiary)",fontSize:"11px"},children:"No events"})})]})]})}};var te,ne,ae;M.parameters={...M.parameters,docs:{...(te=M.parameters)==null?void 0:te.docs,source:{originalSource:`{
|
|
36
|
-
args: {
|
|
37
|
-
events: generateSampleEvents(),
|
|
38
|
-
viewMode: 'month'
|
|
39
|
-
}
|
|
40
|
-
}`,...(ae=(ne=M.parameters)==null?void 0:ne.docs)==null?void 0:ae.source}}};var ie,oe,se;N.parameters={...N.parameters,docs:{...(ie=N.parameters)==null?void 0:ie.docs,source:{originalSource:`{
|
|
41
|
-
args: {
|
|
42
|
-
events: generateSampleEvents(),
|
|
43
|
-
viewMode: 'week'
|
|
44
|
-
}
|
|
45
|
-
}`,...(se=(oe=N.parameters)==null?void 0:oe.docs)==null?void 0:se.source}}};var re,de,ce;$.parameters={...$.parameters,docs:{...(re=$.parameters)==null?void 0:re.docs,source:{originalSource:`{
|
|
46
|
-
args: {
|
|
47
|
-
events: [{
|
|
48
|
-
id: '1',
|
|
49
|
-
title: 'Morning Standup',
|
|
50
|
-
date: new Date(),
|
|
51
|
-
time: '09:00',
|
|
52
|
-
type: 'meeting',
|
|
53
|
-
status: 'pending',
|
|
54
|
-
priority: 'high'
|
|
55
|
-
}, {
|
|
56
|
-
id: '2',
|
|
57
|
-
title: 'Code Review',
|
|
58
|
-
date: new Date(),
|
|
59
|
-
time: '10:30',
|
|
60
|
-
type: 'task',
|
|
61
|
-
status: 'pending',
|
|
62
|
-
priority: 'medium'
|
|
63
|
-
}, {
|
|
64
|
-
id: '3',
|
|
65
|
-
title: 'Lunch Break',
|
|
66
|
-
date: new Date(),
|
|
67
|
-
time: '12:00',
|
|
68
|
-
type: 'break',
|
|
69
|
-
status: 'pending',
|
|
70
|
-
priority: 'low'
|
|
71
|
-
}, {
|
|
72
|
-
id: '4',
|
|
73
|
-
title: 'Team Sync',
|
|
74
|
-
date: new Date(),
|
|
75
|
-
time: '14:00',
|
|
76
|
-
type: 'meeting',
|
|
77
|
-
status: 'completed',
|
|
78
|
-
priority: 'medium'
|
|
79
|
-
}, {
|
|
80
|
-
id: '5',
|
|
81
|
-
title: 'Development Work',
|
|
82
|
-
date: new Date(),
|
|
83
|
-
time: '15:30',
|
|
84
|
-
type: 'task',
|
|
85
|
-
status: 'pending',
|
|
86
|
-
priority: 'high'
|
|
87
|
-
}, {
|
|
88
|
-
id: '6',
|
|
89
|
-
title: 'Documentation',
|
|
90
|
-
date: new Date(),
|
|
91
|
-
time: '17:00',
|
|
92
|
-
type: 'task',
|
|
93
|
-
status: 'pending',
|
|
94
|
-
priority: 'low'
|
|
95
|
-
}],
|
|
96
|
-
viewMode: 'day'
|
|
97
|
-
}
|
|
98
|
-
}`,...(ce=(de=$.parameters)==null?void 0:de.docs)==null?void 0:ce.source}}};var le,me,pe;B.parameters={...B.parameters,docs:{...(le=B.parameters)==null?void 0:le.docs,source:{originalSource:`{
|
|
99
|
-
args: {
|
|
100
|
-
events: []
|
|
101
|
-
},
|
|
102
|
-
render: () => {
|
|
103
|
-
const [events, setEvents] = useState<CalendarEvent[]>([{
|
|
104
|
-
id: '1',
|
|
105
|
-
title: 'Sprint Planning',
|
|
106
|
-
date: new Date(),
|
|
107
|
-
time: '09:00',
|
|
108
|
-
type: 'meeting',
|
|
109
|
-
status: 'pending',
|
|
110
|
-
priority: 'high'
|
|
111
|
-
}, {
|
|
112
|
-
id: '2',
|
|
113
|
-
title: 'Code Review',
|
|
114
|
-
date: new Date(Date.now() + 24 * 60 * 60 * 1000),
|
|
115
|
-
time: '14:30',
|
|
116
|
-
type: 'review',
|
|
117
|
-
status: 'completed',
|
|
118
|
-
priority: 'medium'
|
|
119
|
-
}, {
|
|
120
|
-
id: '3',
|
|
121
|
-
title: 'Design Sprint',
|
|
122
|
-
date: new Date(Date.now() + 2 * 24 * 60 * 60 * 1000),
|
|
123
|
-
type: 'workshop',
|
|
124
|
-
status: 'pending',
|
|
125
|
-
priority: 'medium'
|
|
126
|
-
}]);
|
|
127
|
-
const [actionLog, setActionLog] = useState<string[]>([]);
|
|
128
|
-
const handleEventClick = (event: CalendarEvent) => {
|
|
129
|
-
const timestamp = new Date().toLocaleTimeString();
|
|
130
|
-
|
|
131
|
-
// Toggle status and log action
|
|
132
|
-
setEvents(prev => prev.map(e => e.id === event.id ? {
|
|
133
|
-
...e,
|
|
134
|
-
status: e.status === 'completed' ? 'pending' : 'completed'
|
|
135
|
-
} : e));
|
|
136
|
-
setActionLog(prev => [\`[\${timestamp}] 🔄 Toggled "\${event.title}" status\`, ...prev.slice(0, 4) // Keep only last 5 logs
|
|
137
|
-
]);
|
|
138
|
-
};
|
|
139
|
-
const handleDateClick = (date: Date) => {
|
|
140
|
-
const timestamp = new Date().toLocaleTimeString();
|
|
141
|
-
const newEvent: CalendarEvent = {
|
|
142
|
-
id: \`new-\${Date.now()}\`,
|
|
143
|
-
title: 'New Event',
|
|
144
|
-
date: date,
|
|
145
|
-
time: '15:00',
|
|
146
|
-
type: 'meeting',
|
|
147
|
-
status: 'pending',
|
|
148
|
-
priority: 'medium'
|
|
149
|
-
};
|
|
150
|
-
setEvents(prev => [...prev, newEvent]);
|
|
151
|
-
setActionLog(prev => [\`[\${timestamp}] ➕ Added event on \${date.toLocaleDateString()}\`, ...prev.slice(0, 4)]);
|
|
152
|
-
};
|
|
153
|
-
return <div>
|
|
154
|
-
<div style={{
|
|
155
|
-
padding: 'var(--spacing-md)',
|
|
156
|
-
background: 'var(--color-primary-light)',
|
|
157
|
-
borderRadius: 'var(--radius-md)',
|
|
158
|
-
marginBottom: 'var(--spacing-lg)'
|
|
159
|
-
}}>
|
|
160
|
-
<h4 style={{
|
|
161
|
-
margin: '0 0 var(--spacing-xs) 0',
|
|
162
|
-
color: 'var(--color-primary)'
|
|
163
|
-
}}>
|
|
164
|
-
🎯 Interactive Demo
|
|
165
|
-
</h4>
|
|
166
|
-
<p style={{
|
|
167
|
-
margin: 0,
|
|
168
|
-
fontSize: 'var(--font-size-sm)',
|
|
169
|
-
color: 'var(--color-text-secondary)'
|
|
170
|
-
}}>
|
|
171
|
-
• Click events to toggle status • Click dates to add new events
|
|
172
|
-
</p>
|
|
173
|
-
</div>
|
|
174
|
-
|
|
175
|
-
<Calendar events={events} onEventClick={handleEventClick} onDateClick={handleDateClick} config={{
|
|
176
|
-
eventColors: {
|
|
177
|
-
meeting: '#4A90E2',
|
|
178
|
-
review: '#BD10E0',
|
|
179
|
-
workshop: '#4ECDC4'
|
|
180
|
-
},
|
|
181
|
-
iconRenderer: event => {
|
|
182
|
-
const icons = {
|
|
183
|
-
meeting: '👥',
|
|
184
|
-
review: '👀',
|
|
185
|
-
workshop: '🎨'
|
|
186
|
-
};
|
|
187
|
-
return <span style={{
|
|
188
|
-
fontSize: '11px'
|
|
189
|
-
}}>{icons[event.type as keyof typeof icons] || '📅'}</span>;
|
|
190
|
-
}
|
|
191
|
-
}} viewMode="month" />
|
|
192
|
-
|
|
193
|
-
{actionLog.length > 0 && <div style={{
|
|
194
|
-
marginTop: 'var(--spacing-lg)',
|
|
195
|
-
padding: 'var(--spacing-md)',
|
|
196
|
-
background: 'var(--color-background-secondary)',
|
|
197
|
-
borderRadius: 'var(--radius-md)'
|
|
198
|
-
}}>
|
|
199
|
-
<h5 style={{
|
|
200
|
-
margin: '0 0 var(--spacing-sm) 0',
|
|
201
|
-
color: 'var(--color-text)'
|
|
202
|
-
}}>
|
|
203
|
-
Recent Actions:
|
|
204
|
-
</h5>
|
|
205
|
-
{actionLog.map((log, index) => <div key={index} style={{
|
|
206
|
-
padding: 'var(--spacing-xs)',
|
|
207
|
-
margin: '2px 0',
|
|
208
|
-
background: 'var(--color-background)',
|
|
209
|
-
borderRadius: 'var(--radius-xs)',
|
|
210
|
-
fontSize: 'var(--font-size-xs)',
|
|
211
|
-
fontFamily: 'monospace'
|
|
212
|
-
}}>
|
|
213
|
-
{log}
|
|
214
|
-
</div>)}
|
|
215
|
-
</div>}
|
|
216
|
-
</div>;
|
|
217
|
-
}
|
|
218
|
-
}`,...(pe=(me=B.parameters)==null?void 0:me.docs)==null?void 0:pe.source}}};var ue,ye,ve;V.parameters={...V.parameters,docs:{...(ue=V.parameters)==null?void 0:ue.docs,source:{originalSource:`{
|
|
219
|
-
args: {
|
|
220
|
-
events: []
|
|
221
|
-
},
|
|
222
|
-
render: () => {
|
|
223
|
-
const habitEvents: CalendarEvent[] = [];
|
|
224
|
-
const today = new Date();
|
|
225
|
-
const habits = ['Exercise', 'Meditation', 'Reading', 'Water', 'Sleep'];
|
|
226
|
-
const habitIcons = ['💪', '🧘', '📚', '💧', '😴'];
|
|
227
|
-
for (let i = -7; i <= 7; i++) {
|
|
228
|
-
const date = new Date(today);
|
|
229
|
-
date.setDate(today.getDate() + i);
|
|
230
|
-
habits.forEach((habit, index) => {
|
|
231
|
-
if (Math.random() > 0.3) {
|
|
232
|
-
// 70% completion rate
|
|
233
|
-
habitEvents.push({
|
|
234
|
-
id: \`habit-\${i}-\${index}\`,
|
|
235
|
-
title: habit,
|
|
236
|
-
date: new Date(date),
|
|
237
|
-
type: 'habit',
|
|
238
|
-
status: Math.random() > 0.1 ? 'completed' : 'pending',
|
|
239
|
-
color: \`hsl(\${index * 70}, 70%, 50%)\`,
|
|
240
|
-
metadata: {
|
|
241
|
-
icon: habitIcons[index]
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
return <div>
|
|
248
|
-
<h3 style={{
|
|
249
|
-
marginBottom: 'var(--spacing-md)',
|
|
250
|
-
color: 'var(--color-text)'
|
|
251
|
-
}}>
|
|
252
|
-
🎯 Habit Tracking Use Case
|
|
253
|
-
</h3>
|
|
254
|
-
<Calendar events={habitEvents} config={{
|
|
255
|
-
iconRenderer: event => <span style={{
|
|
256
|
-
fontSize: '10px'
|
|
257
|
-
}}>{event.metadata?.icon as string || '✓'}</span>,
|
|
258
|
-
maxEventsPerDay: 8,
|
|
259
|
-
mondayStart: true
|
|
260
|
-
}} viewMode="month" />
|
|
261
|
-
</div>;
|
|
262
|
-
}
|
|
263
|
-
}`,...(ve=(ye=V.parameters)==null?void 0:ye.docs)==null?void 0:ve.source}}};var ge,he,we;L.parameters={...L.parameters,docs:{...(ge=L.parameters)==null?void 0:ge.docs,source:{originalSource:`{
|
|
264
|
-
args: {
|
|
265
|
-
events: []
|
|
266
|
-
},
|
|
267
|
-
render: () => {
|
|
268
|
-
const today = new Date();
|
|
269
|
-
const scheduleEvents: CalendarEvent[] = [
|
|
270
|
-
// Monday
|
|
271
|
-
{
|
|
272
|
-
id: 'schedule-1',
|
|
273
|
-
title: 'Team Standup and a very long text for a task that never ends',
|
|
274
|
-
date: new Date(today.getTime() - (today.getDay() - 1) * 24 * 60 * 60 * 1000),
|
|
275
|
-
time: '09:00',
|
|
276
|
-
type: 'meeting',
|
|
277
|
-
status: 'pending',
|
|
278
|
-
priority: 'medium'
|
|
279
|
-
}, {
|
|
280
|
-
id: 'schedule-2',
|
|
281
|
-
title: 'Code Review',
|
|
282
|
-
date: new Date(today.getTime() - (today.getDay() - 1) * 24 * 60 * 60 * 1000),
|
|
283
|
-
time: '11:30',
|
|
284
|
-
type: 'review',
|
|
285
|
-
status: 'completed',
|
|
286
|
-
priority: 'high'
|
|
287
|
-
},
|
|
288
|
-
// Tuesday
|
|
289
|
-
{
|
|
290
|
-
id: 'schedule-3',
|
|
291
|
-
title: 'Client Call',
|
|
292
|
-
date: new Date(today.getTime() - (today.getDay() - 2) * 24 * 60 * 60 * 1000),
|
|
293
|
-
time: '10:00',
|
|
294
|
-
type: 'call',
|
|
295
|
-
status: 'pending',
|
|
296
|
-
priority: 'high'
|
|
297
|
-
}, {
|
|
298
|
-
id: 'schedule-4',
|
|
299
|
-
title: 'Sprint Planning',
|
|
300
|
-
date: new Date(today.getTime() - (today.getDay() - 2) * 24 * 60 * 60 * 1000),
|
|
301
|
-
time: '14:00',
|
|
302
|
-
type: 'meeting',
|
|
303
|
-
status: 'pending',
|
|
304
|
-
priority: 'high'
|
|
305
|
-
},
|
|
306
|
-
// Friday
|
|
307
|
-
{
|
|
308
|
-
id: 'schedule-5',
|
|
309
|
-
title: 'Demo Day',
|
|
310
|
-
date: new Date(today.getTime() - (today.getDay() - 5) * 24 * 60 * 60 * 1000),
|
|
311
|
-
time: '13:00',
|
|
312
|
-
type: 'presentation',
|
|
313
|
-
status: 'pending',
|
|
314
|
-
priority: 'high'
|
|
315
|
-
}];
|
|
316
|
-
return <div>
|
|
317
|
-
<h3 style={{
|
|
318
|
-
marginBottom: 'var(--spacing-md)',
|
|
319
|
-
color: 'var(--color-text)'
|
|
320
|
-
}}>
|
|
321
|
-
📅 Event Scheduling (Week View)
|
|
322
|
-
</h3>
|
|
323
|
-
<Calendar events={scheduleEvents} config={{
|
|
324
|
-
eventColors: {
|
|
325
|
-
meeting: '#4A90E2',
|
|
326
|
-
call: '#7ED321',
|
|
327
|
-
review: '#BD10E0',
|
|
328
|
-
presentation: '#FF6B6B'
|
|
329
|
-
},
|
|
330
|
-
iconRenderer: event => {
|
|
331
|
-
const icons = {
|
|
332
|
-
meeting: '👥',
|
|
333
|
-
call: '📞',
|
|
334
|
-
review: '👀',
|
|
335
|
-
presentation: '🎯'
|
|
336
|
-
};
|
|
337
|
-
return <span style={{
|
|
338
|
-
fontSize: '12px'
|
|
339
|
-
}}>{icons[event.type as keyof typeof icons] || '📅'}</span>;
|
|
340
|
-
},
|
|
341
|
-
maxEventsPerDay: 6,
|
|
342
|
-
mondayStart: true
|
|
343
|
-
}} viewMode="week" />
|
|
344
|
-
</div>;
|
|
345
|
-
}
|
|
346
|
-
}`,...(we=(he=L.parameters)==null?void 0:he.docs)==null?void 0:we.source}}};var De,fe,xe;H.parameters={...H.parameters,docs:{...(De=H.parameters)==null?void 0:De.docs,source:{originalSource:`{
|
|
347
|
-
args: {
|
|
348
|
-
events: []
|
|
349
|
-
},
|
|
350
|
-
render: () => {
|
|
351
|
-
const customEvents: CalendarEvent[] = [{
|
|
352
|
-
id: 'custom-1',
|
|
353
|
-
title: 'VIP Client Meeting',
|
|
354
|
-
date: new Date(),
|
|
355
|
-
time: '10:00',
|
|
356
|
-
type: 'vip',
|
|
357
|
-
status: 'pending',
|
|
358
|
-
priority: 'high'
|
|
359
|
-
}, {
|
|
360
|
-
id: 'custom-2',
|
|
361
|
-
title: 'Design Sprint',
|
|
362
|
-
date: new Date(Date.now() + 24 * 60 * 60 * 1000),
|
|
363
|
-
type: 'workshop',
|
|
364
|
-
status: 'pending',
|
|
365
|
-
priority: 'medium'
|
|
366
|
-
}, {
|
|
367
|
-
id: 'custom-3',
|
|
368
|
-
title: 'Project Milestone ✓',
|
|
369
|
-
date: new Date(Date.now() - 24 * 60 * 60 * 1000),
|
|
370
|
-
type: 'milestone',
|
|
371
|
-
status: 'completed',
|
|
372
|
-
priority: 'high'
|
|
373
|
-
}];
|
|
374
|
-
return <div>
|
|
375
|
-
<h3 style={{
|
|
376
|
-
marginBottom: 'var(--spacing-md)',
|
|
377
|
-
color: 'var(--color-text)'
|
|
378
|
-
}}>
|
|
379
|
-
🎨 Custom Colors, Icons & Configuration
|
|
380
|
-
</h3>
|
|
381
|
-
<Calendar events={customEvents} config={{
|
|
382
|
-
eventColors: {
|
|
383
|
-
vip: '#FF6B6B',
|
|
384
|
-
workshop: '#4ECDC4',
|
|
385
|
-
milestone: '#F39C12'
|
|
386
|
-
},
|
|
387
|
-
iconRenderer: event => {
|
|
388
|
-
if (event.type === 'vip') return <span style={{
|
|
389
|
-
fontSize: '12px'
|
|
390
|
-
}}>⭐</span>;
|
|
391
|
-
if (event.type === 'workshop') return <span style={{
|
|
392
|
-
fontSize: '12px'
|
|
393
|
-
}}>🎨</span>;
|
|
394
|
-
if (event.type === 'milestone') return <span style={{
|
|
395
|
-
fontSize: '12px'
|
|
396
|
-
}}>🎯</span>;
|
|
397
|
-
return <span style={{
|
|
398
|
-
fontSize: '12px'
|
|
399
|
-
}}>📅</span>;
|
|
400
|
-
},
|
|
401
|
-
maxEventsPerDay: 6,
|
|
402
|
-
mondayStart: true,
|
|
403
|
-
showWeekNumbers: true,
|
|
404
|
-
locale: 'en-US'
|
|
405
|
-
}} viewMode="month" />
|
|
406
|
-
</div>;
|
|
407
|
-
}
|
|
408
|
-
}`,...(xe=(fe=H.parameters)==null?void 0:fe.docs)==null?void 0:xe.source}}};var Ce,ke,_e;R.parameters={...R.parameters,docs:{...(Ce=R.parameters)==null?void 0:Ce.docs,source:{originalSource:`{
|
|
409
|
-
args: {
|
|
410
|
-
events: []
|
|
411
|
-
},
|
|
412
|
-
render: () => {
|
|
413
|
-
const manyEvents: CalendarEvent[] = [];
|
|
414
|
-
const today = new Date();
|
|
415
|
-
|
|
416
|
-
// Generate multiple events for a single day
|
|
417
|
-
for (let i = 0; i < 6; i++) {
|
|
418
|
-
manyEvents.push({
|
|
419
|
-
id: \`many-\${i}\`,
|
|
420
|
-
title: \`Meeting \${i + 1}\`,
|
|
421
|
-
date: today,
|
|
422
|
-
time: \`\${9 + i}:00\`,
|
|
423
|
-
type: 'meeting',
|
|
424
|
-
status: 'pending',
|
|
425
|
-
priority: 'medium'
|
|
426
|
-
});
|
|
427
|
-
}
|
|
428
|
-
return <div style={{
|
|
429
|
-
display: 'grid',
|
|
430
|
-
gap: 'var(--spacing-xl)'
|
|
431
|
-
}}>
|
|
432
|
-
<div>
|
|
433
|
-
<h4 style={{
|
|
434
|
-
margin: '0 0 var(--spacing-md) 0',
|
|
435
|
-
color: 'var(--color-text)'
|
|
436
|
-
}}>
|
|
437
|
-
📊 Many Events (shows "more" indicator)
|
|
438
|
-
</h4>
|
|
439
|
-
<Calendar events={manyEvents} config={{
|
|
440
|
-
maxEventsPerDay: 3
|
|
441
|
-
}} viewMode="month" />
|
|
442
|
-
</div>
|
|
443
|
-
|
|
444
|
-
<div>
|
|
445
|
-
<h4 style={{
|
|
446
|
-
margin: '0 0 var(--spacing-md) 0',
|
|
447
|
-
color: 'var(--color-text)'
|
|
448
|
-
}}>
|
|
449
|
-
💨 Loading State
|
|
450
|
-
</h4>
|
|
451
|
-
<Calendar events={[]} loading={true} />
|
|
452
|
-
</div>
|
|
453
|
-
|
|
454
|
-
<div>
|
|
455
|
-
<h4 style={{
|
|
456
|
-
margin: '0 0 var(--spacing-md) 0',
|
|
457
|
-
color: 'var(--color-text)'
|
|
458
|
-
}}>
|
|
459
|
-
📭 Empty State
|
|
460
|
-
</h4>
|
|
461
|
-
<Calendar events={[]} emptyState={<span style={{
|
|
462
|
-
color: 'var(--color-text-tertiary)',
|
|
463
|
-
fontSize: '11px'
|
|
464
|
-
}}>
|
|
465
|
-
No events
|
|
466
|
-
</span>} />
|
|
467
|
-
</div>
|
|
468
|
-
</div>;
|
|
469
|
-
}
|
|
470
|
-
}`,...(_e=(ke=R.parameters)==null?void 0:ke.docs)==null?void 0:_e.source}}};const Rt=["MonthView","WeekView","DayView","ClickInteractions","HabitTracker","EventScheduler","CustomConfiguration","ComponentStates"];export{B as ClickInteractions,R as ComponentStates,H as CustomConfiguration,$ as DayView,L as EventScheduler,V as HabitTracker,M as MonthView,N as WeekView,Rt as __namedExportsOrder,Ht as default};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import{r as p,j as e}from"./iframe-CvT6MryR.js";import{m as l}from"./proxy-0exJiild.js";import{M as L,S}from"./sun-BwQ2hAsY.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-BdSKNtzx.js";import"./createLucideIcon-Eaeny9Zi.js";const U=p.createContext(void 0),Y=()=>p.useContext(U)??null,X=({children:r,defaultTheme:m="light",storageKey:s="app-theme"})=>{const[i,g]=p.useState(()=>{const a=localStorage.getItem(s);return a&&["light","dark","lossito","lossito-dark","dmood","dmood-dark","crt"].includes(a)?a:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":m}),v=a=>{g(a),localStorage.setItem(s,a)},n=()=>{const a=["light","dark","lossito","lossito-dark","dmood","dmood-dark","crt"],w=(a.indexOf(i)+1)%a.length;v(a[w])};return p.useEffect(()=>{const a=document.documentElement;a.setAttribute("data-theme",i),i.includes("dark")?a.classList.add("dark"):a.classList.remove("dark")},[i]),p.useEffect(()=>{const a=window.matchMedia("(prefers-color-scheme: dark)"),d=w=>{localStorage.getItem(s)||g(w.matches?"dark":"light")};return a.addEventListener("change",d),()=>a.removeEventListener("change",d)},[s]),e.jsx(U.Provider,{value:{theme:i,setTheme:v,toggleTheme:n},children:r})};X.__docgenInfo={description:"",methods:[],displayName:"ThemeProvider",props:{children:{required:!0,tsType:{name:"ReactReactNode",raw:"React.ReactNode"},description:""},defaultTheme:{required:!1,tsType:{name:"union",raw:"'light' | 'dark' | 'lossito' | 'lossito-dark' | 'dmood' | 'dmood-dark' | 'crt'",elements:[{name:"literal",value:"'light'"},{name:"literal",value:"'dark'"},{name:"literal",value:"'lossito'"},{name:"literal",value:"'lossito-dark'"},{name:"literal",value:"'dmood'"},{name:"literal",value:"'dmood-dark'"},{name:"literal",value:"'crt'"}]},description:"",defaultValue:{value:"'light'",computed:!1}},storageKey:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"'app-theme'",computed:!1}}}};const Z="_button_2917u_1",K="_iconWrapper_2917u_20",ee="_label_2917u_28",ae="_toggle_2917u_33",te="_toggleTrack_2917u_43",oe="_toggleThumb_2917u_53",re="_dropdown_2917u_65",se="_dropdownTrigger_2917u_69",ne="_dropdownMenu_2917u_87",le="_dropdownItem_2917u_106",ie="_active_2917u_124",de="_icon_2917u_20",ce="_text_2917u_144",o={button:Z,iconWrapper:K,label:ee,toggle:ae,toggleTrack:te,toggleThumb:oe,dropdown:re,dropdownTrigger:se,dropdownMenu:ne,dropdownItem:le,active:ie,icon:de,text:ce},h=({variant:r="button",showLabel:m=!1,className:s="",currentTheme:i,onThemeChange:g,themes:v})=>{const n=Y(),a=i??(n==null?void 0:n.theme)??"light",d=g??(n==null?void 0:n.setTheme)??(()=>{}),c=v??[{value:"light",label:"Light",icon:e.jsx(S,{})},{value:"dark",label:"Dark",icon:e.jsx(L,{})},{value:"lossito",label:"Lossito Light",icon:"✨"},{value:"lossito-dark",label:"Lossito Dark",icon:"🌑"},{value:"dmood",label:"Dmood Light",icon:"💙"},{value:"dmood-dark",label:"Dmood Dark",icon:"🌌"}],j=c.findIndex(t=>t.value===a),u=c[j]??c[0];if(r==="toggle"){const t=a.includes("dark");return e.jsxs(l.button,{className:`${o.toggle} ${s}`,onClick:()=>d(t?"light":"dark"),whileTap:{scale:.95},"aria-label":"Toggle theme",children:[e.jsx(l.div,{className:o.toggleTrack,animate:{backgroundColor:t?"var(--color-primary)":"var(--color-border)"},children:e.jsx(l.div,{className:o.toggleThumb,animate:{x:t?24:0},transition:{type:"spring",stiffness:500,damping:30},children:t?e.jsx(L,{size:14}):e.jsx(S,{size:14})})}),m&&e.jsx("span",{className:o.label,children:t?"Dark":"Light"})]})}return r==="dropdown"?e.jsxs("div",{className:`${o.dropdown} ${s}`,children:[e.jsxs(l.button,{className:o.dropdownTrigger,whileTap:{scale:.98},children:[u.icon,m&&e.jsx("span",{className:o.label,children:u.label})]}),e.jsx(l.div,{className:o.dropdownMenu,initial:{opacity:0,y:-10},animate:{opacity:1,y:0},children:c.map(t=>e.jsxs(l.button,{className:`${o.dropdownItem} ${a===t.value?o.active:""}`,onClick:()=>d(t.value),whileHover:{x:4},whileTap:{scale:.98},children:[e.jsx("span",{className:o.icon,children:t.icon}),e.jsx("span",{className:o.text,children:t.label})]},t.value))})]}):e.jsxs(l.button,{className:`${o.button} ${s}`,onClick:()=>{const t=(j+1)%c.length;d(c[t].value)},whileTap:{scale:.95},whileHover:{scale:1.05},"aria-label":`Current theme: ${u.label}. Click to change.`,children:[e.jsx(l.div,{initial:{rotate:-180,opacity:0},animate:{rotate:0,opacity:1},exit:{rotate:180,opacity:0},transition:{duration:.3},className:o.iconWrapper,children:u.icon},a),m&&e.jsx("span",{className:o.label,children:u.label})]})};h.__docgenInfo={description:"",methods:[],displayName:"ThemeSwitcher",props:{variant:{required:!1,tsType:{name:"union",raw:"'button' | 'dropdown' | 'toggle'",elements:[{name:"literal",value:"'button'"},{name:"literal",value:"'dropdown'"},{name:"literal",value:"'toggle'"}]},description:"",defaultValue:{value:"'button'",computed:!1}},showLabel:{required:!1,tsType:{name:"boolean"},description:"",defaultValue:{value:"false",computed:!1}},className:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"''",computed:!1}},currentTheme:{required:!1,tsType:{name:"union",raw:"'light' | 'dark' | 'lossito' | 'lossito-dark' | 'dmood' | 'dmood-dark' | 'crt'",elements:[{name:"literal",value:"'light'"},{name:"literal",value:"'dark'"},{name:"literal",value:"'lossito'"},{name:"literal",value:"'lossito-dark'"},{name:"literal",value:"'dmood'"},{name:"literal",value:"'dmood-dark'"},{name:"literal",value:"'crt'"}]},description:""},onThemeChange:{required:!1,tsType:{name:"signature",type:"function",raw:"(theme: Theme) => void",signature:{arguments:[{type:{name:"union",raw:"'light' | 'dark' | 'lossito' | 'lossito-dark' | 'dmood' | 'dmood-dark' | 'crt'",elements:[{name:"literal",value:"'light'"},{name:"literal",value:"'dark'"},{name:"literal",value:"'lossito'"},{name:"literal",value:"'lossito-dark'"},{name:"literal",value:"'dmood'"},{name:"literal",value:"'dmood-dark'"},{name:"literal",value:"'crt'"}]},name:"theme"}],return:{name:"void"}}},description:""},themes:{required:!1,tsType:{name:"Array",elements:[{name:"ThemeOption"}],raw:"ThemeOption[]"},description:""}}};const me=({children:r})=>e.jsx(X,{defaultTheme:"light",children:r}),be={title:"Molecules/ThemeSwitcher",component:h,decorators:[r=>e.jsx(me,{children:e.jsx("div",{style:{padding:"2rem"},children:e.jsx(r,{})})})],parameters:{layout:"centered"},argTypes:{variant:{control:{type:"select"},options:["button","dropdown","toggle"]},showLabel:{control:{type:"boolean"}}}},b={args:{variant:"button",showLabel:!1}},x={args:{variant:"button",showLabel:!0}},f={args:{variant:"toggle",showLabel:!1}},T={args:{variant:"toggle",showLabel:!0}},k={args:{variant:"dropdown",showLabel:!1}},_={args:{variant:"dropdown",showLabel:!0}},y={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"2rem",alignItems:"center"},children:[e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"1rem",color:"var(--color-text)"},children:"Button Variant"}),e.jsx(h,{variant:"button",showLabel:!0})]}),e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"1rem",color:"var(--color-text)"},children:"Toggle Variant"}),e.jsx(h,{variant:"toggle",showLabel:!0})]}),e.jsxs("div",{children:[e.jsx("h3",{style:{marginBottom:"1rem",color:"var(--color-text)"},children:"Dropdown Variant"}),e.jsx(h,{variant:"dropdown",showLabel:!0})]})]})};var I,N,D;b.parameters={...b.parameters,docs:{...(I=b.parameters)==null?void 0:I.docs,source:{originalSource:`{
|
|
2
|
-
args: {
|
|
3
|
-
variant: 'button',
|
|
4
|
-
showLabel: false
|
|
5
|
-
}
|
|
6
|
-
}`,...(D=(N=b.parameters)==null?void 0:N.docs)==null?void 0:D.source}}};var V,B,C;x.parameters={...x.parameters,docs:{...(V=x.parameters)==null?void 0:V.docs,source:{originalSource:`{
|
|
7
|
-
args: {
|
|
8
|
-
variant: 'button',
|
|
9
|
-
showLabel: true
|
|
10
|
-
}
|
|
11
|
-
}`,...(C=(B=x.parameters)==null?void 0:B.docs)==null?void 0:C.source}}};var M,W,q;f.parameters={...f.parameters,docs:{...(M=f.parameters)==null?void 0:M.docs,source:{originalSource:`{
|
|
12
|
-
args: {
|
|
13
|
-
variant: 'toggle',
|
|
14
|
-
showLabel: false
|
|
15
|
-
}
|
|
16
|
-
}`,...(q=(W=f.parameters)==null?void 0:W.docs)==null?void 0:q.source}}};var $,E,O;T.parameters={...T.parameters,docs:{...($=T.parameters)==null?void 0:$.docs,source:{originalSource:`{
|
|
17
|
-
args: {
|
|
18
|
-
variant: 'toggle',
|
|
19
|
-
showLabel: true
|
|
20
|
-
}
|
|
21
|
-
}`,...(O=(E=T.parameters)==null?void 0:E.docs)==null?void 0:O.source}}};var R,P,z;k.parameters={...k.parameters,docs:{...(R=k.parameters)==null?void 0:R.docs,source:{originalSource:`{
|
|
22
|
-
args: {
|
|
23
|
-
variant: 'dropdown',
|
|
24
|
-
showLabel: false
|
|
25
|
-
}
|
|
26
|
-
}`,...(z=(P=k.parameters)==null?void 0:P.docs)==null?void 0:z.source}}};var A,H,Q;_.parameters={..._.parameters,docs:{...(A=_.parameters)==null?void 0:A.docs,source:{originalSource:`{
|
|
27
|
-
args: {
|
|
28
|
-
variant: 'dropdown',
|
|
29
|
-
showLabel: true
|
|
30
|
-
}
|
|
31
|
-
}`,...(Q=(H=_.parameters)==null?void 0:H.docs)==null?void 0:Q.source}}};var F,G,J;y.parameters={...y.parameters,docs:{...(F=y.parameters)==null?void 0:F.docs,source:{originalSource:`{
|
|
32
|
-
render: () => <div style={{
|
|
33
|
-
display: 'flex',
|
|
34
|
-
flexDirection: 'column',
|
|
35
|
-
gap: '2rem',
|
|
36
|
-
alignItems: 'center'
|
|
37
|
-
}}>
|
|
38
|
-
<div>
|
|
39
|
-
<h3 style={{
|
|
40
|
-
marginBottom: '1rem',
|
|
41
|
-
color: 'var(--color-text)'
|
|
42
|
-
}}>Button Variant</h3>
|
|
43
|
-
<ThemeSwitcher variant="button" showLabel />
|
|
44
|
-
</div>
|
|
45
|
-
|
|
46
|
-
<div>
|
|
47
|
-
<h3 style={{
|
|
48
|
-
marginBottom: '1rem',
|
|
49
|
-
color: 'var(--color-text)'
|
|
50
|
-
}}>Toggle Variant</h3>
|
|
51
|
-
<ThemeSwitcher variant="toggle" showLabel />
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
<div>
|
|
55
|
-
<h3 style={{
|
|
56
|
-
marginBottom: '1rem',
|
|
57
|
-
color: 'var(--color-text)'
|
|
58
|
-
}}>Dropdown Variant</h3>
|
|
59
|
-
<ThemeSwitcher variant="dropdown" showLabel />
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
}`,...(J=(G=y.parameters)==null?void 0:G.docs)==null?void 0:J.source}}};const xe=["Button","ButtonWithLabel","Toggle","ToggleWithLabel","Dropdown","DropdownWithLabel","MultipleVariants"];export{b as Button,x as ButtonWithLabel,k as Dropdown,_ as DropdownWithLabel,y as MultipleVariants,f as Toggle,T as ToggleWithLabel,xe as __namedExportsOrder,be as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r}from"./index-Cb6YhhUk.js";var t,o=r;t=o.createRoot,o.hydrateRoot;export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1{font-size:36px;font-weight:700;color:var(--color-text);margin-bottom:16px}h2{font-size:32px;font-weight:600;color:var(--color-text);margin-bottom:12px}h3{font-size:20px;font-weight:600;color:var(--color-text);margin-bottom:12px}h4{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:8px}h5{font-size:16px;font-weight:600;color:var(--color-text);margin-bottom:8px}h6{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin-bottom:8px}p{color:var(--color-text);line-height:1.6;margin-bottom:16px}@media (max-width: 768px){.header{padding:16px;margin-bottom:24px}h1{font-size:28px}h2{font-size:24px}h3{font-size:18px}}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--spacing-4xl: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-slower: .5s cubic-bezier(.4, 0, .2, 1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070;--breakpoint-xs: 480px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}:root:not([data-theme*=dark]),:root[data-theme=default],[data-theme=lossito],[data-theme=dmood]{--color-success: #10b981;--color-success-light: #34d399;--color-success-bg: #d1fae5;--color-error: #ef4444;--color-error-light: #fb7185;--color-error-bg: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-bg: #fef3c7;--color-info: #0ea5e9;--color-info-light: #38bdf8;--color-info-bg: #e0f2fe;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .08), 0 10px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .12);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .06)}[data-theme=dark],[data-theme=lossito-dark],[data-theme=dmood-dark]{--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-bg: #064e3b;--color-error: #fb7185;--color-error-light: #fda4af;--color-error-bg: #881337;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-bg: #451a03;--color-info: #38bdf8;--color-info-light: #7dd3fc;--color-info-bg: #082f49;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .25);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .25), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .35), 0 4px 6px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .35), 0 10px 10px rgba(0, 0, 0, .25);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .45);--shadow-inner: inset 0 2px 4px rgba(0, 0, 0, .25)}:root,:root[data-theme=default],[data-theme=default]{--color-primary: #7c3aed;--color-secondary: #14b8a6;--color-accent: #ec4899;--color-background: #ffffff;--color-background-secondary: #fafafa;--color-background-tertiary: #f5f5f5;--color-surface: #ffffff;--color-surface-hover: #fafafa;--color-text: #18181b;--color-text-secondary: #71717a;--color-text-tertiary: #a1a1aa;--color-text-muted: #d4d4d8;--color-text-inverse: #ffffff;--color-border: #e4e4e7;--color-border-hover: #d4d4d8}:root[data-theme=dark],[data-theme=dark]{--color-primary: #a78bfa;--color-secondary: #2dd4bf;--color-accent: #f472b6;--color-background: #0a0a0a;--color-background-secondary: #18181b;--color-background-tertiary: #27272a;--color-surface: #18181b;--color-surface-hover: #27272a;--color-text: #fafafa;--color-text-secondary: #a1a1aa;--color-text-tertiary: #71717a;--color-text-muted: #52525b;--color-text-inverse: #0a0a0a;--color-border: #27272a;--color-border-hover: #3f3f46}:root[data-theme=lossito],[data-theme=lossito]{--color-primary: #3b82f6;--color-secondary: #1f2937;--color-accent: #3b82f6;--color-background: #f8fafc;--color-background-secondary: #ffffff;--color-background-tertiary: #f1f5f9;--color-surface: #ffffff;--color-surface-hover: #f8fafc;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #64748b;--color-text-muted: #94a3b8;--color-text-inverse: #ffffff;--color-border: #e2e8f0;--color-border-hover: #cbd5e1}:root[data-theme=lossito-dark],[data-theme=lossito-dark]{--color-primary: #f5b829;--color-secondary: #e5e7eb;--color-accent: #fce390;--color-background: #010907;--color-background-secondary: #0e1a19;--color-background-tertiary: #040d1b;--color-surface: #0e1a19;--color-surface-hover: #040d1b;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-muted: #64748b;--color-text-inverse: #111827;--color-border: #3e3c03;--color-border-hover: #4b5563;--color-success: #22c55e;--color-error: #fd4545;--color-warning: #fef3c7;--color-info: #dbeafe}:root[data-theme=dmood],[data-theme=dmood]{--color-primary: #0500F2;--color-secondary: #fd79a8;--color-accent: #fd79a8;--color-background: #ffffff;--color-background-secondary: #f8f8f8;--color-background-tertiary: #e8e8e8;--color-surface: #ffffff;--color-surface-hover: #f8f8f8;--color-text: #2d3436;--color-text-secondary: #707070;--color-text-tertiary: #909090;--color-text-muted: #b0b0b0;--color-text-inverse: #ffffff;--color-border: #dfe6e9;--color-border-hover: #c0c0c0}:root[data-theme=dmood-dark],[data-theme=dmood-dark]{--color-primary: #4946ff;--color-secondary: #ffb3d0;--color-accent: #ffb3d0;--color-background: #1a1a1a;--color-background-secondary: #252525;--color-background-tertiary: #333333;--color-surface: #252525;--color-surface-hover: #333333;--color-text: #f0f0f0;--color-text-secondary: #c0c0c0;--color-text-tertiary: #909090;--color-text-muted: #707070;--color-text-inverse: #1a1a1a;--color-border: #404040;--color-border-hover: #505050}:root:not([data-theme*=dark]),:root[data-theme=default],[data-theme=lossito],[data-theme=dmood]{--color-primary-hover: color-mix(in oklch, var(--color-primary) 85%, black);--color-primary-active: color-mix(in oklch, var(--color-primary) 70%, black);--color-primary-light: color-mix(in oklch, var(--color-primary) 35%, white);--color-primary-lighter: color-mix(in oklch, var(--color-primary) 20%, white);--color-secondary-hover: color-mix(in oklch, var(--color-secondary) 85%, black);--color-secondary-active: color-mix(in oklch, var(--color-secondary) 70%, black);--color-secondary-light: color-mix(in oklch, var(--color-secondary) 35%, white);--color-secondary-lighter: color-mix(in oklch, var(--color-secondary) 20%, white);--color-accent-hover: color-mix(in oklch, var(--color-accent) 85%, black);--color-accent-active: color-mix(in oklch, var(--color-accent) 70%, black);--color-success-hover: color-mix(in oklch, var(--color-success) 85%, black);--color-success-active: color-mix(in oklch, var(--color-success) 70%, black);--color-error-hover: color-mix(in oklch, var(--color-error) 85%, black);--color-error-active: color-mix(in oklch, var(--color-error) 70%, black);--color-warning-hover: color-mix(in oklch, var(--color-warning) 85%, black);--color-warning-active: color-mix(in oklch, var(--color-warning) 70%, black);--color-info-hover: color-mix(in oklch, var(--color-info) 85%, black);--color-info-active: color-mix(in oklch, var(--color-info) 70%, black)}[data-theme=dark],[data-theme=lossito-dark],[data-theme=dmood-dark]{--color-primary-hover: color-mix(in oklch, var(--color-primary) 85%, white);--color-primary-active: color-mix(in oklch, var(--color-primary) 85%, black);--color-primary-light: color-mix(in oklch, var(--color-primary) 50%, black);--color-primary-lighter: color-mix(in oklch, var(--color-primary) 30%, black);--color-secondary-hover: color-mix(in oklch, var(--color-secondary) 85%, white);--color-secondary-active: color-mix(in oklch, var(--color-secondary) 85%, black);--color-secondary-light: color-mix(in oklch, var(--color-secondary) 50%, black);--color-secondary-lighter: color-mix(in oklch, var(--color-secondary) 30%, black);--color-accent-hover: color-mix(in oklch, var(--color-accent) 85%, white);--color-accent-active: color-mix(in oklch, var(--color-accent) 85%, black);--color-success-hover: color-mix(in oklch, var(--color-success) 80%, white);--color-success-active: color-mix(in oklch, var(--color-success) 85%, black);--color-error-hover: color-mix(in oklch, var(--color-error) 80%, white);--color-error-active: color-mix(in oklch, var(--color-error) 85%, black);--color-warning-hover: color-mix(in oklch, var(--color-warning) 80%, white);--color-warning-active: color-mix(in oklch, var(--color-warning) 85%, black);--color-info-hover: color-mix(in oklch, var(--color-info) 80%, white);--color-info-active: color-mix(in oklch, var(--color-info) 85%, black)}:root,[data-theme]{--color-border-focus: var(--color-primary)}
|