@stfrigerio/sito-template 0.1.73 → 0.1.75

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (187) hide show
  1. package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
  2. package/dist/index.esm.js +10 -4
  3. package/dist/index.esm.js.map +1 -1
  4. package/dist/index.js +10 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/styles.css +1 -1
  7. package/dist/styles.css.map +1 -1
  8. package/package.json +1 -1
  9. package/storybook-static/assets/{ASCIIText.stories-yWdkeCFw.js → ASCIIText.stories-Be7IUzBl.js} +1 -1
  10. package/storybook-static/assets/{AllAtoms.stories-D4-SQUuu.js → AllAtoms.stories-C9NutWhw.js} +1 -1
  11. package/storybook-static/assets/{AnimatedContent.stories-DSYIR5wN.js → AnimatedContent.stories-DAZgqjS_.js} +1 -1
  12. package/storybook-static/assets/{AnimatedList.stories-T24AuVkv.js → AnimatedList.stories-Br-uT7_K.js} +1 -1
  13. package/storybook-static/assets/{Antigravity.stories-DzTXGWmi.js → Antigravity.stories-BZViYA2F.js} +1 -1
  14. package/storybook-static/assets/{ArrayInput.stories-eKRDos-X.js → ArrayInput.stories-OZicZh0x.js} +1 -1
  15. package/storybook-static/assets/{Aurora.stories-BPsqLAWZ.js → Aurora.stories-_Kk2dlqT.js} +1 -1
  16. package/storybook-static/assets/{Beams.stories-BENy-_Vw.js → Beams.stories-BWf6w14D.js} +1 -1
  17. package/storybook-static/assets/{BlobCursor.stories-DIZuQWFz.js → BlobCursor.stories-C8LnoCVY.js} +1 -1
  18. package/storybook-static/assets/{BlurText.stories-Dlg4TOUG.js → BlurText.stories-B-YSXpM4.js} +1 -1
  19. package/storybook-static/assets/{BooleansHeatmap.stories-ByVDEzqb.js → BooleansHeatmap.stories-NVqKfTn7.js} +1 -1
  20. package/storybook-static/assets/{BorderGlow.stories-K5M4QBQS.js → BorderGlow.stories-Cb5lpRXR.js} +1 -1
  21. package/storybook-static/assets/{BubbleMenu.stories-Bq-yo3V9.js → BubbleMenu.stories-DcO35VF7.js} +1 -1
  22. package/storybook-static/assets/{Button-DQla6H3P.js → Button-C8qYbNr4.js} +1 -1
  23. package/storybook-static/assets/Button-Cx1LZrA2.css +1 -0
  24. package/storybook-static/assets/{Button.stories-Cwm1uSEe.js → Button.stories-DwzHgPep.js} +1 -1
  25. package/storybook-static/assets/Calendar-DmOKLbiz.css +1 -0
  26. package/storybook-static/assets/Calendar.stories-BA2-_mhV.js +367 -0
  27. package/storybook-static/assets/{Card-D2W3wjZy.js → Card-Cd6nYK-n.js} +1 -1
  28. package/storybook-static/assets/{Card.stories-CN0Pj86n.js → Card.stories-BR4jTCEu.js} +1 -1
  29. package/storybook-static/assets/{CardNav.stories-DkSfKCJm.js → CardNav.stories-BC92ePdS.js} +1 -1
  30. package/storybook-static/assets/{Carousel.stories-CVfRELzK.js → Carousel.stories-2zzLsuyG.js} +1 -1
  31. package/storybook-static/assets/{Checkbox-BEMCpJLS.js → Checkbox-D1NYWUJY.js} +1 -1
  32. package/storybook-static/assets/{Checkbox.stories-DGfYhJ6B.js → Checkbox.stories-5-iRUqeK.js} +1 -1
  33. package/storybook-static/assets/{ChromaGrid.stories-Xh0Hxk6c.js → ChromaGrid.stories-D8TFP6QH.js} +1 -1
  34. package/storybook-static/assets/{CircularGallery.stories-B_tKlhmW.js → CircularGallery.stories-JsH1BjyB.js} +1 -1
  35. package/storybook-static/assets/{CircularText.stories-CIdtjRj7.js → CircularText.stories-vbhRP9H6.js} +1 -1
  36. package/storybook-static/assets/{ClickSpark.stories-DK3dh5eA.js → ClickSpark.stories-CjalF_iE.js} +1 -1
  37. package/storybook-static/assets/{ColorBends.stories-QHDx5sTz.js → ColorBends.stories-DgCt12L9.js} +1 -1
  38. package/storybook-static/assets/{CountUp.stories-D378Y8W_.js → CountUp.stories-Bx0w5jtq.js} +1 -1
  39. package/storybook-static/assets/{Counter.stories-Dk5Bv8Ct.js → Counter.stories-RAMjdEPH.js} +1 -1
  40. package/storybook-static/assets/{Crosshair.stories-MUN171O-.js → Crosshair.stories-CGuCeDZg.js} +1 -1
  41. package/storybook-static/assets/{Cubes.stories-CviQtL5y.js → Cubes.stories-BpRxVapu.js} +1 -1
  42. package/storybook-static/assets/{CurvedLoop.stories-C36zkO4M.js → CurvedLoop.stories-B-tYGBma.js} +1 -1
  43. package/storybook-static/assets/{DarkVeil.stories-C29cMn-f.js → DarkVeil.stories-BN90toz_.js} +1 -1
  44. package/storybook-static/assets/{DateInput-Drx-2LV9.js → DateInput-De2GsD_W.js} +1 -1
  45. package/storybook-static/assets/{DateInput.stories-CLKAciVQ.js → DateInput.stories-4L2ho_Pi.js} +1 -1
  46. package/storybook-static/assets/{DecayCard.stories-Bd5Ps1i9.js → DecayCard.stories-BJ7VTrOs.js} +1 -1
  47. package/storybook-static/assets/{DecryptedText.stories-Ch69Dvsk.js → DecryptedText.stories-BhqbuMpe.js} +1 -1
  48. package/storybook-static/assets/{Dither.stories-B3capSS0.js → Dither.stories-UeQDenX9.js} +1 -1
  49. package/storybook-static/assets/{Dock.stories-DBCaOR4C.js → Dock.stories-NDUyF4PJ.js} +1 -1
  50. package/storybook-static/assets/{EditFAB.stories-C1xqWa6A.js → EditFAB.stories-B0wSYqZE.js} +1 -1
  51. package/storybook-static/assets/{EvilEye.stories-AVy76OJG.js → EvilEye.stories-CD4zSVsk.js} +1 -1
  52. package/storybook-static/assets/{FadeContent.stories-CPAlDBs2.js → FadeContent.stories-fS_5Hw44.js} +1 -1
  53. package/storybook-static/assets/{FaultyTerminal.stories-CB1Njw7i.js → FaultyTerminal.stories-BdbWtZwI.js} +1 -1
  54. package/storybook-static/assets/{Fbo-C0SB2kdr.js → Fbo-BuZjyF_I.js} +1 -1
  55. package/storybook-static/assets/{FloatingLines.stories-D-LG1m2I.js → FloatingLines.stories-a-bJ8W7B.js} +1 -1
  56. package/storybook-static/assets/{FlowingMenu.stories-BG1HFESz.js → FlowingMenu.stories-CPFd-oYE.js} +1 -1
  57. package/storybook-static/assets/{FluidGlass.stories-CXIPm5cg.js → FluidGlass.stories-D70sIzph.js} +1 -1
  58. package/storybook-static/assets/{Folder.stories-DB3U5hwH.js → Folder.stories-BNad9vBK.js} +1 -1
  59. package/storybook-static/assets/{FuzzyText.stories-vPc5htX9.js → FuzzyText.stories-kzTlAczv.js} +1 -1
  60. package/storybook-static/assets/{Galaxy.stories-DcKUuMT9.js → Galaxy.stories-BcoDoJJH.js} +1 -1
  61. package/storybook-static/assets/{GhostCursor.stories-Duc7utXe.js → GhostCursor.stories-CIQ5oS-a.js} +1 -1
  62. package/storybook-static/assets/{GlareHover.stories-Dl0knsPD.js → GlareHover.stories-DZKCns9C.js} +1 -1
  63. package/storybook-static/assets/{GlassSurface.stories-BHaCO3AU.js → GlassSurface.stories-DRkJx3Za.js} +1 -1
  64. package/storybook-static/assets/{GlitchText.stories-B9fHTPEu.js → GlitchText.stories-G_9lrKbn.js} +1 -1
  65. package/storybook-static/assets/{GooeyNav.stories-B4Hl3OTw.js → GooeyNav.stories-CV4BQuUk.js} +1 -1
  66. package/storybook-static/assets/{GradientBlinds.stories-Damik9Et.js → GradientBlinds.stories-DHrpEpO_.js} +1 -1
  67. package/storybook-static/assets/{GradientText.stories-DVB5Ndfl.js → GradientText.stories-CM948FuA.js} +1 -1
  68. package/storybook-static/assets/{Grainient.stories-q7QyYCRC.js → Grainient.stories-zUxmkOn4.js} +1 -1
  69. package/storybook-static/assets/{GridMotion.stories-BR97TB5W.js → GridMotion.stories-B0sfK-C-.js} +1 -1
  70. package/storybook-static/assets/{ImageSlideshow.stories-C4yxI9Hk.js → ImageSlideshow.stories-rPxMKmHH.js} +1 -1
  71. package/storybook-static/assets/{Iridescence.stories-CqLa7JSo.js → Iridescence.stories-BNNnwiDj.js} +1 -1
  72. package/storybook-static/assets/{LaserFlow.stories-DZ03d3Kr.js → LaserFlow.stories-DuoNQh4u.js} +1 -1
  73. package/storybook-static/assets/{LetterGlitch.stories-B1kZwfV4.js → LetterGlitch.stories-7kRTByUR.js} +1 -1
  74. package/storybook-static/assets/{LightPillar.stories-BH8CW99c.js → LightPillar.stories-DoEKaygk.js} +1 -1
  75. package/storybook-static/assets/{LightRays.stories-sSdy_g-K.js → LightRays.stories-DsoKnqhC.js} +1 -1
  76. package/storybook-static/assets/{Lightning.stories-Un6LCgoZ.js → Lightning.stories-BY9AXDxS.js} +1 -1
  77. package/storybook-static/assets/{LineWaves.stories-CLV_4WSt.js → LineWaves.stories-BW_b_xTw.js} +1 -1
  78. package/storybook-static/assets/{LiquidChrome.stories-ChQhK7Dy.js → LiquidChrome.stories--0ZnOsg0.js} +1 -1
  79. package/storybook-static/assets/{LiquidEther.stories-B4OmA7LY.js → LiquidEther.stories-BwpzjovS.js} +1 -1
  80. package/storybook-static/assets/{LoadingSpinner-qzqD3jTR.js → LoadingSpinner-1bG1jTA9.js} +1 -1
  81. package/storybook-static/assets/{LoadingSpinner.stories-8P7Z55GB.js → LoadingSpinner.stories-Bj9WTCwr.js} +1 -1
  82. package/storybook-static/assets/{MagicRings.stories-D2GXRX-H.js → MagicRings.stories-BYwozKiq.js} +1 -1
  83. package/storybook-static/assets/{Magnet.stories-Bgu6hV9i.js → Magnet.stories-dCmlUHRm.js} +1 -1
  84. package/storybook-static/assets/{MagnetLines.stories-Bekn7PzV.js → MagnetLines.stories-Bddr81lJ.js} +1 -1
  85. package/storybook-static/assets/{Masonry.stories-BymDnqyf.js → Masonry.stories-CsgBFQaq.js} +1 -1
  86. package/storybook-static/assets/{MetaBalls.stories-C_KyJ7W7.js → MetaBalls.stories-r-9Ktern.js} +1 -1
  87. package/storybook-static/assets/{MetallicPaint.stories-DgMk50WF.js → MetallicPaint.stories-DJ1icY96.js} +1 -1
  88. package/storybook-static/assets/{MoodChart.stories-C9m0jJCs.js → MoodChart.stories-BAN1H65s.js} +1 -1
  89. package/storybook-static/assets/{MotionConfigContext-E6BOCyHu.js → MotionConfigContext-4sobDr_8.js} +1 -1
  90. package/storybook-static/assets/{Navbar.stories-DhlE0kvG.js → Navbar.stories-DT4E8FDb.js} +1 -1
  91. package/storybook-static/assets/{Noise.stories-CDvf3xOK.js → Noise.stories-CySeqiK8.js} +1 -1
  92. package/storybook-static/assets/NumberStepper-BO5RBIZk.css +1 -0
  93. package/storybook-static/assets/{NumberStepper-DwezmIn_.js → NumberStepper-Bvk5-t63.js} +1 -1
  94. package/storybook-static/assets/{NumberStepper.stories-Dk53N2J7.js → NumberStepper.stories-D0NnhqEp.js} +1 -1
  95. package/storybook-static/assets/{Orb.stories-BrzRPQ1u.js → Orb.stories-DETL2oxn.js} +1 -1
  96. package/storybook-static/assets/{OrbitImages.stories-NOI2oLj0.js → OrbitImages.stories-BAyGh6vN.js} +1 -1
  97. package/storybook-static/assets/{PieChart.stories-MtaCNzgT.js → PieChart.stories-C_miXq6_.js} +1 -1
  98. package/storybook-static/assets/{PixelBlast.stories-XJEIYKKu.js → PixelBlast.stories-DNnRrF47.js} +1 -1
  99. package/storybook-static/assets/{PixelCard.stories-QbZqQ88B.js → PixelCard.stories-Cd6Auu0Y.js} +1 -1
  100. package/storybook-static/assets/{PixelSnow.stories-WV68wNlK.js → PixelSnow.stories-DkN5T7YO.js} +1 -1
  101. package/storybook-static/assets/{PixelTransition.stories-vqzvdubI.js → PixelTransition.stories-COEvkR-7.js} +1 -1
  102. package/storybook-static/assets/{Plasma.stories--U6_YBdM.js → Plasma.stories-B22oVtcY.js} +1 -1
  103. package/storybook-static/assets/{Prism.stories-IWJ0w1dQ.js → Prism.stories-DV0OORlV.js} +1 -1
  104. package/storybook-static/assets/{PrismaticBurst.stories-CB_t4CWR.js → PrismaticBurst.stories-DCmccTx8.js} +1 -1
  105. package/storybook-static/assets/{ProfileCard.stories-BbJ6gRsy.js → ProfileCard.stories-CHEs7KlC.js} +1 -1
  106. package/storybook-static/assets/{QuantifiableHabitsChart.stories-DgWJAXZB.js → QuantifiableHabitsChart.stories-Bl2yVrqA.js} +1 -1
  107. package/storybook-static/assets/{Radar.stories-GN-SIfi1.js → Radar.stories-I5P8dO4E.js} +1 -1
  108. package/storybook-static/assets/{Ribbons.stories-BwQB19FG.js → Ribbons.stories-D5cJQVM0.js} +1 -1
  109. package/storybook-static/assets/{RippleGrid.stories-DSt8ch11.js → RippleGrid.stories-BwtOrFUs.js} +1 -1
  110. package/storybook-static/assets/{RotatingText.stories-CvaRE13z.js → RotatingText.stories-DARyQPUz.js} +1 -1
  111. package/storybook-static/assets/{ScrollFloat.stories-BI0-boMm.js → ScrollFloat.stories-Dc0orsYz.js} +1 -1
  112. package/storybook-static/assets/{ScrollReveal.stories-CqAwHxWZ.js → ScrollReveal.stories-W8gKKJkz.js} +1 -1
  113. package/storybook-static/assets/{ScrollVelocity.stories-CxfPVUdO.js → ScrollVelocity.stories-BtBHIdDh.js} +1 -1
  114. package/storybook-static/assets/{SearchBar.stories-BYGPQpKV.js → SearchBar.stories-CKF_skS-.js} +1 -1
  115. package/storybook-static/assets/{SearchableDropdown-DKGXHEST.js → SearchableDropdown-DjgPBW4S.js} +1 -1
  116. package/storybook-static/assets/{SearchableDropdown.stories-BSIq785F.js → SearchableDropdown.stories-C9lfureo.js} +1 -1
  117. package/storybook-static/assets/{SelectInput-BTaSD4pV.js → SelectInput-D7sYzDrc.js} +1 -1
  118. package/storybook-static/assets/{SelectInput.stories-BWCsGvSv.js → SelectInput.stories-D-o6dXmn.js} +1 -1
  119. package/storybook-static/assets/{ShapeBlur.stories-CfUXU0Hu.js → ShapeBlur.stories-C7c7wicM.js} +1 -1
  120. package/storybook-static/assets/{ShapeGrid.stories-BvZ4Ujrn.js → ShapeGrid.stories-DrVQJIO7.js} +1 -1
  121. package/storybook-static/assets/{ShinyText.stories-CkM26rCA.js → ShinyText.stories-Bqs9oVTE.js} +1 -1
  122. package/storybook-static/assets/{Silk.stories-heCaR9ri.js → Silk.stories-DAfQOgwq.js} +1 -1
  123. package/storybook-static/assets/{SleepChart.stories-C_BQZ1zn.js → SleepChart.stories-C0QkrKDH.js} +1 -1
  124. package/storybook-static/assets/{Slider-DFt4SqGe.js → Slider-Bdyo6Ygg.js} +1 -1
  125. package/storybook-static/assets/{Slider.stories-CZOftn_6.js → Slider.stories-DS51oQwf.js} +1 -1
  126. package/storybook-static/assets/{SoftAurora.stories-CRCK1t7L.js → SoftAurora.stories-BTounCNw.js} +1 -1
  127. package/storybook-static/assets/{SoundDemo.stories-B9TGtTa3.js → SoundDemo.stories-DjSqbaqn.js} +1 -1
  128. package/storybook-static/assets/{SplashCursor.stories-CNr5fovk.js → SplashCursor.stories-B2z2pfTN.js} +1 -1
  129. package/storybook-static/assets/{SpotlightCard.stories-OU6sEeI7.js → SpotlightCard.stories-DFWy3Qsm.js} +1 -1
  130. package/storybook-static/assets/{Stack.stories-Cl0pCvmS.js → Stack.stories-eVxU6drS.js} +1 -1
  131. package/storybook-static/assets/{StaggeredMenu.stories-CEhjZpSE.js → StaggeredMenu.stories-Be8MWGKS.js} +1 -1
  132. package/storybook-static/assets/{StarBorder.stories-Cu8Vh6JV.js → StarBorder.stories-buLGGhWU.js} +1 -1
  133. package/storybook-static/assets/{SunburstChart.stories-CaaCz4D5.js → SunburstChart.stories-DwkU63M7.js} +1 -1
  134. package/storybook-static/assets/{Table.stories-DEvZCR8b.js → Table.stories-D4MtUw5s.js} +1 -1
  135. package/storybook-static/assets/{Tabs.stories-ByrHcH_w.js → Tabs.stories-CPFWVggt.js} +1 -1
  136. package/storybook-static/assets/{TargetCursor.stories-DflPhQr7.js → TargetCursor.stories-BIbnRiSZ.js} +1 -1
  137. package/storybook-static/assets/{TextArea-DCv2oVEi.js → TextArea-DDehMfhZ.js} +1 -1
  138. package/storybook-static/assets/{TextArea.stories-C8XpFNeS.js → TextArea.stories-CpREuHFt.js} +1 -1
  139. package/storybook-static/assets/{TextCursor.stories-BBRGtRGy.js → TextCursor.stories-BUDnLpvZ.js} +1 -1
  140. package/storybook-static/assets/{TextInput-CiEBs1p7.js → TextInput-CAzdMbcN.js} +1 -1
  141. package/storybook-static/assets/{TextInput.stories-sDjzvv_r.js → TextInput.stories-BfehwbP8.js} +1 -1
  142. package/storybook-static/assets/{TextPressure.stories-6hWaU46K.js → TextPressure.stories-DIKhiUzc.js} +1 -1
  143. package/storybook-static/assets/{TextType.stories-B96GIAfl.js → TextType.stories-DRbvgF_m.js} +1 -1
  144. package/storybook-static/assets/{ThemeSwitcher.stories-D4T-JeUC.js → ThemeSwitcher.stories-cXhciw3M.js} +1 -1
  145. package/storybook-static/assets/{Threads.stories-DFj3LyR_.js → Threads.stories-xmcTjKpL.js} +1 -1
  146. package/storybook-static/assets/{TimeInput.stories-D29y9r9_.js → TimeInput.stories-DKFZtesR.js} +1 -1
  147. package/storybook-static/assets/{Toggle-BQYsA6ul.js → Toggle-CC1WRtNx.js} +1 -1
  148. package/storybook-static/assets/{Toggle.stories-CUbp5Jsr.js → Toggle.stories-BayZsnhd.js} +1 -1
  149. package/storybook-static/assets/{ToggleButton-BfEkXfyM.js → ToggleButton-DNwMOk4B.js} +1 -1
  150. package/storybook-static/assets/{ToggleButton.stories-DV2MLkN7.js → ToggleButton.stories-CE4iTjBV.js} +1 -1
  151. package/storybook-static/assets/{TrueFocus.stories-pHR04Ohp.js → TrueFocus.stories-CaFMcY8L.js} +1 -1
  152. package/storybook-static/assets/{VariableProximity.stories-8BBD-zO6.js → VariableProximity.stories-ChP4Tjlr.js} +1 -1
  153. package/storybook-static/assets/{Waves.stories-Ch2WIT1y.js → Waves.stories-Bv4PvTSw.js} +1 -1
  154. package/storybook-static/assets/{check-5UELpswJ.js → check-BksAJHcR.js} +1 -1
  155. package/storybook-static/assets/{chevron-down-DJrhvjuh.js → chevron-down-Ah_Qzuj-.js} +1 -1
  156. package/storybook-static/assets/{chevron-right-BXPuFhNR.js → chevron-right-RJ7bLHYT.js} +1 -1
  157. package/storybook-static/assets/client-DfVgzhP2.js +1 -0
  158. package/storybook-static/assets/{createLucideIcon-OIz9nbID.js → createLucideIcon-Cw9oc6nQ.js} +1 -1
  159. package/storybook-static/assets/{download-CKNX6tcv.js → download-DeFjy7YQ.js} +1 -1
  160. package/storybook-static/assets/{folder-UmgN-wpw.js → folder-DFqD7Xmc.js} +1 -1
  161. package/storybook-static/assets/{iconBase-l6iBLek9.js → iconBase-B0Y1EhGm.js} +1 -1
  162. package/storybook-static/assets/{iframe-BLM9gPKH.js → iframe-wVHIxtK4.js} +3 -3
  163. package/storybook-static/assets/{index-b5igbCec.js → index-C6ccT3Cy.js} +1 -1
  164. package/storybook-static/assets/{index-4lYlkM-D.js → index-D6HUHJ-I.js} +1 -1
  165. package/storybook-static/assets/{index-vIkE6dHF.js → index-DAgWpYb7.js} +1 -1
  166. package/storybook-static/assets/{proxy-BsV6quUP.js → proxy-DtFoluf3.js} +1 -1
  167. package/storybook-static/assets/{react-18-DDy7qzUT.js → react-18-CVRz73bU.js} +1 -1
  168. package/storybook-static/assets/{react-three-fiber.esm-DEhbi0-x.js → react-three-fiber.esm-Dk2XrsuX.js} +1 -1
  169. package/storybook-static/assets/{search-BkBVkJzD.js → search-DdxW2DIt.js} +1 -1
  170. package/storybook-static/assets/{settings-CMsrEzJS.js → settings-B7vVk5ZY.js} +1 -1
  171. package/storybook-static/assets/{sun-WxYEV1-R.js → sun-E7lh9m5E.js} +1 -1
  172. package/storybook-static/assets/{trash-2-BvLXiygc.js → trash-2-BWCK62PC.js} +1 -1
  173. package/storybook-static/assets/{use-animation-frame-B3QUdFyW.js → use-animation-frame-ByBIonQ_.js} +1 -1
  174. package/storybook-static/assets/{use-in-view-DxORwu3d.js → use-in-view-BJexGYZY.js} +1 -1
  175. package/storybook-static/assets/{use-motion-value-CYCvXY5m.js → use-motion-value-wRl_TaJk.js} +1 -1
  176. package/storybook-static/assets/{use-spring-Cdrlm-bg.js → use-spring-BOIoQ2Wo.js} +1 -1
  177. package/storybook-static/assets/{use-transform-CxdHJNbN.js → use-transform-DK7n09PB.js} +1 -1
  178. package/storybook-static/assets/{useSound-SuqbUlad.js → useSound-DGHMGE7h.js} +1 -1
  179. package/storybook-static/assets/{users-Br1MtzUW.js → users-B7vi8Bsk.js} +1 -1
  180. package/storybook-static/assets/{x-p0fEn4Nq.js → x-DxxcvklS.js} +1 -1
  181. package/storybook-static/iframe.html +1 -1
  182. package/storybook-static/project.json +1 -1
  183. package/storybook-static/assets/Button-O-w2-ag3.css +0 -1
  184. package/storybook-static/assets/Calendar-Dk5RRsIK.css +0 -1
  185. package/storybook-static/assets/Calendar.stories-D6ud0VBm.js +0 -367
  186. package/storybook-static/assets/NumberStepper-vsuSLafY.css +0 -1
  187. package/storybook-static/assets/client-CUSQMWIi.js +0 -1
@@ -0,0 +1,367 @@
1
+ import{r as T,j as e}from"./iframe-wVHIxtK4.js";import{u as dt}from"./use-motion-value-wRl_TaJk.js";import{u as ln}from"./use-transform-DK7n09PB.js";import{m as We}from"./proxy-DtFoluf3.js";import{T as cn}from"./trash-2-BWCK62PC.js";import{c as Ut}from"./createLucideIcon-Cw9oc6nQ.js";import{C as dn}from"./check-BksAJHcR.js";import{a as Te}from"./index-D6HUHJ-I.js";import{D as mn}from"./download-DeFjy7YQ.js";import{S as un,M as pn}from"./sun-E7lh9m5E.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-4sobDr_8.js";/**
2
+ * @license lucide-react v0.539.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const gn=[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]],hn=Ut("grip-vertical",gn);/**
7
+ * @license lucide-react v0.539.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const fn=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],vn=Ut("pencil",fn),yn="_calendar_zsa1o_2",wn="_loading_zsa1o_14",Dn="_loadingSpinner_zsa1o_21",_n="_header_zsa1o_27",Sn="_navigation_zsa1o_35",xn="_navButton_zsa1o_41",kn="_title_zsa1o_60",Cn="_controls_zsa1o_70",Tn="_exportDropdown_zsa1o_76",En="_exportButton_zsa1o_80",bn="_nightToggle_zsa1o_98",jn="_exportMenu_zsa1o_122",Nn="_exportMenuItem_zsa1o_137",Hn="_todayButton_zsa1o_154",Mn="_viewToggle_zsa1o_170",zn="_viewButton_zsa1o_177",$n="_active_zsa1o_191",Ln="_filterBar_zsa1o_201",In="_filterPill_zsa1o_210",Pn="_filterPillActive_zsa1o_229",Bn="_filterDot_zsa1o_235",Fn="_weekDays_zsa1o_243",Wn="_withWeekNumbers_zsa1o_250",An="_weekNumberHeader_zsa1o_254",Rn="_weekDay_zsa1o_243",On="_daysGrid_zsa1o_271",qn="_dayCell_zsa1o_287",Vn="_dayNumber_zsa1o_316",Gn="_today_zsa1o_154",Un="_events_zsa1o_335",Yn="_event_zsa1o_335",Xn="_eventTitle_zsa1o_362",Jn="_eventTime_zsa1o_371",Kn="_otherMonth_zsa1o_416",Qn="_selected_zsa1o_421",Zn="_compact_zsa1o_433",eo="_dots_zsa1o_456",to="_dot_zsa1o_456",no="_dotMore_zsa1o_471",oo="_weekNumberCell_zsa1o_478",ao="_completed_zsa1o_524",so="_completedIcon_zsa1o_545",ro="_moreEvents_zsa1o_552",io="_emptyState_zsa1o_562",lo="_dayView_zsa1o_572",co="_dayViewHeader_zsa1o_581",mo="_timeColumnHeader_zsa1o_591",uo="_dayColumnHeader_zsa1o_598",po="_allDayStrip_zsa1o_608",go="_allDayLabel_zsa1o_616",ho="_allDayList_zsa1o_627",fo="_dayViewScrollContainer_zsa1o_650",vo="_dayTimelineGrid_zsa1o_659",yo="_hourRow_zsa1o_664",wo="_hourLabel_zsa1o_670",Do="_hourSlots_zsa1o_681",_o="_halfHourSlot_zsa1o_688",So="_halfHourSlotBottom_zsa1o_698",xo="_dayEventAnchor_zsa1o_703",ko="_weekTimeline_zsa1o_711",Co="_weekTimelineHeader_zsa1o_720",To="_weekDayColumnHeader_zsa1o_732",Eo="_weekDayLabel_zsa1o_766",bo="_weekDayNumber_zsa1o_774",jo="_weekTimelineScroll_zsa1o_779",No="_weekTimelineGrid_zsa1o_787",Ho="_weekTimeColumn_zsa1o_793",Mo="_weekTimeSlot_zsa1o_801",zo="_weekHourLabel_zsa1o_808",$o="_weekDayColumns_zsa1o_814",Lo="_weekDayColumn_zsa1o_732",Io="_weekHourRow_zsa1o_832",Po="_weekEventAnchor_zsa1o_838",Bo="_currentTimeIndicator_zsa1o_846",n={calendar:yn,loading:wn,loadingSpinner:Dn,header:_n,navigation:Sn,navButton:xn,title:kn,controls:Cn,exportDropdown:Tn,exportButton:En,nightToggle:bn,exportMenu:jn,exportMenuItem:Nn,todayButton:Hn,viewToggle:Mn,viewButton:zn,active:$n,filterBar:Ln,filterPill:In,filterPillActive:Pn,filterDot:Bn,weekDays:Fn,withWeekNumbers:Wn,weekNumberHeader:An,weekDay:Rn,daysGrid:On,dayCell:qn,dayNumber:Vn,today:Gn,events:Un,event:Yn,eventTitle:Xn,eventTime:Jn,otherMonth:Kn,selected:Qn,compact:Zn,dots:eo,dot:to,dotMore:no,weekNumberCell:oo,completed:ao,completedIcon:so,moreEvents:ro,emptyState:io,dayView:lo,dayViewHeader:co,timeColumnHeader:mo,dayColumnHeader:uo,allDayStrip:po,allDayLabel:go,allDayList:ho,dayViewScrollContainer:fo,dayTimelineGrid:vo,hourRow:yo,hourLabel:wo,hourSlots:Do,halfHourSlot:_o,halfHourSlotBottom:So,dayEventAnchor:xo,weekTimeline:ko,weekTimelineHeader:Co,weekDayColumnHeader:To,weekDayLabel:Eo,weekDayNumber:bo,weekTimelineScroll:jo,weekTimelineGrid:No,weekTimeColumn:Ho,weekTimeSlot:Mo,weekHourLabel:zo,weekDayColumns:$o,weekDayColumn:Lo,weekHourRow:Io,weekEventAnchor:Po,currentTimeIndicator:Bo},Fo="_wrapper_nyv1b_1",Wo="_deleteUnderlay_nyv1b_7",Ao="_card_nyv1b_23",Ro="_dragging_nyv1b_43",Oo="_completed_nyv1b_49",qo="_text_nyv1b_53",Vo="_grip_nyv1b_57",Go="_checkIcon_nyv1b_77",Uo="_time_nyv1b_89",Yo="_editButton_nyv1b_96",O={wrapper:Fo,deleteUnderlay:Wo,card:Ao,dragging:Ro,completed:Oo,text:qo,grip:Vo,checkIcon:Go,time:Uo,editButton:Yo},Xo=-80,Fe=({event:a,color:o,textColor:r,onComplete:c,onEdit:m,onDelete:g,onDragEnd:u,draggable:y=!0})=>{const S=dt(0),C=dt(0),x=ln(S,[-80,0],[1,0]),[j,$]=T.useState(!1),F=T.useRef(!1),L=T.useRef(null),oe=a.status==="completed",Y=(p,J)=>{g&&J.offset.x<Xo?Te(S,-1e3,{duration:.2,onComplete:()=>g(a)}):Te(S,0,{type:"spring",stiffness:400,damping:30})},ae=()=>{if(F.current){F.current=!1;return}j||c==null||c(a)},ge=p=>{!y||!u||(p.stopPropagation(),p.preventDefault(),L.current={x:p.clientX,y:p.clientY,pointerId:p.pointerId},p.currentTarget.setPointerCapture(p.pointerId),$(!0))},se=p=>{L.current&&(S.set(p.clientX-L.current.x),C.set(p.clientY-L.current.y))},he=p=>{if(!L.current)return;const J=p.clientY,D=p.clientX;try{p.currentTarget.releasePointerCapture(L.current.pointerId)}catch{}L.current=null,$(!1),Te(C,0,{type:"spring",stiffness:400,damping:30}),Te(S,0,{type:"spring",stiffness:400,damping:30}),u==null||u(J,D)},X=!!g,fe=y&&!!u;return e.jsxs("div",{className:O.wrapper,children:[X&&e.jsxs(We.div,{className:O.deleteUnderlay,style:{opacity:x},children:[e.jsx(cn,{size:16}),e.jsx("span",{children:"Delete"})]}),e.jsxs(We.div,{className:`${O.card} ${oe?O.completed:""} ${j?O.dragging:""}`,style:{x:S,y:C,background:o,color:r,borderLeftColor:o},drag:X&&!j?"x":!1,dragConstraints:X?{left:-200,right:0}:void 0,dragElastic:.15,dragDirectionLock:!0,onDragStart:()=>{F.current=!0},onDragEnd:Y,whileTap:j?void 0:{scale:.98},animate:j?{scale:1.03}:{scale:1},onClick:ae,children:[fe&&e.jsx("div",{className:O.grip,onPointerDown:ge,onPointerMove:se,onPointerUp:he,onPointerCancel:he,onClick:p=>p.stopPropagation(),children:e.jsx(hn,{size:14})}),oe&&e.jsx(dn,{size:14,className:O.checkIcon,strokeWidth:3}),e.jsx("span",{className:O.text,children:a.title}),a.time&&e.jsx("span",{className:O.time,children:a.time}),m&&e.jsx("button",{className:O.editButton,onClick:p=>{p.stopPropagation(),m(a)},"aria-label":"Edit event",children:e.jsx(vn,{size:13})})]})]})};Fe.__docgenInfo={description:"",methods:[],displayName:"DayEventCard",props:{draggable:{defaultValue:{value:"true",computed:!1},required:!1}}};const we=["id","title","date","time","endTime","allDay","type","status","priority","category"],Jo=a=>(typeof a=="string"?new Date(a):a).toISOString(),Xe=a=>{const o={};for(const r of we){const c=a[r];c!==void 0&&(o[r]=r==="date"?Jo(c):c)}return o},Ko=a=>{if(a==null)return"";const o=String(a);return/[",\n\r]/.test(o)?`"${o.replace(/"/g,'""')}"`:o},Qo=a=>{const o=we.join(","),r=a.map(c=>{const m=Xe(c);return we.map(g=>Ko(m[g])).join(",")});return[o,...r].join(`
12
+ `)},Zo=a=>JSON.stringify(a.map(Xe),null,2),ea=a=>{if(a==null)return"";const o=String(a);return/[",\n\r]/.test(o)?`"${o.replace(/"/g,'""')}"`:o},ta=a=>{const o=`events[${a.length}]{${we.join(",")}}:`,r=a.map(c=>{const m=Xe(c);return" "+we.map(g=>ea(m[g])).join(",")});return[o,...r].join(`
13
+ `)},na={csv:"text/csv;charset=utf-8;",json:"application/json;charset=utf-8;",toon:"text/plain;charset=utf-8;"},oa={csv:"csv",json:"json",toon:"toon"},aa=(a,o)=>o==="csv"?Qo(a):o==="json"?Zo(a):ta(a),sa=(a,o,r)=>{const c=aa(a,o),m=new Blob([c],{type:na[o]}),g=URL.createObjectURL(m),u=document.createElement("a");u.href=g,u.download=`events-${new Date().toISOString().slice(0,10)}.${oa[o]}`,document.body.appendChild(u),u.click(),document.body.removeChild(u),URL.revokeObjectURL(g)};function ue({events:a,onEventClick:o,onDateClick:r,onEventClickByView:c,onDateClickByView:m,onTimeSlotClick:g,onEventDrop:u,onEventComplete:y,onEventDelete:S,onEventEdit:C,viewMode:x="month",initialDate:j=new Date,config:$={},className:F="",style:L={},loading:oe=!1,emptyState:Y,hideHeader:ae=!1,compact:ge=!1,selectedDate:se,selectedCategoryId:he,onCategoryChange:X,exportFormats:fe}){const[p,J]=T.useState(j),[D,Re]=T.useState(x),[ve,Xt]=T.useState(!1),[Jt,Kt]=T.useState(null),Je=he!==void 0,re=Je?he??null:Jt,Ke=t=>{Je||Kt(t),X==null||X(t)},Oe=T.useRef(null),qe=T.useRef(null),[De,Ve]=T.useState(!1),Ge=T.useRef(null);T.useEffect(()=>{if(!De)return;const t=s=>{Ge.current&&!Ge.current.contains(s.target)&&Ve(!1)};return document.addEventListener("mousedown",t),()=>document.removeEventListener("mousedown",t)},[De]);const{eventColors:Qe={},iconRenderer:Ze,maxEventsPerDay:K=3,mondayStart:Q=!1,showWeekNumbers:_e=!1,dateFormat:et={month:"long",year:"numeric"},locale:Z="en-US",dayLabels:Qt,monthNames:Se,startHour:tt=0,endHour:nt=24,hourHeight:N=60,halfHourSlots:R=!1,categories:ie}=$,W=ve?Math.max(tt,8):tt,ot=T.useMemo(()=>!ie||ie.length===0||re===null?a:a.filter(t=>!t.category||t.category===re),[a,ie,re]),Zt=Qt||(Q?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),at=($==null?void 0:$.hourHeight)??60,st=W,Ue=T.useMemo(()=>{const t=p.getFullYear(),s=p.getMonth();let h,i,k;if(D==="week"){h=new Date(p);const _=h.getDay(),v=Q?h.getDate()-_+(_===0?-6:1):h.getDate()-_;h=new Date(h.setDate(v)),h.setHours(0,0,0,0),i=new Date(h),i.setDate(i.getDate()+6);const E=h.toLocaleDateString(Z,{day:"numeric",month:"short"}),M=i.toLocaleDateString(Z,{day:"numeric",month:"short"});k=`${E} - ${M}`}else if(D==="day")h=new Date(p),h.setHours(0,0,0,0),i=new Date(p),i.setHours(23,59,59,999),k=p.toLocaleDateString(Z,{weekday:"long",year:"numeric",month:"long",day:"numeric"});else{const _=new Date(t,s,1),v=new Date(t,s+1,0);h=new Date(_);const E=Q?(_.getDay()+6)%7:_.getDay();h.setDate(h.getDate()-E),i=new Date(v);const M=Q?(v.getDay()+6)%7:v.getDay();i.setDate(i.getDate()+(6-M)),Se&&Se[s]?k=`${Se[s]} ${t}`:k=p.toLocaleDateString(Z,et)}const H=[],d=new Date(h);for(;d<=i;)H.push(new Date(d)),d.setDate(d.getDate()+1);return{days:H,displayTitle:k}},[p,D,Q,Z,et,Se]),rt=T.useRef("");T.useEffect(()=>{if(D!=="day"&&D!=="week")return;const t=D==="day"?Oe:qe;if(!t.current)return;const s=new Date;if(!(()=>{if(D==="day")return p.toDateString()===s.toDateString();const d=new Date(p),_=d.getDay(),v=Q?_===0?-6:1-_:-_;d.setDate(d.getDate()+v),d.setHours(0,0,0,0);const E=new Date(d);return E.setDate(d.getDate()+7),s>=d&&s<E})())return;const i=`${D}-${p.toDateString()}`;if(rt.current===i)return;rt.current=i;const k=(s.getHours()-st)*60+s.getMinutes(),H=Math.max(0,k/60*at-100);setTimeout(()=>{t.current&&(t.current.scrollTop=H)},0)},[D,p,st,at,Q]);const Ye=t=>ot.filter(h=>new Date(h.date).toDateString()===t.toDateString()).sort((h,i)=>{const k=h.time?xe(h.time):999999,H=i.time?xe(i.time):999999;return k-H}),xe=t=>{const[s,h]=t.split(":").map(Number);return s*60+h},it=t=>{const s=new Map,h=t.filter(d=>d.time).map(d=>{const _=xe(d.time),v=d.endTime?xe(d.endTime):_+30;return{event:d,start:_,end:Math.max(v,_+1)}});h.sort((d,_)=>d.start-_.start||d.end-_.end);let i=[],k=-1;const H=()=>{if(i.length===0)return;const d=[],_=[];for(const E of i){let M=!1;for(let V=0;V<d.length;V++)if(d[V]<=E.start){d[V]=E.end,_.push({id:E.event.id,col:V}),M=!0;break}M||(d.push(E.end),_.push({id:E.event.id,col:d.length-1}))}const v=d.length;for(const E of _)s.set(E.id,{col:E.col,totalCols:v});i=[],k=-1};for(const d of h)i.length===0||d.start<k?(i.push(d),k=Math.max(k,d.end)):(H(),i.push(d),k=d.end);return H(),s},en=()=>{const t=new Date(p);D==="week"?t.setDate(t.getDate()-7):D==="day"?t.setDate(t.getDate()-1):t.setMonth(t.getMonth()-1),J(t)},tn=()=>{const t=new Date(p);D==="week"?t.setDate(t.getDate()+7):D==="day"?t.setDate(t.getDate()+1):t.setMonth(t.getMonth()+1),J(t)},nn=()=>{J(new Date)},le=t=>{if(t.status==="completed")return"#10b981";if(t.color)return t.color;if(t.type&&Qe[t.type])return Qe[t.type];const s={high:"#FF4444",medium:"#FFA500",low:"#4A90E2"};return t.priority&&s[t.priority]?s[t.priority]:"#4A90E2"},on=t=>{const s=t.replace("#",""),h=parseInt(s.substring(0,2),16),i=parseInt(s.substring(2,4),16),k=parseInt(s.substring(4,6),16);return(.299*h+.587*i+.114*k)/255>.5?"#000000":"#FFFFFF"},ke=t=>{if(t.textColor)return t.textColor;const s=le(t);return on(s)},Ce=t=>{c&&c[D]?c[D](t):o&&o(t)},lt=t=>{m&&m[D]?m[D](t):r&&r(t)},an=t=>{const s=new Date;return t.toDateString()===s.toDateString()},sn=t=>t.getMonth()===p.getMonth(),rn=t=>{const s=new Date(t.getFullYear(),0,1),h=t.getTime()-s.getTime(),i=1e3*60*60*24*7;return Math.floor(h/i)+1};return oe?e.jsx("div",{className:`${n.calendar} ${n.loading} ${F}`,style:L,children:e.jsx("div",{className:n.loadingSpinner,children:"Loading..."})}):e.jsxs("div",{className:`${n.calendar} ${ge?n.compact:""} ${F}`,style:L,children:[!ae&&e.jsxs("div",{className:n.header,children:[e.jsxs("div",{className:n.navigation,children:[e.jsx("button",{onClick:en,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:Ue.displayTitle}),e.jsx("button",{onClick:tn,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"})})})]}),ie&&ie.length>0&&e.jsxs("div",{className:n.filterBar,role:"tablist","aria-label":"Filter by category",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":re===null,className:`${n.filterPill} ${re===null?n.filterPillActive:""}`,onClick:()=>Ke(null),children:"All"}),ie.map(t=>{const s=re===t.id;return e.jsxs("button",{type:"button",role:"tab","aria-selected":s,className:`${n.filterPill} ${s?n.filterPillActive:""}`,style:s?{background:t.color,borderColor:t.color,color:"#ffffff"}:void 0,onClick:()=>Ke(t.id),children:[!s&&e.jsx("span",{className:n.filterDot,style:{background:t.color}}),t.label]},t.id)})]}),e.jsxs("div",{className:n.controls,children:[fe&&fe.length>0&&e.jsxs("div",{className:n.exportDropdown,ref:Ge,children:[e.jsx("button",{type:"button",className:n.exportButton,onClick:()=>Ve(t=>!t),"aria-haspopup":"menu","aria-expanded":De,"aria-label":"Export events",title:"Export events",children:e.jsx(mn,{size:16})}),De&&e.jsx("div",{className:n.exportMenu,role:"menu",children:fe.map(t=>e.jsx("button",{type:"button",role:"menuitem",className:n.exportMenuItem,onClick:()=>{sa(ot,t),Ve(!1)},children:t.toUpperCase()},t))})]}),(D==="day"||D==="week")&&e.jsx("button",{type:"button",className:n.nightToggle,onClick:()=>Xt(t=>!t),"aria-pressed":ve,title:ve?"Show night hours":"Hide night hours (00:00–08:00)","aria-label":ve?"Show night hours":"Hide night hours",children:ve?e.jsx(un,{size:16}):e.jsx(pn,{size:16})}),e.jsx("button",{onClick:nn,className:n.todayButton,children:"Today"}),e.jsxs("div",{className:n.viewToggle,children:[e.jsx("button",{className:`${n.viewButton} ${D==="month"?n.active:""}`,onClick:()=>Re("month"),children:"Month"}),e.jsx("button",{className:`${n.viewButton} ${D==="week"?n.active:""}`,onClick:()=>Re("week"),children:"Week"}),e.jsx("button",{className:`${n.viewButton} ${D==="day"?n.active:""}`,onClick:()=>Re("day"),children:"Day"})]})]})]}),D==="month"&&e.jsxs("div",{className:`${n.weekDays} ${_e?n.withWeekNumbers:""}`,children:[_e&&e.jsx("div",{className:n.weekNumberHeader,children:"Wk"}),Zt.map(t=>e.jsx("div",{className:n.weekDay,children:t},t))]}),D==="day"?(()=>{const t=Ye(p),s=t.filter(l=>!l.allDay&&l.time),h=t.filter(l=>l.allDay||!l.time),i=Array.from({length:nt-W},(l,f)=>W+f),k=i.length*N,H=new Date,d=p.toDateString()===H.toDateString(),v=((H.getHours()-W)*60+H.getMinutes())/60*N,E=d&&v>=0&&v<=k,M=l=>{const[f,z]=l.split(":").map(Number);return f*60+z},V=l=>{if(!l.time||!l.endTime)return 30;const f=M(l.endTime)-M(l.time);return f>0?f:30},w=it(s),b=(l,f)=>{if(g){const z=new Date(p);z.setHours(l,f,0,0);const G=`${l.toString().padStart(2,"0")}:${f.toString().padStart(2,"0")}`;g(z,l,G)}},I=(l,f)=>{var ye;if(!u)return;const z=(ye=Oe.current)==null?void 0:ye.querySelector(`.${n.dayTimelineGrid}`);if(!z)return;const G=z.getBoundingClientRect(),ee=f-G.top,te=R?N/2:N,P=Math.max(0,Math.floor(ee/te)),B=R?i.length*2:i.length,U=Math.min(B-1,P),A=W+Math.floor(R?U/2:U),ne=R&&U%2===1?30:0,ce=new Date(p);ce.setHours(A,ne,0,0),u(l,ce)};return 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:p.toLocaleDateString(Z,{weekday:"short",day:"numeric"})})]}),h.length>0&&e.jsxs("div",{className:n.allDayStrip,children:[e.jsx("span",{className:n.allDayLabel,children:"All day"}),e.jsx("div",{className:n.allDayList,children:h.map(l=>e.jsx(Fe,{event:l,color:le(l),textColor:ke(l),onComplete:y??(o?Ce:void 0),onEdit:C,onDelete:S,draggable:!1},l.id))})]}),e.jsx("div",{className:n.dayViewScrollContainer,ref:Oe,children:e.jsxs("div",{className:n.dayTimelineGrid,style:{height:k},children:[i.map(l=>e.jsxs("div",{className:n.hourRow,style:{height:N},children:[e.jsxs("span",{className:n.hourLabel,children:[l.toString().padStart(2,"0"),":00"]}),e.jsx("div",{className:n.hourSlots,children:R?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:n.halfHourSlot,onClick:()=>b(l,0)}),e.jsx("div",{className:`${n.halfHourSlot} ${n.halfHourSlotBottom}`,onClick:()=>b(l,30)})]}):e.jsx("div",{className:n.halfHourSlot,onClick:()=>b(l,0)})})]},l)),s.map(l=>{const[f,z]=l.time.split(":").map(Number),G=(f-W)*N+z/60*N,ee=V(l),te=Math.max(24,ee/60*N-2),P=w.get(l.id),B=(P==null?void 0:P.totalCols)??1,U=(P==null?void 0:P.col)??0;return e.jsx("div",{className:n.dayEventAnchor,style:{top:G,height:te,"--lane-col":U,"--lane-total":B},onClick:A=>A.stopPropagation(),children:e.jsx(Fe,{event:l,color:le(l),textColor:ke(l),onComplete:y??(o?Ce:void 0),onEdit:C,onDelete:S,onDragEnd:u?A=>I(l,A):void 0})},l.id)}),E&&e.jsx("div",{className:n.currentTimeIndicator,style:{top:`${v}px`}})]})})]})})():D==="week"?(()=>{const t=Ue.days,s=Array.from({length:nt-W},(w,b)=>W+b),h=s.length*N,i=new Date,k=t.findIndex(w=>w.toDateString()===i.toDateString()),d=((i.getHours()-W)*60+i.getMinutes())/60*N,_=k>=0&&d>=0&&d<=h,v=w=>{const[b,I]=w.split(":").map(Number);return b*60+I},E=w=>{if(!w.time||!w.endTime)return 30;const b=v(w.endTime)-v(w.time);return b>0?b:30},M=(w,b,I)=>{if(!g)return;const l=new Date(w);l.setHours(b,I,0,0);const f=`${b.toString().padStart(2,"0")}:${I.toString().padStart(2,"0")}`;g(l,b,f)},V=(w,b,I)=>{var ct;if(!u)return;const l=(ct=qe.current)==null?void 0:ct.querySelector(`.${n.weekDayColumns}`);if(!l)return;const f=l.getBoundingClientRect(),z=I-f.left,G=b-f.top,ee=f.width/7,te=Math.min(6,Math.max(0,Math.floor(z/ee))),P=t[te],B=R?N/2:N,U=R?s.length*2:s.length,A=Math.min(U-1,Math.max(0,Math.floor(G/B))),ne=W+Math.floor(R?A/2:A),ce=R&&A%2===1?30:0,ye=new Date(P);ye.setHours(ne,ce,0,0),u(w,ye)};return e.jsxs("div",{className:n.weekTimeline,children:[e.jsxs("div",{className:n.weekTimelineHeader,children:[e.jsx("div",{className:n.timeColumnHeader}),t.map(w=>{const b=w.toDateString()===i.toDateString(),I=se&&w.toDateString()===se.toDateString();return e.jsxs("button",{type:"button",className:`${n.weekDayColumnHeader} ${b?n.today:""} ${I?n.selected:""}`,onClick:()=>lt(w),children:[e.jsx("span",{className:n.weekDayLabel,children:w.toLocaleDateString(Z,{weekday:"short"})}),e.jsx("span",{className:n.weekDayNumber,children:w.getDate()})]},w.toISOString())})]}),e.jsx("div",{className:n.weekTimelineScroll,ref:qe,children:e.jsxs("div",{className:n.weekTimelineGrid,style:{height:h},children:[e.jsx("div",{className:n.weekTimeColumn,children:s.map(w=>e.jsx("div",{className:n.weekTimeSlot,style:{height:N},children:e.jsxs("span",{className:n.weekHourLabel,children:[w.toString().padStart(2,"0"),":00"]})},w))}),e.jsx("div",{className:n.weekDayColumns,children:t.map(w=>{const b=Ye(w).filter(f=>!f.allDay&&f.time),I=w.toDateString()===i.toDateString(),l=it(b);return e.jsxs("div",{className:n.weekDayColumn,children:[s.map(f=>e.jsx("div",{className:n.weekHourRow,style:{height:N},children:R?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:n.halfHourSlot,onClick:()=>M(w,f,0)}),e.jsx("div",{className:`${n.halfHourSlot} ${n.halfHourSlotBottom}`,onClick:()=>M(w,f,30)})]}):e.jsx("div",{className:n.halfHourSlot,onClick:()=>M(w,f,0)})},f)),b.map(f=>{const[z,G]=f.time.split(":").map(Number),ee=(z-W)*N+G/60*N,te=E(f),P=Math.max(24,te/60*N-2),B=l.get(f.id),U=(B==null?void 0:B.totalCols)??1,A=(B==null?void 0:B.col)??0;return e.jsx("div",{className:n.weekEventAnchor,style:{top:ee,height:P,"--lane-col":A,"--lane-total":U},onClick:ne=>ne.stopPropagation(),children:e.jsx(Fe,{event:f,color:le(f),textColor:ke(f),onComplete:y??(o?Ce:void 0),onEdit:C,onDelete:S,onDragEnd:u?(ne,ce)=>V(f,ne,ce):void 0})},f.id)}),I&&_&&e.jsx("div",{className:n.currentTimeIndicator,style:{top:`${d}px`,left:0}})]},w.toISOString())})})]})})]})})():(()=>{const t=ge?void 0:40+K*24;return e.jsx("div",{className:`${n.daysGrid} ${_e?n.withWeekNumbers:""}`,children:Ue.days.map((s,h)=>{const i=Ye(s),k=an(s),H=sn(s),d=_e&&h%7===0,_=se&&s.toDateString()===se.toDateString();return e.jsxs(T.Fragment,{children:[d&&e.jsx("div",{className:n.weekNumberCell,style:t!==void 0?{height:t,minHeight:t}:void 0,children:rn(s)}),e.jsxs(We.div,{className:`${n.dayCell} ${k?n.today:""} ${H?"":n.otherMonth} ${_?n.selected:""}`,style:t!==void 0?{height:t,minHeight:t}:void 0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,delay:h*.02,ease:"easeOut"},onClick:()=>lt(s),children:[e.jsx("div",{className:n.dayNumber,children:s.getDate()}),i.length>0&&ge&&D==="month"?e.jsxs("div",{className:n.dots,children:[i.slice(0,K).map(v=>e.jsx("span",{className:n.dot,style:{backgroundColor:le(v)}},v.id)),i.length>K&&e.jsxs("span",{className:n.dotMore,children:["+",i.length-K]})]}):i.length>0?e.jsxs("div",{className:n.events,children:[i.slice(0,K).map((v,E)=>e.jsxs(We.div,{className:`${n.event} ${v.status==="completed"?n.completed:""}`,style:{backgroundColor:le(v),color:ke(v),opacity:v.status==="completed"?.7:1},onClick:M=>{M.stopPropagation(),Ce(v)},initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{duration:.2,delay:E*.05,ease:"easeOut"},whileHover:{scale:1.02,y:-1,transition:{duration:.1}},whileTap:{scale:.98,transition:{duration:.1}},children:[Ze&&Ze(v),e.jsxs("span",{className:n.eventTitle,children:[v.time&&e.jsx("span",{className:n.eventTime,children:v.time}),v.title]}),v.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"})})]},v.id)),i.length>K&&e.jsxs("div",{className:n.moreEvents,children:["+",i.length-K," more"]})]}):Y?e.jsx("div",{className:n.emptyState,children:Y}):null]})]},`${s.getFullYear()}-${s.getMonth()}-${s.getDate()}`)})})})()]})}ue.__docgenInfo={description:`Calendar component - A flexible, reusable calendar for displaying events
14
+
15
+ @component
16
+ @description
17
+ A highly customizable calendar component that can display events in month or week view.
18
+ Supports custom event types, colors, icons, and localization. Perfect for scheduling,
19
+ project management, habit tracking, or any date-based data visualization.
20
+
21
+ @example
22
+ // Basic usage
23
+ <Calendar
24
+ events={myEvents}
25
+ onEventClick={handleEventClick}
26
+ viewMode="month"
27
+ />
28
+
29
+ @example
30
+ // With custom configuration
31
+ <Calendar
32
+ events={projectEvents}
33
+ config={{
34
+ eventColors: { task: '#4A90E2', meeting: '#7ED321' },
35
+ maxEventsPerDay: 5,
36
+ mondayStart: true
37
+ }}
38
+ onEventClick={handleEventClick}
39
+ />`,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:`{
40
+ month?: (event: CalendarEvent) => void;
41
+ week?: (event: CalendarEvent) => void;
42
+ day?: (event: CalendarEvent) => void;
43
+ }`,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:`{
44
+ month?: (date: Date) => void;
45
+ week?: (date: Date) => void;
46
+ day?: (date: Date) => void;
47
+ }`,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"},onEventDrop:{required:!1,tsType:{name:"signature",type:"function",raw:"(event: CalendarEvent, newDate: Date) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"},{type:{name:"Date"},name:"newDate"}],return:{name:"void"}}},description:"Callback when an event is dropped (drag-rescheduled) in day view"},onEventComplete:{required:!1,tsType:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}}},description:"Day view: callback when an event body is tapped to toggle complete"},onEventDelete:{required:!1,tsType:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}}},description:"Day view: callback when an event is swiped left to delete"},onEventEdit:{required:!1,tsType:{name:"signature",type:"function",raw:"(event: CalendarEvent) => void",signature:{arguments:[{type:{name:"CalendarEvent"},name:"event"}],return:{name:"void"}}},description:"Day view: callback when an event's edit button is clicked"},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}},compact:{required:!1,tsType:{name:"boolean"},description:"Compact mode - renders colored dots instead of event blocks in month view",defaultValue:{value:"false",computed:!1}},selectedDate:{required:!1,tsType:{name:"Date"},description:"Externally controlled selected date highlight (distinct from initialDate which controls navigation)"},selectedCategoryId:{required:!1,tsType:{name:"union",raw:"string | null",elements:[{name:"string"},{name:"null"}]},description:'Controlled category filter selection. `null` means "All". Omit for uncontrolled.'},onCategoryChange:{required:!1,tsType:{name:"signature",type:"function",raw:"(categoryId: string | null) => void",signature:{arguments:[{type:{name:"union",raw:"string | null",elements:[{name:"string"},{name:"null"}]},name:"categoryId"}],return:{name:"void"}}},description:'Called when the user picks a pill in the category filter. `null` = "All".'},exportFormats:{required:!1,tsType:{name:"Array",elements:[{name:"union",raw:"'csv' | 'json' | 'toon'",elements:[{name:"literal",value:"'csv'"},{name:"literal",value:"'json'"},{name:"literal",value:"'toon'"}]}],raw:"ExportFormat[]"},description:'Offer an "Export" dropdown in the header with the given formats. Exports the currently\nfiltered events (respects category filter). Omit or pass `[]` to hide the button.'}}};const _a={title:"Organisms/Calendar",component:ue,parameters:{layout:"padded"},argTypes:{viewMode:{control:"radio",options:["month","week","day"]},compact:{control:"boolean"},config:{control:"object"},onEventClick:{action:"event-clicked"},onDateClick:{action:"date-clicked"},onTimeSlotClick:{action:"slot-clicked"}}},de=["#4A90E2","#7ED321","#BD10E0","#F5B829","#FF6B6B","#4ECDC4","#7C6FBF"],me=["Morning standup","Sprint planning","Code review","1:1 with manager","Design critique","Client demo","Deep work","Lunch with Ava","Architecture review","Release sign-off","Interview (FE)","Write weekly summary","Bug triage","Pairing session","Retro","Security debrief"],Ae=["meeting","task","review","deadline"],q=(a,o=0)=>`${a.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`,ra=a=>{let o=a;return()=>{o|=0,o=o+1831565813|0;let r=Math.imul(o^o>>>15,1|o);return r=r+Math.imul(r^r>>>7,61|r)^r,((r^r>>>14)>>>0)/4294967296}},pe=(a=42)=>{const o=ra(a),r=new Date,c=[];for(let m=0;m<28;m++){const g=new Date(r);g.setDate(r.getDate()+Math.floor(o()*30)-15);const u=8+Math.floor(o()*10),y=o()>.5?0:30;c.push({id:`m-${m}`,title:me[m%me.length],date:g,time:o()>.35?q(u,y):void 0,type:Ae[Math.floor(o()*Ae.length)],status:o()>.75?"completed":"pending",color:de[m%de.length],textColor:"#ffffff"})}return c},Yt=()=>{const a=new Date,o=(r,c=0)=>{const m=new Date(a);return m.setHours(r,c,0,0),m};return[{id:"ad-1",title:"Offsite — Q2 planning",date:o(0),allDay:!0,color:"#7C6FBF",textColor:"#ffffff"},{id:"d-1",title:"Morning standup",date:o(9),time:"09:00",endTime:"09:30",status:"completed",color:"#4A90E2",textColor:"#ffffff"},{id:"d-2",title:"Deep work: refactor auth",date:o(10),time:"10:00",endTime:"12:00",color:"#F5B829",textColor:"#1a1a1a"},{id:"d-3",title:"Lunch with Ava",date:o(12,30),time:"12:30",endTime:"13:30",color:"#4ECDC4",textColor:"#1a1a1a"},{id:"d-4",title:"1:1 with manager",date:o(14),time:"14:00",endTime:"14:30",color:"#BD10E0",textColor:"#ffffff"},{id:"d-5",title:"Design review",date:o(15),time:"15:00",endTime:"16:30",color:"#FF6B6B",textColor:"#ffffff"},{id:"d-6",title:"Write weekly summary",date:o(17,30),time:"17:30",endTime:"18:00",color:"#10b981",textColor:"#ffffff"}]},ia=a=>{const o={meeting:"👥",task:"✓",review:"👀",deadline:"⏰"};return e.jsx("span",{style:{fontSize:11},children:o[a.type??""]??"📅"})},Ee={args:{events:pe(),viewMode:"month",config:{mondayStart:!0,maxEventsPerDay:3,iconRenderer:ia}},render:a=>{const[o,r]=T.useState(a.events??[]);return e.jsx(ue,{...a,events:o,onEventClick:c=>{r(m=>m.map(g=>g.id===c.id?{...g,status:g.status==="completed"?"pending":"completed"}:g))},onDateClick:c=>{r(m=>[...m,{id:`new-${Date.now()}`,title:"New event",date:c,time:"15:00",type:"task",status:"pending",color:"#6366f1",textColor:"#ffffff"}])}})}},be={args:{events:[],viewMode:"week",config:{mondayStart:!0,startHour:7,endHour:22,hourHeight:56,halfHourSlots:!0}},render:a=>{const o=new Date,r=(o.getDay()+6)%7,c=new Date(o);c.setDate(o.getDate()-r),c.setHours(0,0,0,0);const m=[];for(let y=0;y<7;y++){const S=new Date(c);S.setDate(c.getDate()+y);const C=y*2%3+1;for(let x=0;x<C;x++){const j=9+x*3+y%2;m.push({id:`w-${y}-${x}`,title:me[(y*3+x)%me.length],date:new Date(S),time:q(j,x%2===0?0:30),endTime:q(j+1,x%2===0?0:30),color:de[(y+x)%de.length],textColor:"#ffffff"})}}const[g,u]=T.useState(m);return e.jsx(ue,{...a,events:g,onTimeSlotClick:(y,S,C)=>{const x=Math.min(23,y.getHours()+1);u(j=>[...j,{id:`new-${Date.now()}`,title:`New @ ${C}`,date:y,time:C,endTime:q(x,y.getMinutes()),color:"#6366f1",textColor:"#ffffff"}])},onEventComplete:y=>u(S=>S.map(C=>C.id===y.id?{...C,status:C.status==="completed"?"pending":"completed"}:C)),onEventDelete:y=>u(S=>S.filter(C=>C.id!==y.id)),onEventDrop:(y,S)=>{u(C=>C.map(x=>{if(x.id!==y.id)return x;const j=new Date(x.date),$=S.getTime()-j.getTime(),F=(()=>{if(!x.endTime||!x.time)return x.endTime;const[L,oe]=x.endTime.split(":").map(Number),Y=new Date(j);Y.setHours(L,oe,0,0);const ae=new Date(Y.getTime()+$);return q(ae.getHours(),ae.getMinutes())})();return{...x,date:S,time:q(S.getHours(),S.getMinutes()),endTime:F}}))}})}},je={args:{events:[],viewMode:"day",config:{startHour:6,endHour:24,hourHeight:72,halfHourSlots:!0,mondayStart:!0}},render:a=>{const[o,r]=T.useState(Yt());return e.jsx(ue,{...a,events:o,onTimeSlotClick:(c,m,g)=>{const u=Math.min(23,c.getHours()+1);r(y=>[...y,{id:`new-${Date.now()}`,title:`New @ ${g}`,date:c,time:g,endTime:q(u,c.getMinutes()),color:"#6366f1",textColor:"#ffffff"}])},onEventComplete:c=>r(m=>m.map(g=>g.id===c.id?{...g,status:g.status==="completed"?"pending":"completed"}:g)),onEventDelete:c=>r(m=>m.filter(g=>g.id!==c.id)),onEventEdit:c=>{const m=window.prompt("Rename event",c.title);m&&r(g=>g.map(u=>u.id===c.id?{...u,title:m}:u))},onEventDrop:(c,m)=>{r(g=>g.map(u=>{if(u.id!==c.id)return u;const y=new Date(u.date),S=m.getTime()-y.getTime(),C=(()=>{if(!u.endTime||!u.time)return u.endTime;const[x,j]=u.endTime.split(":").map(Number),$=new Date(y);$.setHours(x,j,0,0);const F=new Date($.getTime()+S);return q(F.getHours(),F.getMinutes())})();return{...u,date:m,time:q(m.getHours(),m.getMinutes()),endTime:C}}))}})}},Ne={args:{events:pe(1).map((o,r)=>({...o,category:r%3===0?"work":r%3===1?"life":"side"})),viewMode:"month",compact:!0,config:{mondayStart:!0,maxEventsPerDay:4,categories:[{id:"life",label:"Life",color:"#F5B829"},{id:"work",label:"Work",color:"#7C6FBF"},{id:"side",label:"Side",color:"#4ECDC4"}]},style:{maxWidth:420}}},He={args:{events:Yt(),viewMode:"day",compact:!0,config:{startHour:7,endHour:22,hourHeight:56,halfHourSlots:!0},style:{maxWidth:520}}},Me={args:{events:pe(3),viewMode:"month",config:{mondayStart:!0,showWeekNumbers:!0,maxEventsPerDay:3}}},ze={args:{events:(()=>{const a=new Date;return Array.from({length:9},(o,r)=>({id:`over-${r}`,title:me[r%me.length],date:new Date(a),time:q(8+r),type:Ae[r%Ae.length],color:de[r%de.length],textColor:"#ffffff"}))})(),viewMode:"month",config:{mondayStart:!0,maxEventsPerDay:3}}},$e={args:{events:[],loading:!0}},Le={args:{events:[],viewMode:"month",config:{mondayStart:!0},emptyState:e.jsx("span",{style:{color:"var(--color-text-tertiary)",fontSize:11},children:"No events"})}},Ie={args:{events:pe(5),viewMode:"month",exportFormats:["csv","json","toon"],config:{mondayStart:!0,maxEventsPerDay:3}}},Pe={args:{events:pe(11).map((o,r)=>({...o,category:r%3===0?"work":r%3===1?"life":"side"})),viewMode:"month",config:{mondayStart:!0,maxEventsPerDay:3,categories:[{id:"life",label:"Life",color:"#F5B829"},{id:"work",label:"Work",color:"#7C6FBF"},{id:"side",label:"Side projects",color:"#4ECDC4"}]}}},Be={args:{events:[]},render:()=>{const[a,o]=T.useState(new Date),r=T.useMemo(()=>pe(9),[]);return e.jsxs("div",{style:{display:"grid",gap:"var(--spacing-md)"},children:[e.jsxs("div",{style:{fontSize:"var(--font-size-sm)",color:"var(--color-text-secondary)"},children:["Selected: ",e.jsx("strong",{children:a.toLocaleDateString()})]}),e.jsx(ue,{events:r,viewMode:"month",selectedDate:a,onDateClick:o,config:{mondayStart:!0,maxEventsPerDay:3}})]})}};var mt,ut,pt;Ee.parameters={...Ee.parameters,docs:{...(mt=Ee.parameters)==null?void 0:mt.docs,source:{originalSource:`{
48
+ args: {
49
+ events: buildMonthEvents(),
50
+ viewMode: 'month',
51
+ config: {
52
+ mondayStart: true,
53
+ maxEventsPerDay: 3,
54
+ iconRenderer: iconForType
55
+ }
56
+ },
57
+ render: args => {
58
+ const [events, setEvents] = useState<CalendarEvent[]>(args.events ?? []);
59
+ return <Calendar {...args} events={events} onEventClick={e => {
60
+ setEvents(prev => prev.map(ev => ev.id === e.id ? {
61
+ ...ev,
62
+ status: ev.status === 'completed' ? 'pending' : 'completed'
63
+ } : ev));
64
+ }} onDateClick={date => {
65
+ setEvents(prev => [...prev, {
66
+ id: \`new-\${Date.now()}\`,
67
+ title: 'New event',
68
+ date,
69
+ time: '15:00',
70
+ type: 'task',
71
+ status: 'pending',
72
+ color: '#6366f1',
73
+ textColor: '#ffffff'
74
+ }]);
75
+ }} />;
76
+ }
77
+ }`,...(pt=(ut=Ee.parameters)==null?void 0:ut.docs)==null?void 0:pt.source}}};var gt,ht,ft;be.parameters={...be.parameters,docs:{...(gt=be.parameters)==null?void 0:gt.docs,source:{originalSource:`{
78
+ args: {
79
+ events: [],
80
+ viewMode: 'week',
81
+ config: {
82
+ mondayStart: true,
83
+ startHour: 7,
84
+ endHour: 22,
85
+ hourHeight: 56,
86
+ halfHourSlots: true
87
+ }
88
+ },
89
+ render: args => {
90
+ // Build 7 days of timed events around "today" so drag has neighbours to land on
91
+ const today = new Date();
92
+ const mondayOffset = (today.getDay() + 6) % 7;
93
+ const weekStart = new Date(today);
94
+ weekStart.setDate(today.getDate() - mondayOffset);
95
+ weekStart.setHours(0, 0, 0, 0);
96
+ const initial: CalendarEvent[] = [];
97
+ for (let i = 0; i < 7; i++) {
98
+ const d = new Date(weekStart);
99
+ d.setDate(weekStart.getDate() + i);
100
+ const count = i * 2 % 3 + 1;
101
+ for (let j = 0; j < count; j++) {
102
+ const startH = 9 + j * 3 + i % 2;
103
+ initial.push({
104
+ id: \`w-\${i}-\${j}\`,
105
+ title: TITLES[(i * 3 + j) % TITLES.length],
106
+ date: new Date(d),
107
+ time: hhmm(startH, j % 2 === 0 ? 0 : 30),
108
+ endTime: hhmm(startH + 1, j % 2 === 0 ? 0 : 30),
109
+ color: PALETTE[(i + j) % PALETTE.length],
110
+ textColor: '#ffffff'
111
+ });
112
+ }
113
+ }
114
+ const [events, setEvents] = useState<CalendarEvent[]>(initial);
115
+ return <Calendar {...args} events={events} onTimeSlotClick={(date, _h, time) => {
116
+ const endH = Math.min(23, date.getHours() + 1);
117
+ setEvents(prev => [...prev, {
118
+ id: \`new-\${Date.now()}\`,
119
+ title: \`New @ \${time}\`,
120
+ date,
121
+ time,
122
+ endTime: hhmm(endH, date.getMinutes()),
123
+ color: '#6366f1',
124
+ textColor: '#ffffff'
125
+ }]);
126
+ }} onEventComplete={e => setEvents(prev => prev.map(ev => ev.id === e.id ? {
127
+ ...ev,
128
+ status: ev.status === 'completed' ? 'pending' : 'completed'
129
+ } : ev))} onEventDelete={e => setEvents(prev => prev.filter(ev => ev.id !== e.id))} onEventDrop={(e, newDate) => {
130
+ setEvents(prev => prev.map(ev => {
131
+ if (ev.id !== e.id) return ev;
132
+ const oldStart = new Date(ev.date);
133
+ const deltaMs = newDate.getTime() - oldStart.getTime();
134
+ const nextEndTime = (() => {
135
+ if (!ev.endTime || !ev.time) return ev.endTime;
136
+ const [oh, om] = ev.endTime.split(':').map(Number);
137
+ const endOld = new Date(oldStart);
138
+ endOld.setHours(oh, om, 0, 0);
139
+ const endNew = new Date(endOld.getTime() + deltaMs);
140
+ return hhmm(endNew.getHours(), endNew.getMinutes());
141
+ })();
142
+ return {
143
+ ...ev,
144
+ date: newDate,
145
+ time: hhmm(newDate.getHours(), newDate.getMinutes()),
146
+ endTime: nextEndTime
147
+ };
148
+ }));
149
+ }} />;
150
+ }
151
+ }`,...(ft=(ht=be.parameters)==null?void 0:ht.docs)==null?void 0:ft.source}}};var vt,yt,wt;je.parameters={...je.parameters,docs:{...(vt=je.parameters)==null?void 0:vt.docs,source:{originalSource:`{
152
+ args: {
153
+ events: [],
154
+ viewMode: 'day',
155
+ config: {
156
+ startHour: 6,
157
+ endHour: 24,
158
+ hourHeight: 72,
159
+ halfHourSlots: true,
160
+ mondayStart: true
161
+ }
162
+ },
163
+ render: args => {
164
+ const [events, setEvents] = useState<CalendarEvent[]>(buildDayEvents());
165
+ return <Calendar {...args} events={events} onTimeSlotClick={(date, _h, time) => {
166
+ const endH = Math.min(23, date.getHours() + 1);
167
+ setEvents(prev => [...prev, {
168
+ id: \`new-\${Date.now()}\`,
169
+ title: \`New @ \${time}\`,
170
+ date,
171
+ time,
172
+ endTime: hhmm(endH, date.getMinutes()),
173
+ color: '#6366f1',
174
+ textColor: '#ffffff'
175
+ }]);
176
+ }} onEventComplete={e => setEvents(prev => prev.map(ev => ev.id === e.id ? {
177
+ ...ev,
178
+ status: ev.status === 'completed' ? 'pending' : 'completed'
179
+ } : ev))} onEventDelete={e => setEvents(prev => prev.filter(ev => ev.id !== e.id))} onEventEdit={e => {
180
+ const next = window.prompt('Rename event', e.title);
181
+ if (!next) return;
182
+ setEvents(prev => prev.map(ev => ev.id === e.id ? {
183
+ ...ev,
184
+ title: next
185
+ } : ev));
186
+ }} onEventDrop={(e, newDate) => {
187
+ setEvents(prev => prev.map(ev => {
188
+ if (ev.id !== e.id) return ev;
189
+ const oldStart = new Date(ev.date);
190
+ const deltaMs = newDate.getTime() - oldStart.getTime();
191
+ const nextEndTime = (() => {
192
+ if (!ev.endTime || !ev.time) return ev.endTime;
193
+ const [oh, om] = ev.endTime.split(':').map(Number);
194
+ const endOld = new Date(oldStart);
195
+ endOld.setHours(oh, om, 0, 0);
196
+ const endNew = new Date(endOld.getTime() + deltaMs);
197
+ return hhmm(endNew.getHours(), endNew.getMinutes());
198
+ })();
199
+ return {
200
+ ...ev,
201
+ date: newDate,
202
+ time: hhmm(newDate.getHours(), newDate.getMinutes()),
203
+ endTime: nextEndTime
204
+ };
205
+ }));
206
+ }} />;
207
+ }
208
+ }`,...(wt=(yt=je.parameters)==null?void 0:yt.docs)==null?void 0:wt.source}}};var Dt,_t,St;Ne.parameters={...Ne.parameters,docs:{...(Dt=Ne.parameters)==null?void 0:Dt.docs,source:{originalSource:`{
209
+ args: {
210
+ events: (() => {
211
+ const base = buildMonthEvents(1);
212
+ return base.map((e, i) => ({
213
+ ...e,
214
+ category: i % 3 === 0 ? 'work' : i % 3 === 1 ? 'life' : 'side'
215
+ }));
216
+ })(),
217
+ viewMode: 'month',
218
+ compact: true,
219
+ config: {
220
+ mondayStart: true,
221
+ maxEventsPerDay: 4,
222
+ categories: [{
223
+ id: 'life',
224
+ label: 'Life',
225
+ color: '#F5B829'
226
+ }, {
227
+ id: 'work',
228
+ label: 'Work',
229
+ color: '#7C6FBF'
230
+ }, {
231
+ id: 'side',
232
+ label: 'Side',
233
+ color: '#4ECDC4'
234
+ }]
235
+ },
236
+ style: {
237
+ maxWidth: 420
238
+ }
239
+ }
240
+ }`,...(St=(_t=Ne.parameters)==null?void 0:_t.docs)==null?void 0:St.source}}};var xt,kt,Ct;He.parameters={...He.parameters,docs:{...(xt=He.parameters)==null?void 0:xt.docs,source:{originalSource:`{
241
+ args: {
242
+ events: buildDayEvents(),
243
+ viewMode: 'day',
244
+ compact: true,
245
+ config: {
246
+ startHour: 7,
247
+ endHour: 22,
248
+ hourHeight: 56,
249
+ halfHourSlots: true
250
+ },
251
+ style: {
252
+ maxWidth: 520
253
+ }
254
+ }
255
+ }`,...(Ct=(kt=He.parameters)==null?void 0:kt.docs)==null?void 0:Ct.source}}};var Tt,Et,bt;Me.parameters={...Me.parameters,docs:{...(Tt=Me.parameters)==null?void 0:Tt.docs,source:{originalSource:`{
256
+ args: {
257
+ events: buildMonthEvents(3),
258
+ viewMode: 'month',
259
+ config: {
260
+ mondayStart: true,
261
+ showWeekNumbers: true,
262
+ maxEventsPerDay: 3
263
+ }
264
+ }
265
+ }`,...(bt=(Et=Me.parameters)==null?void 0:Et.docs)==null?void 0:bt.source}}};var jt,Nt,Ht;ze.parameters={...ze.parameters,docs:{...(jt=ze.parameters)==null?void 0:jt.docs,source:{originalSource:`{
266
+ args: {
267
+ events: (() => {
268
+ const today = new Date();
269
+ return Array.from({
270
+ length: 9
271
+ }, (_, i) => ({
272
+ id: \`over-\${i}\`,
273
+ title: TITLES[i % TITLES.length],
274
+ date: new Date(today),
275
+ time: hhmm(8 + i),
276
+ type: TYPES[i % TYPES.length],
277
+ color: PALETTE[i % PALETTE.length],
278
+ textColor: '#ffffff'
279
+ }));
280
+ })(),
281
+ viewMode: 'month',
282
+ config: {
283
+ mondayStart: true,
284
+ maxEventsPerDay: 3
285
+ }
286
+ }
287
+ }`,...(Ht=(Nt=ze.parameters)==null?void 0:Nt.docs)==null?void 0:Ht.source}}};var Mt,zt,$t;$e.parameters={...$e.parameters,docs:{...(Mt=$e.parameters)==null?void 0:Mt.docs,source:{originalSource:`{
288
+ args: {
289
+ events: [],
290
+ loading: true
291
+ }
292
+ }`,...($t=(zt=$e.parameters)==null?void 0:zt.docs)==null?void 0:$t.source}}};var Lt,It,Pt;Le.parameters={...Le.parameters,docs:{...(Lt=Le.parameters)==null?void 0:Lt.docs,source:{originalSource:`{
293
+ args: {
294
+ events: [],
295
+ viewMode: 'month',
296
+ config: {
297
+ mondayStart: true
298
+ },
299
+ emptyState: <span style={{
300
+ color: 'var(--color-text-tertiary)',
301
+ fontSize: 11
302
+ }}>
303
+ No events
304
+ </span>
305
+ }
306
+ }`,...(Pt=(It=Le.parameters)==null?void 0:It.docs)==null?void 0:Pt.source}}};var Bt,Ft,Wt;Ie.parameters={...Ie.parameters,docs:{...(Bt=Ie.parameters)==null?void 0:Bt.docs,source:{originalSource:`{
307
+ args: {
308
+ events: buildMonthEvents(5),
309
+ viewMode: 'month',
310
+ exportFormats: ['csv', 'json', 'toon'],
311
+ config: {
312
+ mondayStart: true,
313
+ maxEventsPerDay: 3
314
+ }
315
+ }
316
+ }`,...(Wt=(Ft=Ie.parameters)==null?void 0:Ft.docs)==null?void 0:Wt.source}}};var At,Rt,Ot;Pe.parameters={...Pe.parameters,docs:{...(At=Pe.parameters)==null?void 0:At.docs,source:{originalSource:`{
317
+ args: {
318
+ events: (() => {
319
+ const base = buildMonthEvents(11);
320
+ return base.map((e, i) => ({
321
+ ...e,
322
+ category: i % 3 === 0 ? 'work' : i % 3 === 1 ? 'life' : 'side'
323
+ }));
324
+ })(),
325
+ viewMode: 'month',
326
+ config: {
327
+ mondayStart: true,
328
+ maxEventsPerDay: 3,
329
+ categories: [{
330
+ id: 'life',
331
+ label: 'Life',
332
+ color: '#F5B829'
333
+ }, {
334
+ id: 'work',
335
+ label: 'Work',
336
+ color: '#7C6FBF'
337
+ }, {
338
+ id: 'side',
339
+ label: 'Side projects',
340
+ color: '#4ECDC4'
341
+ }]
342
+ }
343
+ }
344
+ }`,...(Ot=(Rt=Pe.parameters)==null?void 0:Rt.docs)==null?void 0:Ot.source}}};var qt,Vt,Gt;Be.parameters={...Be.parameters,docs:{...(qt=Be.parameters)==null?void 0:qt.docs,source:{originalSource:`{
345
+ args: {
346
+ events: []
347
+ },
348
+ render: () => {
349
+ const [selected, setSelected] = useState(new Date());
350
+ const events = useMemo(() => buildMonthEvents(9), []);
351
+ return <div style={{
352
+ display: 'grid',
353
+ gap: 'var(--spacing-md)'
354
+ }}>
355
+ <div style={{
356
+ fontSize: 'var(--font-size-sm)',
357
+ color: 'var(--color-text-secondary)'
358
+ }}>
359
+ Selected: <strong>{selected.toLocaleDateString()}</strong>
360
+ </div>
361
+ <Calendar events={events} viewMode="month" selectedDate={selected} onDateClick={setSelected} config={{
362
+ mondayStart: true,
363
+ maxEventsPerDay: 3
364
+ }} />
365
+ </div>;
366
+ }
367
+ }`,...(Gt=(Vt=Be.parameters)==null?void 0:Vt.docs)==null?void 0:Gt.source}}};const Sa=["Default","WeekView","DayView","CompactMonth","CompactDay","WithWeekNumbers","OverflowDay","Loading","Empty","WithExport","WithCategoryFilter","ControlledSelection"];export{He as CompactDay,Ne as CompactMonth,Be as ControlledSelection,je as DayView,Ee as Default,Le as Empty,$e as Loading,ze as OverflowDay,be as WeekView,Pe as WithCategoryFilter,Ie as WithExport,Me as WithWeekNumbers,Sa as __namedExportsOrder,_a as default};
@@ -1,4 +1,4 @@
1
- import{r as I,j as e}from"./iframe-BLM9gPKH.js";import{A as M}from"./index-vIkE6dHF.js";import{m as _}from"./proxy-BsV6quUP.js";const B="_card_k0xft_1",V="_hoverable_k0xft_50",A="_elevated_k0xft_65",L="_outlined_k0xft_78",S="_flat_k0xft_111",E="_glass_k0xft_156",W="_imageContainer_k0xft_187",F="_image_k0xft_187",H="_header_k0xft_233",R="_headerContent_k0xft_248",O="_expandButton_k0xft_254",D="_expandIcon_k0xft_285",J="_expandableContent_k0xft_289",U="_expandable_k0xft_289",X="_body_k0xft_313",z="_footer_k0xft_319",G="_title_k0xft_350",K="_subtitle_k0xft_366",Q="_clickable_k0xft_380",Y="_padding_k0xft_394",Z="_noPadding_k0xft_398",$="_loading_k0xft_403",ee="_loadingShimmer_k0xft_1",ae="_loadingPulse_k0xft_1",a={card:B,hoverable:V,elevated:A,outlined:L,flat:S,glass:E,imageContainer:W,image:F,header:H,headerContent:R,expandButton:O,expandIcon:D,expandableContent:J,expandable:U,body:X,footer:z,title:G,subtitle:K,clickable:Q,padding:Y,noPadding:Z,loading:$,loadingShimmer:ee,loadingPulse:ae},te=({variant:g="elevated",hoverable:d=!1,clickable:l=!1,padding:c=!0,image:p,imageAlt:v="",title:o,subtitle:s,header:u,footer:m,children:f,expandable:t=!1,defaultExpanded:C=!1,expanded:i,onExpandChange:r,className:b="",onClick:k,motionProps:y,...j})=>{const[T,N]=I.useState(C),n=i!==void 0?i:T,h=()=>{const x=!n;i===void 0&&N(x),r==null||r(x)},q=[a.card,a[g],d&&a.hoverable,l&&a.clickable,!c&&a.noPadding,t&&a.expandable,b].filter(Boolean).join(" "),w=()=>u?e.jsxs("div",{className:a.header,children:[e.jsx("div",{className:a.headerContent,children:u}),t&&e.jsx("button",{className:a.expandButton,onClick:h,"aria-label":n?"Collapse card":"Expand card",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a.expandIcon,style:{transform:n?"rotate(180deg)":"rotate(0deg)"},children:e.jsx("path",{d:"M6 9l6 6 6-6"})})})]}):o||s?e.jsxs("div",{className:a.header,children:[e.jsxs("div",{className:a.headerContent,children:[o&&e.jsx("h3",{className:a.title,children:o}),s&&e.jsx("p",{className:a.subtitle,children:s})]}),t&&e.jsx("button",{className:a.expandButton,onClick:h,"aria-label":n?"Collapse card":"Expand card",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a.expandIcon,style:{transform:n?"rotate(180deg)":"rotate(0deg)"},children:e.jsx("path",{d:"M6 9l6 6 6-6"})})})]}):null,P=e.jsxs(e.Fragment,{children:[p&&e.jsx("div",{className:a.imageContainer,children:e.jsx("img",{src:p,alt:v,className:a.image})}),w(),e.jsx(M,{initial:!1,children:(!t||n)&&e.jsxs(_.div,{initial:t?{height:0,opacity:0}:void 0,animate:t?{height:"auto",opacity:1}:void 0,exit:t?{height:0,opacity:0}:void 0,transition:{duration:.3,ease:"easeInOut"},className:a.expandableContent,children:[f&&e.jsx("div",{className:c?a.body:void 0,children:f}),m&&e.jsx("div",{className:a.footer,children:m})]},"content")})]});return e.jsx(_.div,{className:q,onClick:l?k:void 0,whileHover:d?{y:-4}:void 0,transition:{type:"spring",stiffness:400,damping:17},...y,...j,children:P})};te.__docgenInfo={description:`Card Component
1
+ import{r as I,j as e}from"./iframe-wVHIxtK4.js";import{A as M}from"./index-DAgWpYb7.js";import{m as _}from"./proxy-DtFoluf3.js";const B="_card_k0xft_1",V="_hoverable_k0xft_50",A="_elevated_k0xft_65",L="_outlined_k0xft_78",S="_flat_k0xft_111",E="_glass_k0xft_156",W="_imageContainer_k0xft_187",F="_image_k0xft_187",H="_header_k0xft_233",R="_headerContent_k0xft_248",O="_expandButton_k0xft_254",D="_expandIcon_k0xft_285",J="_expandableContent_k0xft_289",U="_expandable_k0xft_289",X="_body_k0xft_313",z="_footer_k0xft_319",G="_title_k0xft_350",K="_subtitle_k0xft_366",Q="_clickable_k0xft_380",Y="_padding_k0xft_394",Z="_noPadding_k0xft_398",$="_loading_k0xft_403",ee="_loadingShimmer_k0xft_1",ae="_loadingPulse_k0xft_1",a={card:B,hoverable:V,elevated:A,outlined:L,flat:S,glass:E,imageContainer:W,image:F,header:H,headerContent:R,expandButton:O,expandIcon:D,expandableContent:J,expandable:U,body:X,footer:z,title:G,subtitle:K,clickable:Q,padding:Y,noPadding:Z,loading:$,loadingShimmer:ee,loadingPulse:ae},te=({variant:g="elevated",hoverable:d=!1,clickable:l=!1,padding:c=!0,image:p,imageAlt:v="",title:o,subtitle:s,header:u,footer:m,children:f,expandable:t=!1,defaultExpanded:C=!1,expanded:i,onExpandChange:r,className:b="",onClick:k,motionProps:y,...j})=>{const[T,N]=I.useState(C),n=i!==void 0?i:T,h=()=>{const x=!n;i===void 0&&N(x),r==null||r(x)},q=[a.card,a[g],d&&a.hoverable,l&&a.clickable,!c&&a.noPadding,t&&a.expandable,b].filter(Boolean).join(" "),w=()=>u?e.jsxs("div",{className:a.header,children:[e.jsx("div",{className:a.headerContent,children:u}),t&&e.jsx("button",{className:a.expandButton,onClick:h,"aria-label":n?"Collapse card":"Expand card",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a.expandIcon,style:{transform:n?"rotate(180deg)":"rotate(0deg)"},children:e.jsx("path",{d:"M6 9l6 6 6-6"})})})]}):o||s?e.jsxs("div",{className:a.header,children:[e.jsxs("div",{className:a.headerContent,children:[o&&e.jsx("h3",{className:a.title,children:o}),s&&e.jsx("p",{className:a.subtitle,children:s})]}),t&&e.jsx("button",{className:a.expandButton,onClick:h,"aria-label":n?"Collapse card":"Expand card",children:e.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:a.expandIcon,style:{transform:n?"rotate(180deg)":"rotate(0deg)"},children:e.jsx("path",{d:"M6 9l6 6 6-6"})})})]}):null,P=e.jsxs(e.Fragment,{children:[p&&e.jsx("div",{className:a.imageContainer,children:e.jsx("img",{src:p,alt:v,className:a.image})}),w(),e.jsx(M,{initial:!1,children:(!t||n)&&e.jsxs(_.div,{initial:t?{height:0,opacity:0}:void 0,animate:t?{height:"auto",opacity:1}:void 0,exit:t?{height:0,opacity:0}:void 0,transition:{duration:.3,ease:"easeInOut"},className:a.expandableContent,children:[f&&e.jsx("div",{className:c?a.body:void 0,children:f}),m&&e.jsx("div",{className:a.footer,children:m})]},"content")})]});return e.jsx(_.div,{className:q,onClick:l?k:void 0,whileHover:d?{y:-4}:void 0,transition:{type:"spring",stiffness:400,damping:17},...y,...j,children:P})};te.__docgenInfo={description:`Card Component
2
2
 
3
3
  @component
4
4
  @description
@@ -1,4 +1,4 @@
1
- import{j as e,r as T}from"./iframe-BLM9gPKH.js";import{C as a}from"./Card-D2W3wjZy.js";import{B as t}from"./Button-DQla6H3P.js";import"./preload-helper-C1FmrZbK.js";import"./index-vIkE6dHF.js";import"./proxy-BsV6quUP.js";import"./MotionConfigContext-E6BOCyHu.js";import"./useSound-SuqbUlad.js";const D={title:"Atoms/Card",component:a,parameters:{layout:"centered",docs:{description:{component:"A flexible container component with various styling options and animation support."}}},argTypes:{variant:{control:"select",options:["elevated","outlined","flat","glass"],description:"Visual style variant of the card"},padding:{control:"boolean"},hoverable:{control:"boolean"},clickable:{control:"boolean"},expandable:{control:"boolean"},defaultExpanded:{control:"boolean"},title:{control:"text"},subtitle:{control:"text"},onClick:{action:"clicked"},onExpandChange:{action:"expand-changed"}}},r={args:{title:"Card Title",subtitle:"Optional subtitle",hoverable:!0,children:e.jsx("p",{children:"Card content goes here. Use controls to switch between elevated, outlined, flat, and glass variants."})}},n={args:{variant:"elevated",hoverable:!0,image:"https://via.placeholder.com/350x200",imageAlt:"Feature image",children:e.jsxs("div",{style:{maxWidth:"350px"},children:[e.jsx("h2",{style:{marginBottom:"0.5rem"},children:"Feature Card"}),e.jsx("p",{style:{marginBottom:"1rem",color:"#666"},children:"Image, title, description, and action buttons composed together."}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem"},children:[e.jsx(t,{variant:"primary",size:"small",children:"Learn More"}),e.jsx(t,{variant:"outline",size:"small",children:"Share"})]})]})}},l={render:()=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"1rem",maxWidth:"800px"},children:[e.jsxs(a,{variant:"elevated",hoverable:!0,children:[e.jsx("h4",{children:"Elevated"}),e.jsx("p",{children:"With shadow"})]}),e.jsxs(a,{variant:"outlined",hoverable:!0,children:[e.jsx("h4",{children:"Outlined"}),e.jsx("p",{children:"With border"})]}),e.jsxs(a,{variant:"glass",hoverable:!0,children:[e.jsx("h4",{children:"Glass"}),e.jsx("p",{children:"Glassmorphism"})]})]}),parameters:{controls:{disable:!0},layout:"padded"}},s={args:{title:"Expandable Card",subtitle:"Click the arrow to expand",expandable:!0,variant:"outlined",children:e.jsxs("div",{children:[e.jsx("p",{children:"This content is collapsible. Useful for FAQ sections, settings panels, or progressive disclosure."}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem"},children:[e.jsx(t,{variant:"primary",size:"small",children:"Action"}),e.jsx(t,{variant:"outline",size:"small",children:"Secondary"})]})]})}},i={render:()=>{const[d,p]=T.useState(!1);return e.jsxs("div",{style:{width:"400px"},children:[e.jsxs(a,{title:"Controlled Expandable",subtitle:"State managed externally",expandable:!0,expanded:d,onExpandChange:p,variant:"glass",hoverable:!0,children:[e.jsx("p",{children:"Expanded state is controlled via props."}),e.jsxs("p",{children:["Current: ",e.jsx("strong",{children:d?"Expanded":"Collapsed"})]})]}),e.jsx("div",{style:{marginTop:"1rem",textAlign:"center"},children:e.jsx(t,{variant:"primary",onClick:()=>p(!d),children:"External Toggle"})})]})},parameters:{controls:{disable:!0}}},o={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",maxWidth:"600px"},children:[e.jsx(a,{title:"Getting Started",expandable:!0,variant:"outlined",children:e.jsx("p",{children:"Create an account and follow the onboarding tutorial to get started."})}),e.jsx(a,{title:"Account Management",expandable:!0,variant:"outlined",children:e.jsx("p",{children:"Manage settings from the profile page: personal info, password, notifications."})}),e.jsx(a,{title:"Billing & Payments",expandable:!0,defaultExpanded:!0,variant:"outlined",children:e.jsx("p",{children:"We accept all major credit cards and PayPal. Billing is monthly or annual."})})]}),parameters:{controls:{disable:!0},layout:"padded"}};var c,m,u;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`{
1
+ import{j as e,r as T}from"./iframe-wVHIxtK4.js";import{C as a}from"./Card-Cd6nYK-n.js";import{B as t}from"./Button-C8qYbNr4.js";import"./preload-helper-C1FmrZbK.js";import"./index-DAgWpYb7.js";import"./proxy-DtFoluf3.js";import"./MotionConfigContext-4sobDr_8.js";import"./useSound-DGHMGE7h.js";const D={title:"Atoms/Card",component:a,parameters:{layout:"centered",docs:{description:{component:"A flexible container component with various styling options and animation support."}}},argTypes:{variant:{control:"select",options:["elevated","outlined","flat","glass"],description:"Visual style variant of the card"},padding:{control:"boolean"},hoverable:{control:"boolean"},clickable:{control:"boolean"},expandable:{control:"boolean"},defaultExpanded:{control:"boolean"},title:{control:"text"},subtitle:{control:"text"},onClick:{action:"clicked"},onExpandChange:{action:"expand-changed"}}},r={args:{title:"Card Title",subtitle:"Optional subtitle",hoverable:!0,children:e.jsx("p",{children:"Card content goes here. Use controls to switch between elevated, outlined, flat, and glass variants."})}},n={args:{variant:"elevated",hoverable:!0,image:"https://via.placeholder.com/350x200",imageAlt:"Feature image",children:e.jsxs("div",{style:{maxWidth:"350px"},children:[e.jsx("h2",{style:{marginBottom:"0.5rem"},children:"Feature Card"}),e.jsx("p",{style:{marginBottom:"1rem",color:"#666"},children:"Image, title, description, and action buttons composed together."}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem"},children:[e.jsx(t,{variant:"primary",size:"small",children:"Learn More"}),e.jsx(t,{variant:"outline",size:"small",children:"Share"})]})]})}},l={render:()=>e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"1rem",maxWidth:"800px"},children:[e.jsxs(a,{variant:"elevated",hoverable:!0,children:[e.jsx("h4",{children:"Elevated"}),e.jsx("p",{children:"With shadow"})]}),e.jsxs(a,{variant:"outlined",hoverable:!0,children:[e.jsx("h4",{children:"Outlined"}),e.jsx("p",{children:"With border"})]}),e.jsxs(a,{variant:"glass",hoverable:!0,children:[e.jsx("h4",{children:"Glass"}),e.jsx("p",{children:"Glassmorphism"})]})]}),parameters:{controls:{disable:!0},layout:"padded"}},s={args:{title:"Expandable Card",subtitle:"Click the arrow to expand",expandable:!0,variant:"outlined",children:e.jsxs("div",{children:[e.jsx("p",{children:"This content is collapsible. Useful for FAQ sections, settings panels, or progressive disclosure."}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",marginTop:"1rem"},children:[e.jsx(t,{variant:"primary",size:"small",children:"Action"}),e.jsx(t,{variant:"outline",size:"small",children:"Secondary"})]})]})}},i={render:()=>{const[d,p]=T.useState(!1);return e.jsxs("div",{style:{width:"400px"},children:[e.jsxs(a,{title:"Controlled Expandable",subtitle:"State managed externally",expandable:!0,expanded:d,onExpandChange:p,variant:"glass",hoverable:!0,children:[e.jsx("p",{children:"Expanded state is controlled via props."}),e.jsxs("p",{children:["Current: ",e.jsx("strong",{children:d?"Expanded":"Collapsed"})]})]}),e.jsx("div",{style:{marginTop:"1rem",textAlign:"center"},children:e.jsx(t,{variant:"primary",onClick:()=>p(!d),children:"External Toggle"})})]})},parameters:{controls:{disable:!0}}},o={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem",maxWidth:"600px"},children:[e.jsx(a,{title:"Getting Started",expandable:!0,variant:"outlined",children:e.jsx("p",{children:"Create an account and follow the onboarding tutorial to get started."})}),e.jsx(a,{title:"Account Management",expandable:!0,variant:"outlined",children:e.jsx("p",{children:"Manage settings from the profile page: personal info, password, notifications."})}),e.jsx(a,{title:"Billing & Payments",expandable:!0,defaultExpanded:!0,variant:"outlined",children:e.jsx("p",{children:"We accept all major credit cards and PayPal. Billing is monthly or annual."})})]}),parameters:{controls:{disable:!0},layout:"padded"}};var c,m,u;r.parameters={...r.parameters,docs:{...(c=r.parameters)==null?void 0:c.docs,source:{originalSource:`{
2
2
  args: {
3
3
  title: 'Card Title',
4
4
  subtitle: 'Optional subtitle',
@@ -1,4 +1,4 @@
1
- import{r as o,j as t}from"./iframe-BLM9gPKH.js";import{g as u}from"./index-C8pce-KX.js";import{G as M}from"./iconBase-l6iBLek9.js";import"./preload-helper-C1FmrZbK.js";function U(f){return M({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M18.25 15.5a.75.75 0 0 1-.75-.75V7.56L7.28 17.78a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L16.44 6.5H9.25a.75.75 0 0 1 0-1.5h9a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75Z"},child:[]}]})(f)}const G="_open_87iwp_63",O="_logo_87iwp_71",n={"card-nav-container":"_card-nav-container_87iwp_1","card-nav":"_card-nav_87iwp_1","card-nav-top":"_card-nav-top_87iwp_25","hamburger-menu":"_hamburger-menu_87iwp_38","hamburger-line":"_hamburger-line_87iwp_48",open:G,"logo-container":"_logo-container_87iwp_71",logo:O,"card-nav-cta-button":"_card-nav-cta-button_87iwp_84","card-nav-content":"_card-nav-content_87iwp_101","nav-card":"_nav-card_87iwp_121","nav-card-label":"_nav-card-label_87iwp_134","nav-card-links":"_nav-card-links_87iwp_140","nav-card-link":"_nav-card-link_87iwp_140"},L=({logo:f,logoAlt:$="Logo",items:m,className:N="",ease:b="power3.out",baseColor:k="#fff",menuColor:R,buttonBgColor:j,buttonTextColor:E})=>{const[A,g]=o.useState(!1),[s,_]=o.useState(!1),c=o.useRef(null),p=o.useRef([]),l=o.useRef(null),C=()=>{const e=c.current;if(!e)return 260;if(window.matchMedia("(max-width: 768px)").matches){const a=e.querySelector(".card-nav-content");if(a){const i=a.style.visibility,v=a.style.pointerEvents,S=a.style.position,T=a.style.height;a.style.visibility="visible",a.style.pointerEvents="auto",a.style.position="static",a.style.height="auto",a.offsetHeight;const V=60,q=16,I=a.scrollHeight;return a.style.visibility=i,a.style.pointerEvents=v,a.style.position=S,a.style.height=T,V+I+q}}return 260},h=()=>{const e=c.current;if(!e)return null;u.set(e,{height:60,overflow:"hidden"}),u.set(p.current,{y:50,opacity:0});const r=u.timeline({paused:!0});return r.to(e,{height:C,duration:.4,ease:b}),r.to(p.current,{y:0,opacity:1,duration:.4,ease:b,stagger:.08},"-=0.1"),r};o.useLayoutEffect(()=>{const e=h();return l.current=e,()=>{e==null||e.kill(),l.current=null}},[b,m]),o.useLayoutEffect(()=>{const e=()=>{if(l.current)if(s){const r=C();u.set(c.current,{height:r}),l.current.kill();const a=h();a&&(a.progress(1),l.current=a)}else{l.current.kill();const r=h();r&&(l.current=r)}};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[s]);const D=()=>{const e=l.current;e&&(s?(g(!1),e.eventCallback("onReverseComplete",()=>_(!1)),e.reverse()):(g(!0),_(!0),e.play(0)))},H=e=>r=>{r&&(p.current[e]=r)};return t.jsx("div",{className:`${n["card-nav-container"]} ${N}`,children:t.jsxs("nav",{ref:c,className:`${n["card-nav"]} ${s?n.open:""}`,style:{backgroundColor:k},children:[t.jsxs("div",{className:`${n["card-nav-top"]}`,children:[t.jsxs("div",{className:`${n["hamburger-menu"]} ${A?n.open:""}`,onClick:D,role:"button","aria-label":s?"Close menu":"Open menu",tabIndex:0,style:{color:R||"#000"},children:[t.jsx("div",{className:`${n["hamburger-line"]}`}),t.jsx("div",{className:`${n["hamburger-line"]}`})]}),t.jsx("div",{className:`${n["logo-container"]}`,children:t.jsx("img",{src:f,alt:$,className:`${n.logo}`})}),t.jsx("button",{type:"button",className:`${n["card-nav-cta-button"]}`,style:{backgroundColor:j,color:E},children:"Get Started"})]}),t.jsx("div",{className:`${n["card-nav-content"]}`,"aria-hidden":!s,children:(m||[]).slice(0,3).map((e,r)=>{var a;return t.jsxs("div",{className:`${n["nav-card"]}`,ref:H(r),style:{backgroundColor:e.bgColor,color:e.textColor},children:[t.jsx("div",{className:`${n["nav-card-label"]}`,children:e.label}),t.jsx("div",{className:`${n["nav-card-links"]}`,children:(a=e.links)==null?void 0:a.map((i,v)=>t.jsxs("a",{className:`${n["nav-card-link"]}`,href:i.href,"aria-label":i.ariaLabel,children:[t.jsx(U,{className:"nav-card-link-icon","aria-hidden":"true"}),i.label]},`${i.label}-${v}`))})]},`${e.label}-${r}`)})})]})})};L.__docgenInfo={description:"",methods:[],displayName:"CardNav",props:{logoAlt:{defaultValue:{value:"'Logo'",computed:!1},required:!1},className:{defaultValue:{value:"''",computed:!1},required:!1},ease:{defaultValue:{value:"'power3.out'",computed:!1},required:!1},baseColor:{defaultValue:{value:"'#fff'",computed:!1},required:!1}}};const Z={title:"ReactBits/Components/CardNav",component:L,parameters:{layout:"fullscreen"}},d={args:{logoAlt:"Logo",items:[{label:"Products",bgColor:"#1a1a2e",textColor:"#fff",links:[{label:"Analytics",href:"#",ariaLabel:"Analytics"},{label:"Dashboard",href:"#",ariaLabel:"Dashboard"},{label:"Reports",href:"#",ariaLabel:"Reports"}]},{label:"Resources",bgColor:"#16213e",textColor:"#fff",links:[{label:"Documentation",href:"#",ariaLabel:"Documentation"},{label:"Tutorials",href:"#",ariaLabel:"Tutorials"}]},{label:"Company",bgColor:"#0f3460",textColor:"#fff",links:[{label:"About Us",href:"#",ariaLabel:"About Us"},{label:"Careers",href:"#",ariaLabel:"Careers"},{label:"Contact",href:"#",ariaLabel:"Contact"}]}],ease:"power3.out",baseColor:"#fff"}};var y,w,x;d.parameters={...d.parameters,docs:{...(y=d.parameters)==null?void 0:y.docs,source:{originalSource:`{
1
+ import{r as o,j as t}from"./iframe-wVHIxtK4.js";import{g as u}from"./index-C8pce-KX.js";import{G as M}from"./iconBase-B0Y1EhGm.js";import"./preload-helper-C1FmrZbK.js";function U(f){return M({attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M18.25 15.5a.75.75 0 0 1-.75-.75V7.56L7.28 17.78a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L16.44 6.5H9.25a.75.75 0 0 1 0-1.5h9a.75.75 0 0 1 .75.75v9a.75.75 0 0 1-.75.75Z"},child:[]}]})(f)}const G="_open_87iwp_63",O="_logo_87iwp_71",n={"card-nav-container":"_card-nav-container_87iwp_1","card-nav":"_card-nav_87iwp_1","card-nav-top":"_card-nav-top_87iwp_25","hamburger-menu":"_hamburger-menu_87iwp_38","hamburger-line":"_hamburger-line_87iwp_48",open:G,"logo-container":"_logo-container_87iwp_71",logo:O,"card-nav-cta-button":"_card-nav-cta-button_87iwp_84","card-nav-content":"_card-nav-content_87iwp_101","nav-card":"_nav-card_87iwp_121","nav-card-label":"_nav-card-label_87iwp_134","nav-card-links":"_nav-card-links_87iwp_140","nav-card-link":"_nav-card-link_87iwp_140"},L=({logo:f,logoAlt:$="Logo",items:m,className:N="",ease:b="power3.out",baseColor:k="#fff",menuColor:R,buttonBgColor:j,buttonTextColor:E})=>{const[A,g]=o.useState(!1),[s,_]=o.useState(!1),c=o.useRef(null),p=o.useRef([]),l=o.useRef(null),C=()=>{const e=c.current;if(!e)return 260;if(window.matchMedia("(max-width: 768px)").matches){const a=e.querySelector(".card-nav-content");if(a){const i=a.style.visibility,v=a.style.pointerEvents,S=a.style.position,T=a.style.height;a.style.visibility="visible",a.style.pointerEvents="auto",a.style.position="static",a.style.height="auto",a.offsetHeight;const V=60,q=16,I=a.scrollHeight;return a.style.visibility=i,a.style.pointerEvents=v,a.style.position=S,a.style.height=T,V+I+q}}return 260},h=()=>{const e=c.current;if(!e)return null;u.set(e,{height:60,overflow:"hidden"}),u.set(p.current,{y:50,opacity:0});const r=u.timeline({paused:!0});return r.to(e,{height:C,duration:.4,ease:b}),r.to(p.current,{y:0,opacity:1,duration:.4,ease:b,stagger:.08},"-=0.1"),r};o.useLayoutEffect(()=>{const e=h();return l.current=e,()=>{e==null||e.kill(),l.current=null}},[b,m]),o.useLayoutEffect(()=>{const e=()=>{if(l.current)if(s){const r=C();u.set(c.current,{height:r}),l.current.kill();const a=h();a&&(a.progress(1),l.current=a)}else{l.current.kill();const r=h();r&&(l.current=r)}};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[s]);const D=()=>{const e=l.current;e&&(s?(g(!1),e.eventCallback("onReverseComplete",()=>_(!1)),e.reverse()):(g(!0),_(!0),e.play(0)))},H=e=>r=>{r&&(p.current[e]=r)};return t.jsx("div",{className:`${n["card-nav-container"]} ${N}`,children:t.jsxs("nav",{ref:c,className:`${n["card-nav"]} ${s?n.open:""}`,style:{backgroundColor:k},children:[t.jsxs("div",{className:`${n["card-nav-top"]}`,children:[t.jsxs("div",{className:`${n["hamburger-menu"]} ${A?n.open:""}`,onClick:D,role:"button","aria-label":s?"Close menu":"Open menu",tabIndex:0,style:{color:R||"#000"},children:[t.jsx("div",{className:`${n["hamburger-line"]}`}),t.jsx("div",{className:`${n["hamburger-line"]}`})]}),t.jsx("div",{className:`${n["logo-container"]}`,children:t.jsx("img",{src:f,alt:$,className:`${n.logo}`})}),t.jsx("button",{type:"button",className:`${n["card-nav-cta-button"]}`,style:{backgroundColor:j,color:E},children:"Get Started"})]}),t.jsx("div",{className:`${n["card-nav-content"]}`,"aria-hidden":!s,children:(m||[]).slice(0,3).map((e,r)=>{var a;return t.jsxs("div",{className:`${n["nav-card"]}`,ref:H(r),style:{backgroundColor:e.bgColor,color:e.textColor},children:[t.jsx("div",{className:`${n["nav-card-label"]}`,children:e.label}),t.jsx("div",{className:`${n["nav-card-links"]}`,children:(a=e.links)==null?void 0:a.map((i,v)=>t.jsxs("a",{className:`${n["nav-card-link"]}`,href:i.href,"aria-label":i.ariaLabel,children:[t.jsx(U,{className:"nav-card-link-icon","aria-hidden":"true"}),i.label]},`${i.label}-${v}`))})]},`${e.label}-${r}`)})})]})})};L.__docgenInfo={description:"",methods:[],displayName:"CardNav",props:{logoAlt:{defaultValue:{value:"'Logo'",computed:!1},required:!1},className:{defaultValue:{value:"''",computed:!1},required:!1},ease:{defaultValue:{value:"'power3.out'",computed:!1},required:!1},baseColor:{defaultValue:{value:"'#fff'",computed:!1},required:!1}}};const Z={title:"ReactBits/Components/CardNav",component:L,parameters:{layout:"fullscreen"}},d={args:{logoAlt:"Logo",items:[{label:"Products",bgColor:"#1a1a2e",textColor:"#fff",links:[{label:"Analytics",href:"#",ariaLabel:"Analytics"},{label:"Dashboard",href:"#",ariaLabel:"Dashboard"},{label:"Reports",href:"#",ariaLabel:"Reports"}]},{label:"Resources",bgColor:"#16213e",textColor:"#fff",links:[{label:"Documentation",href:"#",ariaLabel:"Documentation"},{label:"Tutorials",href:"#",ariaLabel:"Tutorials"}]},{label:"Company",bgColor:"#0f3460",textColor:"#fff",links:[{label:"About Us",href:"#",ariaLabel:"About Us"},{label:"Careers",href:"#",ariaLabel:"Careers"},{label:"Contact",href:"#",ariaLabel:"Contact"}]}],ease:"power3.out",baseColor:"#fff"}};var y,w,x;d.parameters={...d.parameters,docs:{...(y=d.parameters)==null?void 0:y.docs,source:{originalSource:`{
2
2
  args: {
3
3
  logoAlt: 'Logo',
4
4
  items: [{
@@ -1,4 +1,4 @@
1
- import{r as c,j as i}from"./iframe-BLM9gPKH.js";import{G as v}from"./iconBase-l6iBLek9.js";import{u as Y}from"./use-motion-value-CYCvXY5m.js";import{m as k}from"./proxy-BsV6quUP.js";import{u as z}from"./use-transform-CxdHJNbN.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-E6BOCyHu.js";function K(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"rect",attr:{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"},child:[]},{tag:"line",attr:{x1:"3",y1:"9",x2:"21",y2:"9"},child:[]},{tag:"line",attr:{x1:"9",y1:"21",x2:"9",y2:"9"},child:[]}]})(e)}function Q(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"polygon",attr:{points:"12 2 2 7 12 12 22 7 12 2"},child:[]},{tag:"polyline",attr:{points:"2 17 12 22 22 17"},child:[]},{tag:"polyline",attr:{points:"2 12 12 17 22 12"},child:[]}]})(e)}function X(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"},child:[]},{tag:"polyline",attr:{points:"14 2 14 8 20 8"},child:[]},{tag:"line",attr:{x1:"16",y1:"13",x2:"8",y2:"13"},child:[]},{tag:"line",attr:{x1:"16",y1:"17",x2:"8",y2:"17"},child:[]},{tag:"polyline",attr:{points:"10 9 9 9 8 9"},child:[]}]})(e)}function Z(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"polyline",attr:{points:"16 18 22 12 16 6"},child:[]},{tag:"polyline",attr:{points:"8 6 2 12 8 18"},child:[]}]})(e)}function ee(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"circle",attr:{cx:"12",cy:"12",r:"10"},child:[]}]})(e)}const te="_round_14jni_33",ne="_active_14jni_60",oe="_inactive_14jni_64",n={"carousel-container":"_carousel-container_14jni_1","carousel-track":"_carousel-track_14jni_11","carousel-item":"_carousel-item_14jni_15",round:te,"carousel-item-header":"_carousel-item-header_14jni_47","carousel-indicators-container":"_carousel-indicators-container_14jni_52","carousel-indicator":"_carousel-indicator_14jni_52",active:ne,inactive:oe,"carousel-icon-container":"_carousel-icon-container_14jni_74","carousel-icon":"_carousel-icon_14jni_74","carousel-item-content":"_carousel-item-content_14jni_90","carousel-item-title":"_carousel-item-title_14jni_95","carousel-item-description":"_carousel-item-description_14jni_102","carousel-indicators":"_carousel-indicators_14jni_52"},ie=[{title:"Text Animations",description:"Cool text animations for your projects.",id:1,icon:i.jsx(X,{className:`${n["carousel-icon"]}`})},{title:"Animations",description:"Smooth animations for your projects.",id:2,icon:i.jsx(ee,{className:`${n["carousel-icon"]}`})},{title:"Components",description:"Reusable components for your projects.",id:3,icon:i.jsx(Q,{className:`${n["carousel-icon"]}`})},{title:"Backgrounds",description:"Beautiful backgrounds and patterns for your projects.",id:4,icon:i.jsx(K,{className:`${n["carousel-icon"]}`})},{title:"Common UI",description:"Common UI components are coming soon!",id:5,icon:i.jsx(Z,{className:`${n["carousel-icon"]}`})}],S=0,B=500,T=16,se={type:"spring",stiffness:300,damping:30};function ae({item:e,index:l,itemWidth:g,round:m,trackItemOffset:u,x:s,transition:f}){const N=[-(l+1)*u,-l*u,-(l-1)*u],r=z(s,N,[90,0,-90],{clamp:!1});return i.jsxs(k.div,{className:`${n["carousel-item"]} ${m?n.round:""}`,style:{width:g,height:m?g:"100%",rotateY:r,...m&&{borderRadius:"50%"}},transition:f,children:[i.jsx("div",{className:`${n["carousel-item-header"]} ${m?n.round:""}`,children:i.jsx("span",{className:`${n["carousel-icon-container"]}`,children:e.icon})}),i.jsxs("div",{className:`${n["carousel-item-content"]}`,children:[i.jsx("div",{className:`${n["carousel-item-title"]}`,children:e.title}),i.jsx("p",{className:`${n["carousel-item-description"]}`,children:e.description})]})]},`${(e==null?void 0:e.id)??l}-${l}`)}function V({items:e=ie,baseWidth:l=300,autoplay:g=!1,autoplayDelay:m=3e3,pauseOnHover:u=!1,loop:s=!1,round:f=!1}){const x=l-32,r=x+T,a=c.useMemo(()=>s?e.length===0?[]:[e[e.length-1],...e,e[0]]:e,[e,s]),[d,p]=c.useState(s?1:0),h=Y(0),[L,A]=c.useState(!1),[q,j]=c.useState(!1),[w,_]=c.useState(!1),C=c.useRef(null);c.useEffect(()=>{if(u&&C.current){const o=C.current,t=()=>A(!0),y=()=>A(!1);return o.addEventListener("mouseenter",t),o.addEventListener("mouseleave",y),()=>{o.removeEventListener("mouseenter",t),o.removeEventListener("mouseleave",y)}}},[u]),c.useEffect(()=>{if(!g||a.length<=1||u&&L)return;const o=setInterval(()=>{p(t=>Math.min(t+1,a.length-1))},m);return()=>clearInterval(o)},[g,m,L,u,a.length]),c.useEffect(()=>{const o=s?1:0;p(o),h.set(-o*r)},[e.length,s,r,h]),c.useEffect(()=>{!s&&d>a.length-1&&p(Math.max(0,a.length-1))},[a.length,s,d]);const E=q?{duration:0}:se,P=()=>{_(!0)},U=()=>{if(!s||a.length<=1){_(!1);return}const o=a.length-1;if(d===o){j(!0);const t=1;p(t),h.set(-t*r),requestAnimationFrame(()=>{j(!1),_(!1)});return}if(d===0){j(!0);const t=e.length;p(t),h.set(-t*r),requestAnimationFrame(()=>{j(!1),_(!1)});return}_(!1)},W=(o,t)=>{const{offset:y,velocity:I}=t,R=y.x<-S||I.x<-B?1:y.x>S||I.x>B?-1:0;R!==0&&p(H=>{const O=H+R,J=a.length-1;return Math.max(0,Math.min(O,J))})},G=s?{}:{dragConstraints:{left:-r*Math.max(a.length-1,0),right:0}},F=e.length===0?0:s?(d-1+e.length)%e.length:Math.min(d,e.length-1);return i.jsxs("div",{ref:C,className:`${n["carousel-container"]} ${f?n.round:""}`,style:{width:`${l}px`,...f&&{height:`${l}px`,borderRadius:"50%"}},children:[i.jsx(k.div,{className:`${n["carousel-track"]}`,drag:w?!1:"x",...G,style:{width:x,gap:`${T}px`,perspective:1e3,perspectiveOrigin:`${d*r+x/2}px 50%`,x:h},onDragEnd:W,animate:{x:-(d*r)},transition:E,onAnimationStart:P,onAnimationComplete:U,children:a.map((o,t)=>i.jsx(ae,{item:o,index:t,itemWidth:x,round:f,trackItemOffset:r,x:h,transition:E},`${(o==null?void 0:o.id)??t}-${t}`))}),i.jsx("div",{className:`${n["carousel-indicators-container"]} ${f?n.round:""}`,children:i.jsx("div",{className:`${n["carousel-indicators"]}`,children:e.map((o,t)=>i.jsx(k.div,{className:`${n["carousel-indicator"]} ${F===t?n.active:n.inactive}`,animate:{scale:F===t?1.2:1},onClick:()=>p(s?t+1:t),transition:{duration:.15}},t))})})]})}V.__docgenInfo={description:"",methods:[],displayName:"Carousel",props:{items:{defaultValue:{value:`[
1
+ import{r as c,j as i}from"./iframe-wVHIxtK4.js";import{G as v}from"./iconBase-B0Y1EhGm.js";import{u as Y}from"./use-motion-value-wRl_TaJk.js";import{m as k}from"./proxy-DtFoluf3.js";import{u as z}from"./use-transform-DK7n09PB.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-4sobDr_8.js";function K(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"rect",attr:{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"},child:[]},{tag:"line",attr:{x1:"3",y1:"9",x2:"21",y2:"9"},child:[]},{tag:"line",attr:{x1:"9",y1:"21",x2:"9",y2:"9"},child:[]}]})(e)}function Q(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"polygon",attr:{points:"12 2 2 7 12 12 22 7 12 2"},child:[]},{tag:"polyline",attr:{points:"2 17 12 22 22 17"},child:[]},{tag:"polyline",attr:{points:"2 12 12 17 22 12"},child:[]}]})(e)}function X(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"},child:[]},{tag:"polyline",attr:{points:"14 2 14 8 20 8"},child:[]},{tag:"line",attr:{x1:"16",y1:"13",x2:"8",y2:"13"},child:[]},{tag:"line",attr:{x1:"16",y1:"17",x2:"8",y2:"17"},child:[]},{tag:"polyline",attr:{points:"10 9 9 9 8 9"},child:[]}]})(e)}function Z(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"polyline",attr:{points:"16 18 22 12 16 6"},child:[]},{tag:"polyline",attr:{points:"8 6 2 12 8 18"},child:[]}]})(e)}function ee(e){return v({attr:{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"circle",attr:{cx:"12",cy:"12",r:"10"},child:[]}]})(e)}const te="_round_14jni_33",ne="_active_14jni_60",oe="_inactive_14jni_64",n={"carousel-container":"_carousel-container_14jni_1","carousel-track":"_carousel-track_14jni_11","carousel-item":"_carousel-item_14jni_15",round:te,"carousel-item-header":"_carousel-item-header_14jni_47","carousel-indicators-container":"_carousel-indicators-container_14jni_52","carousel-indicator":"_carousel-indicator_14jni_52",active:ne,inactive:oe,"carousel-icon-container":"_carousel-icon-container_14jni_74","carousel-icon":"_carousel-icon_14jni_74","carousel-item-content":"_carousel-item-content_14jni_90","carousel-item-title":"_carousel-item-title_14jni_95","carousel-item-description":"_carousel-item-description_14jni_102","carousel-indicators":"_carousel-indicators_14jni_52"},ie=[{title:"Text Animations",description:"Cool text animations for your projects.",id:1,icon:i.jsx(X,{className:`${n["carousel-icon"]}`})},{title:"Animations",description:"Smooth animations for your projects.",id:2,icon:i.jsx(ee,{className:`${n["carousel-icon"]}`})},{title:"Components",description:"Reusable components for your projects.",id:3,icon:i.jsx(Q,{className:`${n["carousel-icon"]}`})},{title:"Backgrounds",description:"Beautiful backgrounds and patterns for your projects.",id:4,icon:i.jsx(K,{className:`${n["carousel-icon"]}`})},{title:"Common UI",description:"Common UI components are coming soon!",id:5,icon:i.jsx(Z,{className:`${n["carousel-icon"]}`})}],S=0,B=500,T=16,se={type:"spring",stiffness:300,damping:30};function ae({item:e,index:l,itemWidth:g,round:m,trackItemOffset:u,x:s,transition:f}){const N=[-(l+1)*u,-l*u,-(l-1)*u],r=z(s,N,[90,0,-90],{clamp:!1});return i.jsxs(k.div,{className:`${n["carousel-item"]} ${m?n.round:""}`,style:{width:g,height:m?g:"100%",rotateY:r,...m&&{borderRadius:"50%"}},transition:f,children:[i.jsx("div",{className:`${n["carousel-item-header"]} ${m?n.round:""}`,children:i.jsx("span",{className:`${n["carousel-icon-container"]}`,children:e.icon})}),i.jsxs("div",{className:`${n["carousel-item-content"]}`,children:[i.jsx("div",{className:`${n["carousel-item-title"]}`,children:e.title}),i.jsx("p",{className:`${n["carousel-item-description"]}`,children:e.description})]})]},`${(e==null?void 0:e.id)??l}-${l}`)}function V({items:e=ie,baseWidth:l=300,autoplay:g=!1,autoplayDelay:m=3e3,pauseOnHover:u=!1,loop:s=!1,round:f=!1}){const x=l-32,r=x+T,a=c.useMemo(()=>s?e.length===0?[]:[e[e.length-1],...e,e[0]]:e,[e,s]),[d,p]=c.useState(s?1:0),h=Y(0),[L,A]=c.useState(!1),[q,j]=c.useState(!1),[w,_]=c.useState(!1),C=c.useRef(null);c.useEffect(()=>{if(u&&C.current){const o=C.current,t=()=>A(!0),y=()=>A(!1);return o.addEventListener("mouseenter",t),o.addEventListener("mouseleave",y),()=>{o.removeEventListener("mouseenter",t),o.removeEventListener("mouseleave",y)}}},[u]),c.useEffect(()=>{if(!g||a.length<=1||u&&L)return;const o=setInterval(()=>{p(t=>Math.min(t+1,a.length-1))},m);return()=>clearInterval(o)},[g,m,L,u,a.length]),c.useEffect(()=>{const o=s?1:0;p(o),h.set(-o*r)},[e.length,s,r,h]),c.useEffect(()=>{!s&&d>a.length-1&&p(Math.max(0,a.length-1))},[a.length,s,d]);const E=q?{duration:0}:se,P=()=>{_(!0)},U=()=>{if(!s||a.length<=1){_(!1);return}const o=a.length-1;if(d===o){j(!0);const t=1;p(t),h.set(-t*r),requestAnimationFrame(()=>{j(!1),_(!1)});return}if(d===0){j(!0);const t=e.length;p(t),h.set(-t*r),requestAnimationFrame(()=>{j(!1),_(!1)});return}_(!1)},W=(o,t)=>{const{offset:y,velocity:I}=t,R=y.x<-S||I.x<-B?1:y.x>S||I.x>B?-1:0;R!==0&&p(H=>{const O=H+R,J=a.length-1;return Math.max(0,Math.min(O,J))})},G=s?{}:{dragConstraints:{left:-r*Math.max(a.length-1,0),right:0}},F=e.length===0?0:s?(d-1+e.length)%e.length:Math.min(d,e.length-1);return i.jsxs("div",{ref:C,className:`${n["carousel-container"]} ${f?n.round:""}`,style:{width:`${l}px`,...f&&{height:`${l}px`,borderRadius:"50%"}},children:[i.jsx(k.div,{className:`${n["carousel-track"]}`,drag:w?!1:"x",...G,style:{width:x,gap:`${T}px`,perspective:1e3,perspectiveOrigin:`${d*r+x/2}px 50%`,x:h},onDragEnd:W,animate:{x:-(d*r)},transition:E,onAnimationStart:P,onAnimationComplete:U,children:a.map((o,t)=>i.jsx(ae,{item:o,index:t,itemWidth:x,round:f,trackItemOffset:r,x:h,transition:E},`${(o==null?void 0:o.id)??t}-${t}`))}),i.jsx("div",{className:`${n["carousel-indicators-container"]} ${f?n.round:""}`,children:i.jsx("div",{className:`${n["carousel-indicators"]}`,children:e.map((o,t)=>i.jsx(k.div,{className:`${n["carousel-indicator"]} ${F===t?n.active:n.inactive}`,animate:{scale:F===t?1.2:1},onClick:()=>p(s?t+1:t),transition:{duration:.15}},t))})})]})}V.__docgenInfo={description:"",methods:[],displayName:"Carousel",props:{items:{defaultValue:{value:`[
2
2
  {
3
3
  title: 'Text Animations',
4
4
  description: 'Cool text animations for your projects.',
@@ -1,4 +1,4 @@
1
- import{r as i,j as a}from"./iframe-BLM9gPKH.js";import{u as k}from"./useSound-SuqbUlad.js";const x="_checkboxLabel_kh8g9_1",f="_checkbox_kh8g9_1",g="_checkboxText_kh8g9_92",c={checkboxLabel:x,checkbox:f,checkboxText:g},C=({checked:o,onChange:r,label:s,disabled:h=!1,indeterminate:n=!1,id:l,name:d,value:b,soundConfig:e})=>{const t=i.useRef(null),{playSound:u}=k(e);return i.useEffect(()=>{t.current&&(t.current.indeterminate=n)},[n]),a.jsxs("label",{className:c.checkboxLabel,children:[a.jsx("input",{ref:t,type:"checkbox",checked:o,onChange:m=>{const p=m.target.checked;r(p),(e==null?void 0:e.onClick)!==!1&&u("toggle")},className:c.checkbox,disabled:h,id:l,name:d,value:b,"aria-checked":n?"mixed":o}),s&&a.jsx("span",{className:c.checkboxText,children:s})]})};C.__docgenInfo={description:`Checkbox component - Modern interactive checkbox with animations
1
+ import{r as i,j as a}from"./iframe-wVHIxtK4.js";import{u as k}from"./useSound-DGHMGE7h.js";const x="_checkboxLabel_kh8g9_1",f="_checkbox_kh8g9_1",g="_checkboxText_kh8g9_92",c={checkboxLabel:x,checkbox:f,checkboxText:g},C=({checked:o,onChange:r,label:s,disabled:h=!1,indeterminate:n=!1,id:l,name:d,value:b,soundConfig:e})=>{const t=i.useRef(null),{playSound:u}=k(e);return i.useEffect(()=>{t.current&&(t.current.indeterminate=n)},[n]),a.jsxs("label",{className:c.checkboxLabel,children:[a.jsx("input",{ref:t,type:"checkbox",checked:o,onChange:m=>{const p=m.target.checked;r(p),(e==null?void 0:e.onClick)!==!1&&u("toggle")},className:c.checkbox,disabled:h,id:l,name:d,value:b,"aria-checked":n?"mixed":o}),s&&a.jsx("span",{className:c.checkboxText,children:s})]})};C.__docgenInfo={description:`Checkbox component - Modern interactive checkbox with animations
2
2
 
3
3
  @component
4
4
  @description
@@ -1,4 +1,4 @@
1
- import{r as g,j as t}from"./iframe-BLM9gPKH.js";import{C as s}from"./Checkbox-BEMCpJLS.js";import"./preload-helper-C1FmrZbK.js";import"./useSound-SuqbUlad.js";const E={title:"Atoms/Checkbox",component:s,parameters:{layout:"centered",docs:{description:{component:"A simple checkbox component with optional label."}}},tags:["autodocs"],argTypes:{checked:{control:"boolean"},label:{control:"text"},disabled:{control:"boolean"},onChange:{action:"changed"}}},n={args:{checked:!1,label:"Accept terms and conditions",onChange:()=>{}}},c={args:{checked:!1,label:"This option is disabled",disabled:!0,onChange:()=>{}}},i={args:{checked:!1,label:"Multiple checkboxes example",onChange:()=>{}},render:()=>{const[e,a]=g.useState({option1:!1,option2:!0,option3:!1,option4:!1});return t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"},children:[t.jsx(s,{checked:e.option1,onChange:o=>a({...e,option1:o}),label:"Enable notifications"}),t.jsx(s,{checked:e.option2,onChange:o=>a({...e,option2:o}),label:"Receive marketing emails"}),t.jsx(s,{checked:e.option3,onChange:o=>a({...e,option3:o}),label:"Share usage statistics"}),t.jsx(s,{checked:e.option4,onChange:o=>a({...e,option4:o}),label:"Enable dark mode",disabled:!0})]})},parameters:{controls:{disable:!0}}};var l,r,p;n.parameters={...n.parameters,docs:{...(l=n.parameters)==null?void 0:l.docs,source:{originalSource:`{
1
+ import{r as g,j as t}from"./iframe-wVHIxtK4.js";import{C as s}from"./Checkbox-D1NYWUJY.js";import"./preload-helper-C1FmrZbK.js";import"./useSound-DGHMGE7h.js";const E={title:"Atoms/Checkbox",component:s,parameters:{layout:"centered",docs:{description:{component:"A simple checkbox component with optional label."}}},tags:["autodocs"],argTypes:{checked:{control:"boolean"},label:{control:"text"},disabled:{control:"boolean"},onChange:{action:"changed"}}},n={args:{checked:!1,label:"Accept terms and conditions",onChange:()=>{}}},c={args:{checked:!1,label:"This option is disabled",disabled:!0,onChange:()=>{}}},i={args:{checked:!1,label:"Multiple checkboxes example",onChange:()=>{}},render:()=>{const[e,a]=g.useState({option1:!1,option2:!0,option3:!1,option4:!1});return t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"},children:[t.jsx(s,{checked:e.option1,onChange:o=>a({...e,option1:o}),label:"Enable notifications"}),t.jsx(s,{checked:e.option2,onChange:o=>a({...e,option2:o}),label:"Receive marketing emails"}),t.jsx(s,{checked:e.option3,onChange:o=>a({...e,option3:o}),label:"Share usage statistics"}),t.jsx(s,{checked:e.option4,onChange:o=>a({...e,option4:o}),label:"Enable dark mode",disabled:!0})]})},parameters:{controls:{disable:!0}}};var l,r,p;n.parameters={...n.parameters,docs:{...(l=n.parameters)==null?void 0:l.docs,source:{originalSource:`{
2
2
  args: {
3
3
  checked: false,
4
4
  label: 'Accept terms and conditions',