@stfrigerio/sito-template 0.1.58 → 0.1.59

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 (295) hide show
  1. package/dist/components/atoms/Button/Button.stories.d.ts +0 -1
  2. package/dist/components/atoms/Button/Button.stories.d.ts.map +1 -1
  3. package/dist/components/atoms/Card/Card.stories.d.ts +0 -1
  4. package/dist/components/atoms/Card/Card.stories.d.ts.map +1 -1
  5. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts +0 -7
  6. package/dist/components/atoms/Checkbox/Checkbox.stories.d.ts.map +1 -1
  7. package/dist/components/atoms/DateInput/DateInput.stories.d.ts +0 -7
  8. package/dist/components/atoms/DateInput/DateInput.stories.d.ts.map +1 -1
  9. package/dist/components/atoms/LoadingSpinner/LoadingSpinner.stories.d.ts +1 -15
  10. package/dist/components/atoms/LoadingSpinner/LoadingSpinner.stories.d.ts.map +1 -1
  11. package/dist/components/atoms/NumberStepper/NumberStepper.stories.d.ts +0 -16
  12. package/dist/components/atoms/NumberStepper/NumberStepper.stories.d.ts.map +1 -1
  13. package/dist/components/atoms/SearchableDropdown/SearchableDropdown.stories.d.ts +0 -9
  14. package/dist/components/atoms/SearchableDropdown/SearchableDropdown.stories.d.ts.map +1 -1
  15. package/dist/components/atoms/SelectInput/SelectInput.stories.d.ts +0 -6
  16. package/dist/components/atoms/SelectInput/SelectInput.stories.d.ts.map +1 -1
  17. package/dist/components/atoms/Slider/Slider.stories.d.ts.map +1 -1
  18. package/dist/components/atoms/TextArea/TextArea.stories.d.ts +0 -10
  19. package/dist/components/atoms/TextArea/TextArea.stories.d.ts.map +1 -1
  20. package/dist/components/atoms/TextInput/TextInput.stories.d.ts +0 -14
  21. package/dist/components/atoms/TextInput/TextInput.stories.d.ts.map +1 -1
  22. package/dist/components/atoms/Toggle/Toggle.stories.d.ts +0 -8
  23. package/dist/components/atoms/Toggle/Toggle.stories.d.ts.map +1 -1
  24. package/dist/components/atoms/ToggleButton/ToggleButton.stories.d.ts +0 -7
  25. package/dist/components/atoms/ToggleButton/ToggleButton.stories.d.ts.map +1 -1
  26. package/dist/components/molecules/ArrayInput/ArrayInput.stories.d.ts +0 -9
  27. package/dist/components/molecules/ArrayInput/ArrayInput.stories.d.ts.map +1 -1
  28. package/dist/components/molecules/EditFAB/EditFAB.stories.d.ts +1 -12
  29. package/dist/components/molecules/EditFAB/EditFAB.stories.d.ts.map +1 -1
  30. package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts +0 -8
  31. package/dist/components/molecules/SearchBar/SearchBar.stories.d.ts.map +1 -1
  32. package/dist/components/molecules/Tabs/Tabs.stories.d.ts.map +1 -1
  33. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.stories.d.ts +0 -3
  34. package/dist/components/molecules/ThemeSwitcher/ThemeSwitcher.stories.d.ts.map +1 -1
  35. package/dist/components/molecules/TimeInput/TimeInput.stories.d.ts +0 -6
  36. package/dist/components/molecules/TimeInput/TimeInput.stories.d.ts.map +1 -1
  37. package/dist/components/organisms/Calendar/Calendar.d.ts.map +1 -1
  38. package/dist/components/organisms/Calendar/Calendar.stories.d.ts +0 -1
  39. package/dist/components/organisms/Calendar/Calendar.stories.d.ts.map +1 -1
  40. package/dist/components/organisms/Calendar/DayEventCard.d.ts +1 -1
  41. package/dist/components/organisms/Calendar/DayEventCard.d.ts.map +1 -1
  42. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.stories.d.ts +0 -23
  43. package/dist/components/organisms/ImageSlideshow/ImageSlideshow.stories.d.ts.map +1 -1
  44. package/dist/components/organisms/Navbar/Navbar.d.ts +1 -0
  45. package/dist/components/organisms/Navbar/Navbar.d.ts.map +1 -1
  46. package/dist/components/organisms/Navbar/Navbar.stories.d.ts +1 -7
  47. package/dist/components/organisms/Navbar/Navbar.stories.d.ts.map +1 -1
  48. package/dist/components/organisms/charts/BooleansHeatmap/BooleansHeatmap.stories.d.ts +1 -4
  49. package/dist/components/organisms/charts/BooleansHeatmap/BooleansHeatmap.stories.d.ts.map +1 -1
  50. package/dist/components/organisms/charts/PieChart/PieChart.stories.d.ts +1 -5
  51. package/dist/components/organisms/charts/PieChart/PieChart.stories.d.ts.map +1 -1
  52. package/dist/index.esm.js +129 -57
  53. package/dist/index.esm.js.map +1 -1
  54. package/dist/index.js +128 -56
  55. package/dist/index.js.map +1 -1
  56. package/dist/stories/utils.d.ts.map +1 -1
  57. package/dist/styles.css +1 -1
  58. package/dist/styles.css.map +1 -1
  59. package/dist/themes/globals.css +2 -5
  60. package/package.json +1 -1
  61. package/storybook-static/assets/{ASCIIText.stories-LbmvFzzv.js → ASCIIText.stories-CsG3yKr5.js} +4 -4
  62. package/storybook-static/assets/{AllAtoms.stories-CLunFOjI.js → AllAtoms.stories-D2Pzz8c7.js} +1 -1
  63. package/storybook-static/assets/{AnimatedContent.stories-B8hBaVkK.js → AnimatedContent.stories-BP9feFGz.js} +1 -1
  64. package/storybook-static/assets/{AnimatedList.stories-D8a9eYqH.js → AnimatedList.stories-DQ8jdk44.js} +2 -2
  65. package/storybook-static/assets/{Antigravity.stories-D_mJbWK0.js → Antigravity.stories-BTIHyYKU.js} +1 -1
  66. package/storybook-static/assets/ArrayInput.stories-d5_OJJMu.js +138 -0
  67. package/storybook-static/assets/{Aurora.stories-BN4MataE.js → Aurora.stories-D_eQNPaB.js} +2 -2
  68. package/storybook-static/assets/{Beams.stories-CCtZOw8G.js → Beams.stories-VLKuYE0_.js} +6 -6
  69. package/storybook-static/assets/{BlobCursor.stories-CdB55R5G.js → BlobCursor.stories-BQJgTsuD.js} +1 -1
  70. package/storybook-static/assets/{BlurText.stories-Bg2Ih2Je.js → BlurText.stories-oSn5_w7h.js} +2 -2
  71. package/storybook-static/assets/BooleansHeatmap-C8cFXa7K.css +1 -0
  72. package/storybook-static/assets/BooleansHeatmap.stories-CHoCYK4N.js +63 -0
  73. package/storybook-static/assets/{BorderGlow.stories-CUxbrsvW.js → BorderGlow.stories-D-vgIU3S.js} +1 -1
  74. package/storybook-static/assets/{BubbleMenu.stories-DuVDLBsV.js → BubbleMenu.stories-DcWoqA7_.js} +1 -1
  75. package/storybook-static/assets/{Button-CQGdvhpN.js → Button-DgpqJWgD.js} +1 -1
  76. package/storybook-static/assets/{Button.stories-D8Xx3I9p.js → Button.stories-TQXKQagp.js} +2 -2
  77. package/storybook-static/assets/Calendar-BZCyXxvF.css +1 -0
  78. package/storybook-static/assets/Calendar.stories-D5CKBagI.js +321 -0
  79. package/storybook-static/assets/{Card-DNp-cUnt.js → Card-Bu54h8gN.js} +1 -1
  80. package/storybook-static/assets/{Card.stories-D1f1NTVU.js → Card.stories-Dw2bPvLo.js} +1 -1
  81. package/storybook-static/assets/{CardNav.stories-Cd4zEw8p.js → CardNav.stories-CnbwwAde.js} +1 -1
  82. package/storybook-static/assets/{Carousel.stories-BxbGwXE5.js → Carousel.stories-ChBLLqBg.js} +2 -2
  83. package/storybook-static/assets/{Checkbox-Dw8W2w74.js → Checkbox-Duyafa-Y.js} +1 -1
  84. package/storybook-static/assets/Checkbox.stories-Co7IxmK1.js +55 -0
  85. package/storybook-static/assets/{ChromaGrid.stories-DBHYiDPV.js → ChromaGrid.stories-68ukohGs.js} +1 -1
  86. package/storybook-static/assets/{CircularGallery.stories-TJN6o_RG.js → CircularGallery.stories-CV4iXVIX.js} +2 -2
  87. package/storybook-static/assets/{CircularText.stories-rNjRUNn2.js → CircularText.stories-DqYHtbPW.js} +1 -1
  88. package/storybook-static/assets/{ClickSpark.stories-BfqByoGe.js → ClickSpark.stories-DvAOxLjs.js} +1 -1
  89. package/storybook-static/assets/{ColorBends.stories-IEMOWAyf.js → ColorBends.stories-Dm4nxTTN.js} +2 -2
  90. package/storybook-static/assets/{CountUp.stories-DXPrKAQb.js → CountUp.stories-DTaL8Yfy.js} +1 -1
  91. package/storybook-static/assets/{Counter.stories-DMdecsw_.js → Counter.stories-Bf_2Js0l.js} +2 -2
  92. package/storybook-static/assets/{Crosshair.stories-CYzDxRSn.js → Crosshair.stories-DJjjCcED.js} +2 -2
  93. package/storybook-static/assets/{Cubes.stories-Drq4ULo3.js → Cubes.stories-Qh3JqlQW.js} +1 -1
  94. package/storybook-static/assets/{CurvedLoop.stories-C9GMKnIw.js → CurvedLoop.stories-BvyrCuM7.js} +1 -1
  95. package/storybook-static/assets/{DarkVeil.stories-BtLNfEH8.js → DarkVeil.stories-BVY870pm.js} +2 -2
  96. package/storybook-static/assets/{DateInput-CW4PsZAQ.js → DateInput-DfGES3te.js} +2 -2
  97. package/storybook-static/assets/DateInput-Dhcb9x13.css +1 -0
  98. package/storybook-static/assets/DateInput.stories-BXF8Ttde.js +51 -0
  99. package/storybook-static/assets/{DecayCard.stories-CAU_wTc7.js → DecayCard.stories-B0g2xWqX.js} +1 -1
  100. package/storybook-static/assets/{DecryptedText.stories-Dvba9C1V.js → DecryptedText.stories-fqDZfjv8.js} +1 -1
  101. package/storybook-static/assets/{Dither.stories-B5KfMprl.js → Dither.stories-B4N3Z5sW.js} +2 -2
  102. package/storybook-static/assets/{Dock.stories-oyQGRzlM.js → Dock.stories-f_YKz-pl.js} +1 -1
  103. package/storybook-static/assets/EditFAB.stories-LhVUDgtx.js +233 -0
  104. package/storybook-static/assets/{EvilEye.stories-C1820-DG.js → EvilEye.stories-BtBvvs31.js} +2 -2
  105. package/storybook-static/assets/{FadeContent.stories-B4z_JRy9.js → FadeContent.stories-oNqKrfSe.js} +1 -1
  106. package/storybook-static/assets/{FaultyTerminal.stories-DmkguJql.js → FaultyTerminal.stories-7nV4DvrW.js} +2 -2
  107. package/storybook-static/assets/{Fbo-CTQm-4Bw.js → Fbo-Clk04E0N.js} +1 -1
  108. package/storybook-static/assets/{FloatingLines.stories-CQvqKSpH.js → FloatingLines.stories-DgxhGl_b.js} +2 -2
  109. package/storybook-static/assets/{FlowingMenu.stories-DmOspv0B.js → FlowingMenu.stories-C5dfG25U.js} +1 -1
  110. package/storybook-static/assets/{FluidGlass.stories-CZSqxrNt.js → FluidGlass.stories-DGLlp1x1.js} +2 -2
  111. package/storybook-static/assets/{Folder.stories-7vb52Lfi.js → Folder.stories-BJGdA6Qb.js} +1 -1
  112. package/storybook-static/assets/{FuzzyText.stories-BdXN4VK1.js → FuzzyText.stories-DygRT6bB.js} +1 -1
  113. package/storybook-static/assets/{Galaxy.stories-BhT1GZh5.js → Galaxy.stories-BU6XCHeu.js} +2 -2
  114. package/storybook-static/assets/{GhostCursor.stories-DkXqCjE9.js → GhostCursor.stories-D_HIFPUl.js} +2 -2
  115. package/storybook-static/assets/{GlareHover.stories-CznX3yTV.js → GlareHover.stories-D5_-xnyP.js} +1 -1
  116. package/storybook-static/assets/{GlassSurface.stories-BnwwYK95.js → GlassSurface.stories-CrZqAGRq.js} +2 -2
  117. package/storybook-static/assets/{GlitchText.stories-CVcTBUVS.js → GlitchText.stories-BRqI-kBX.js} +2 -2
  118. package/storybook-static/assets/{GooeyNav.stories-C0abTHBc.js → GooeyNav.stories-DjR0-Th2.js} +1 -1
  119. package/storybook-static/assets/{GradientBlinds.stories-CpSguKtv.js → GradientBlinds.stories-CiIDtPz3.js} +2 -2
  120. package/storybook-static/assets/{GradientText.stories-B4hMx13h.js → GradientText.stories-pLA_An71.js} +1 -1
  121. package/storybook-static/assets/{Grainient.stories-5EakpvU2.js → Grainient.stories-BthRrRMd.js} +2 -2
  122. package/storybook-static/assets/{GridMotion.stories-Bm3DD7cb.js → GridMotion.stories-BSwjL8IE.js} +1 -1
  123. package/storybook-static/assets/ImageSlideshow.stories-BYAQMHlZ.js +108 -0
  124. package/storybook-static/assets/{Iridescence.stories-Cykk3hHZ.js → Iridescence.stories-ChHTH2TM.js} +2 -2
  125. package/storybook-static/assets/{LaserFlow.stories-CfiM4ZZ5.js → LaserFlow.stories-DlDx8Vr8.js} +2 -2
  126. package/storybook-static/assets/{LetterGlitch.stories-BXb7iSeX.js → LetterGlitch.stories-C-S2SRjU.js} +1 -1
  127. package/storybook-static/assets/{LightPillar.stories-CwI-8_BF.js → LightPillar.stories-D0PF-h7T.js} +3 -3
  128. package/storybook-static/assets/{LightRays.stories-BIIfv6Ky.js → LightRays.stories-Cbkl7wuP.js} +2 -2
  129. package/storybook-static/assets/{Lightning.stories-B8GNkzSN.js → Lightning.stories-BUs-gwYj.js} +2 -2
  130. package/storybook-static/assets/{LineWaves.stories-CjxdD_yt.js → LineWaves.stories-D2GXzteP.js} +2 -2
  131. package/storybook-static/assets/{LiquidChrome.stories-G7bVFJM9.js → LiquidChrome.stories-CtDp7th1.js} +2 -2
  132. package/storybook-static/assets/{LiquidEther.stories-C8n27zuA.js → LiquidEther.stories-DM2n5oEm.js} +2 -2
  133. package/storybook-static/assets/{LoadingSpinner-Br8TYFlF.js → LoadingSpinner-DaUSIVPY.js} +1 -1
  134. package/storybook-static/assets/LoadingSpinner.stories-Cx4_nNAf.js +21 -0
  135. package/storybook-static/assets/{MagicRings.stories-D50m_2UF.js → MagicRings.stories-CZt-cHcL.js} +2 -2
  136. package/storybook-static/assets/{Magnet.stories-BP9fjpzP.js → Magnet.stories-B6js1VeO.js} +1 -1
  137. package/storybook-static/assets/{MagnetLines.stories-DvbytV0Y.js → MagnetLines.stories-BKQ9YC_E.js} +1 -1
  138. package/storybook-static/assets/{Masonry.stories-xXYQw2uD.js → Masonry.stories-BGkTkNUa.js} +1 -1
  139. package/storybook-static/assets/{MetaBalls.stories-DKD3gVUH.js → MetaBalls.stories-Cao6Tqjg.js} +2 -2
  140. package/storybook-static/assets/{MetallicPaint.stories-Bz-uS-L_.js → MetallicPaint.stories-DF9qb3W_.js} +2 -2
  141. package/storybook-static/assets/MoodChart-ba3aY_qF.css +1 -0
  142. package/storybook-static/assets/MoodChart.stories-AGxwnR6s.js +40 -0
  143. package/storybook-static/assets/{MotionConfigContext-D5hZdVGx.js → MotionConfigContext-BCa1jVYq.js} +1 -1
  144. package/storybook-static/assets/Navbar-CH6O1IzY.css +1 -0
  145. package/storybook-static/assets/Navbar.stories-CFHb1c22.js +186 -0
  146. package/storybook-static/assets/{Noise.stories-D6C6-k8-.js → Noise.stories-ConXbyqm.js} +2 -2
  147. package/storybook-static/assets/{NumberStepper--0cJcLNZ.js → NumberStepper-DH9y3k8b.js} +1 -1
  148. package/storybook-static/assets/NumberStepper.stories-PMwPqbsn.js +88 -0
  149. package/storybook-static/assets/{Orb.stories-CS__2PJW.js → Orb.stories-DcXSWhV1.js} +2 -2
  150. package/storybook-static/assets/{OrbitImages.stories-CcaelcY5.js → OrbitImages.stories-Dk417qKA.js} +1 -1
  151. package/storybook-static/assets/PieChart-DXPBsaZR.css +1 -0
  152. package/storybook-static/assets/PieChart.stories-6sgfe6Xk.js +91 -0
  153. package/storybook-static/assets/{PixelBlast.stories-CyK8BxPq.js → PixelBlast.stories-_cBuognT.js} +2 -2
  154. package/storybook-static/assets/{PixelCard.stories-D_Og1Eve.js → PixelCard.stories-D_EZOUox.js} +1 -1
  155. package/storybook-static/assets/{PixelSnow.stories-CoCZucVV.js → PixelSnow.stories-DcD7737G.js} +2 -2
  156. package/storybook-static/assets/{PixelTransition.stories-DmVJ4jdu.js → PixelTransition.stories-BwNcUv5J.js} +1 -1
  157. package/storybook-static/assets/{Plasma.stories-DUqrW-qq.js → Plasma.stories-BLolMCfR.js} +2 -2
  158. package/storybook-static/assets/{Prism.stories-DWdVDcBG.js → Prism.stories-CG2_KGsq.js} +2 -2
  159. package/storybook-static/assets/{PrismaticBurst.stories-BEVYTjXo.js → PrismaticBurst.stories-DzS--Ffu.js} +2 -2
  160. package/storybook-static/assets/{ProfileCard.stories-CAoKQpAZ.js → ProfileCard.stories-vI_ispYe.js} +1 -1
  161. package/storybook-static/assets/QuantifiableHabitsChart-BiMp7Kkq.css +1 -0
  162. package/storybook-static/assets/{QuantifiableHabitsChart.stories-CMexb5Ij.js → QuantifiableHabitsChart.stories-D5yeGCZ5.js} +2 -2
  163. package/storybook-static/assets/{Radar.stories-Dcjnm9Bu.js → Radar.stories-DLv_hY9T.js} +2 -2
  164. package/storybook-static/assets/{Ribbons.stories-Cs3Eg2Gz.js → Ribbons.stories-4BbVINtW.js} +4 -4
  165. package/storybook-static/assets/{RippleGrid.stories-QV9Doq9P.js → RippleGrid.stories-CFh8tigy.js} +2 -2
  166. package/storybook-static/assets/{RotatingText.stories-DkntoAXJ.js → RotatingText.stories-AM4GcpU2.js} +2 -2
  167. package/storybook-static/assets/{ScrollFloat.stories-BaX43Ike.js → ScrollFloat.stories-Ct_ZkL7k.js} +1 -1
  168. package/storybook-static/assets/{ScrollReveal.stories-C2IWpLpI.js → ScrollReveal.stories-B7fcgLZ3.js} +1 -1
  169. package/storybook-static/assets/{ScrollVelocity.stories-LaYJ5WQN.js → ScrollVelocity.stories-BRDv3Fdk.js} +1 -1
  170. package/storybook-static/assets/SearchBar.stories-Dnmegbak.js +64 -0
  171. package/storybook-static/assets/{SearchableDropdown-4HgWY0Ck.js → SearchableDropdown-BtIsuxmT.js} +1 -1
  172. package/storybook-static/assets/SearchableDropdown.stories-DVub17TN.js +44 -0
  173. package/storybook-static/assets/{SelectInput-DvSeeIw5.js → SelectInput-C0kBLYgX.js} +1 -1
  174. package/storybook-static/assets/SelectInput.stories-HoF32-Km.js +94 -0
  175. package/storybook-static/assets/{ShapeBlur.stories-ZQV0yHkn.js → ShapeBlur.stories-C3RyLvBh.js} +2 -2
  176. package/storybook-static/assets/{ShapeGrid.stories-G_tZAcp9.js → ShapeGrid.stories-ltmu466o.js} +1 -1
  177. package/storybook-static/assets/{ShinyText.stories-C6BrLI0x.js → ShinyText.stories-JO2F4CpJ.js} +1 -1
  178. package/storybook-static/assets/{Silk.stories-BpsR4txJ.js → Silk.stories-CUzWiwqP.js} +2 -2
  179. package/storybook-static/assets/SleepChart-CjpdWR_T.css +1 -0
  180. package/storybook-static/assets/SleepChart.stories-YvCzf0BI.js +58 -0
  181. package/storybook-static/assets/Slider-BaDHm9m3.css +1 -0
  182. package/storybook-static/assets/{Slider-3iog5_du.js → Slider-CI9mXQSu.js} +1 -1
  183. package/storybook-static/assets/{Slider.stories-C8eUZ7Ne.js → Slider.stories-DQYlBjGq.js} +1 -1
  184. package/storybook-static/assets/{SoftAurora.stories--Rcyqxiu.js → SoftAurora.stories-ubq_KV8Q.js} +2 -2
  185. package/storybook-static/assets/{SoundDemo.stories-DvhKS2Fi.js → SoundDemo.stories-Cie-leKw.js} +1 -1
  186. package/storybook-static/assets/{SplashCursor.stories-FzRIUaX9.js → SplashCursor.stories-Clea3dMy.js} +2 -2
  187. package/storybook-static/assets/{SpotlightCard.stories-CifqsSUc.js → SpotlightCard.stories-BWv0AuTI.js} +1 -1
  188. package/storybook-static/assets/{Stack.stories-Dq82x0TG.js → Stack.stories-DxVGTJ6l.js} +1 -1
  189. package/storybook-static/assets/{StaggeredMenu.stories-CsiTDJGG.js → StaggeredMenu.stories-1UB8ravq.js} +1 -1
  190. package/storybook-static/assets/{StarBorder.stories-Ba14_TPk.js → StarBorder.stories-DiSAqN3r.js} +2 -2
  191. package/storybook-static/assets/{SunburstChart.stories-fREzDXM9.js → SunburstChart.stories-DLjQA_I1.js} +1 -1
  192. package/storybook-static/assets/Table-BFjXRRk3.css +1 -0
  193. package/storybook-static/assets/{Table.stories-CXsQAQrR.js → Table.stories-wQGb96WC.js} +6 -6
  194. package/storybook-static/assets/Tabs-CDVjuS9_.css +1 -0
  195. package/storybook-static/assets/{Tabs.stories-HeiG8gYN.js → Tabs.stories-jkioQ4xt.js} +4 -4
  196. package/storybook-static/assets/{TargetCursor.stories-B16pWZaP.js → TargetCursor.stories-B4ACbrmW.js} +1 -1
  197. package/storybook-static/assets/{TextArea-DKx3k6hV.js → TextArea-DN6IYITs.js} +1 -1
  198. package/storybook-static/assets/TextArea.stories-CwLLZFoD.js +118 -0
  199. package/storybook-static/assets/{TextCursor.stories-CY2eIn6Z.js → TextCursor.stories-NORQhkfy.js} +1 -1
  200. package/storybook-static/assets/TextInput-6V0mlIuS.css +1 -0
  201. package/storybook-static/assets/TextInput-CLgIGUn3.js +28 -0
  202. package/storybook-static/assets/TextInput.stories-BNooOWA2.js +89 -0
  203. package/storybook-static/assets/{TextPressure.stories-sH-cgdL2.js → TextPressure.stories-BaCAyBD4.js} +2 -2
  204. package/storybook-static/assets/{TextType.stories-B7Oy3P9u.js → TextType.stories-DG4mQ3HF.js} +1 -1
  205. package/storybook-static/assets/ThemeSwitcher.stories-slxIamHU.js +47 -0
  206. package/storybook-static/assets/{Threads.stories-e52ErKbM.js → Threads.stories-Rsg8lRsX.js} +2 -2
  207. package/storybook-static/assets/TimeInput-BT44V2P0.css +1 -0
  208. package/storybook-static/assets/TimeInput.stories-CaO8_PY2.js +13 -0
  209. package/storybook-static/assets/{Toggle-BntWdyUe.js → Toggle-CTTN-13k.js} +1 -1
  210. package/storybook-static/assets/Toggle.stories-DrNYDjFB.js +163 -0
  211. package/storybook-static/assets/{ToggleButton-BQqJdlB_.js → ToggleButton-CXK855yx.js} +1 -1
  212. package/storybook-static/assets/ToggleButton.stories-DNsNH9vH.js +103 -0
  213. package/storybook-static/assets/{TrueFocus.stories-wm4VXWCk.js → TrueFocus.stories-zG6Ml8RP.js} +1 -1
  214. package/storybook-static/assets/{VariableProximity.stories-BNSYs_rC.js → VariableProximity.stories-CMZW-Tov.js} +1 -1
  215. package/storybook-static/assets/{Waves.stories-Ce2ZJFsV.js → Waves.stories-CscXTp_S.js} +1 -1
  216. package/storybook-static/assets/{check-Cty-Z1Ib.js → check-DLeHG_Da.js} +1 -1
  217. package/storybook-static/assets/{chevron-down-OhqRl4eJ.js → chevron-down-Ciks5pXx.js} +1 -1
  218. package/storybook-static/assets/{chevron-right-CZm4bArI.js → chevron-right-DjeluSA0.js} +1 -1
  219. package/storybook-static/assets/client-D1KVnN68.js +1 -0
  220. package/storybook-static/assets/{createLucideIcon-BNUG5osq.js → createLucideIcon-dvowvj4F.js} +1 -1
  221. package/storybook-static/assets/{folder-BjriMpXc.js → folder-CCqkDvFG.js} +1 -1
  222. package/storybook-static/assets/{iconBase-DmcmY1l-.js → iconBase-nrk1zV8Q.js} +1 -1
  223. package/storybook-static/assets/iframe-CU5nRRrn.css +1 -0
  224. package/storybook-static/assets/{iframe-B8pH-Lvr.js → iframe-Cw8dCV4Z.js} +180 -181
  225. package/storybook-static/assets/{index-PY_vM88c.js → index-A7l1uA6_.js} +6 -6
  226. package/storybook-static/assets/{index-BN99WpBo.js → index-Bm5msOcI.js} +1 -1
  227. package/storybook-static/assets/{index-DBfrIdYd.js → index-CzApopWo.js} +1 -1
  228. package/storybook-static/assets/{proxy-BA3VZtN5.js → proxy-p8L3T_Zy.js} +1 -1
  229. package/storybook-static/assets/{react-18-7dGub68c.js → react-18-D7YhBYbX.js} +1 -1
  230. package/storybook-static/assets/{react-three-fiber.esm-DI-wNJmP.js → react-three-fiber.esm-BnMrba87.js} +1 -1
  231. package/storybook-static/assets/{search-2YqBkJlG.js → search-7V6DOf2z.js} +1 -1
  232. package/storybook-static/assets/{settings-DvzICcFU.js → settings-B8s5hJGs.js} +1 -1
  233. package/storybook-static/assets/{sun-DgDhCM_S.js → sun-5V6ee2LJ.js} +1 -1
  234. package/storybook-static/assets/{trash-2-BwI5jvsn.js → trash-2-DeQvYdO7.js} +1 -1
  235. package/storybook-static/assets/{use-animation-frame-CF42h0i5.js → use-animation-frame-DovyG_Es.js} +1 -1
  236. package/storybook-static/assets/{use-in-view-Zn8evg3J.js → use-in-view-Dv3LTdsl.js} +1 -1
  237. package/storybook-static/assets/{use-motion-value--XhiA2Gt.js → use-motion-value-BVm7csqA.js} +1 -1
  238. package/storybook-static/assets/{use-spring-CrWzlBMd.js → use-spring-BkrdNVnG.js} +1 -1
  239. package/storybook-static/assets/{use-transform-vyDqMhf-.js → use-transform-CQNghMvr.js} +1 -1
  240. package/storybook-static/assets/{useSound-Bk2W5gkV.js → useSound-D23BsIr4.js} +1 -1
  241. package/storybook-static/assets/{users-aNPxMiig.js → users-R6T-yLyH.js} +1 -1
  242. package/storybook-static/assets/{x-BC8LCdn9.js → x-CypMgsiv.js} +1 -1
  243. package/storybook-static/iframe.html +3 -3
  244. package/storybook-static/index.html +5 -19
  245. package/storybook-static/index.json +1 -1
  246. package/storybook-static/project.json +1 -1
  247. package/storybook-static/addon-visual-tests-assets/visual-test-illustration.mp4 +0 -0
  248. package/storybook-static/assets/ArrayInput.stories-Cshz2s-a.js +0 -232
  249. package/storybook-static/assets/BooleansHeatmap-BV4VTyo6.css +0 -1
  250. package/storybook-static/assets/BooleansHeatmap.stories-CpNxqSED.js +0 -123
  251. package/storybook-static/assets/Calendar-tbpzwSIm.css +0 -1
  252. package/storybook-static/assets/Calendar.stories-Cx2JEddO.js +0 -229
  253. package/storybook-static/assets/Checkbox.stories-BwsnN3CP.js +0 -83
  254. package/storybook-static/assets/Color-AVL7NMMY-CoWQkAiP.js +0 -1
  255. package/storybook-static/assets/DateInput-C4-Rlnpy.css +0 -1
  256. package/storybook-static/assets/DateInput.stories-d46zYiZA.js +0 -119
  257. package/storybook-static/assets/DocsRenderer-PQXLIZUC-C2AYT361.js +0 -1243
  258. package/storybook-static/assets/EditFAB.stories-DvtpW34v.js +0 -378
  259. package/storybook-static/assets/ImageSlideshow.stories-BasuECRV.js +0 -385
  260. package/storybook-static/assets/LoadingSpinner.stories-Dj0bMFhR.js +0 -169
  261. package/storybook-static/assets/MoodChart-2hr_Y2GI.css +0 -1
  262. package/storybook-static/assets/MoodChart.stories-Bk0jtB4g.js +0 -40
  263. package/storybook-static/assets/Navbar-BPWxCB-U.css +0 -1
  264. package/storybook-static/assets/Navbar.stories-Dos3kovt.js +0 -320
  265. package/storybook-static/assets/NumberStepper.stories-BvFwBEjt.js +0 -436
  266. package/storybook-static/assets/PieChart-OfDGlJ4g.css +0 -1
  267. package/storybook-static/assets/PieChart.stories-XZqxh_GW.js +0 -199
  268. package/storybook-static/assets/QuantifiableHabitsChart-Bam6n9X_.css +0 -1
  269. package/storybook-static/assets/SearchBar.stories-CGaj__zF.js +0 -169
  270. package/storybook-static/assets/SearchableDropdown.stories-CfeFR5Rk.js +0 -282
  271. package/storybook-static/assets/SelectInput.stories-DByYKCGI.js +0 -129
  272. package/storybook-static/assets/SleepChart-DBRb08s_.css +0 -1
  273. package/storybook-static/assets/SleepChart.stories-DcoBwiEm.js +0 -58
  274. package/storybook-static/assets/Slider-Bq7zObwV.css +0 -1
  275. package/storybook-static/assets/Table-DnhtoClE.css +0 -1
  276. package/storybook-static/assets/Tabs-D5ZPN7MM.css +0 -1
  277. package/storybook-static/assets/TextArea.stories-Bpqlv7j5.js +0 -155
  278. package/storybook-static/assets/TextInput-BjVJQEYN.css +0 -1
  279. package/storybook-static/assets/TextInput-CLyTHgK9.js +0 -28
  280. package/storybook-static/assets/TextInput.stories-BP1LSkLG.js +0 -203
  281. package/storybook-static/assets/ThemeSwitcher.stories-Bj0YQKM5.js +0 -62
  282. package/storybook-static/assets/TimeInput-C3enPYoV.css +0 -1
  283. package/storybook-static/assets/TimeInput.stories-Cd28zwwR.js +0 -55
  284. package/storybook-static/assets/Toggle.stories-DtqFmh3E.js +0 -199
  285. package/storybook-static/assets/ToggleButton.stories-DkN_4qpp.js +0 -163
  286. package/storybook-static/assets/client-0pKYCVHx.js +0 -1
  287. package/storybook-static/assets/iframe-B7RIyArP.css +0 -1
  288. package/storybook-static/assets/index-bi5z6E3I.js +0 -1
  289. package/storybook-static/assets/layout-grid-TssXYNzv.js +0 -6
  290. package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js +0 -356
  291. package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js.LEGAL.txt +0 -40
  292. package/storybook-static/sb-addons/docs-2/manager-bundle.js +0 -151
  293. package/storybook-static/sb-addons/onboarding-1/manager-bundle.js +0 -127
  294. /package/storybook-static/sb-addons/{links-3 → links-1}/manager-bundle.js +0 -0
  295. /package/storybook-static/sb-addons/{storybook-5 → storybook-2}/manager-bundle.js +0 -0
@@ -0,0 +1,63 @@
1
+ import{r as T,j as d}from"./iframe-Cw8dCV4Z.js";import{s as I}from"./transform-BKmuZieF.js";import{t as K}from"./defaultLocale-DJ2q5QjE.js";import"./preload-helper-C1FmrZbK.js";const X="_container_anirc_1",Q="_title_anirc_8",U="_habitEmoji_anirc_18",Z="_chart_anirc_23",tt="_monthLabel_anirc_28",et="_dayLabel_anirc_34",at="_cell_anirc_39",nt="_legend_anirc_51",ot="_legendItem_anirc_58",rt="_legendColor_anirc_66",st="_tooltip_anirc_73",o={container:X,title:Q,habitEmoji:U,chart:Z,monthLabel:tt,dayLabel:et,cell:at,legend:nt,legendItem:ot,legendColor:rt,tooltip:st},it=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],ct=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Y=({data:a,habitName:e,width:r=800,height:s=200,habitColor:i="#6BCB77",habitEmoji:w="✓"})=>{const x=T.useRef(null),{startDate:p,endDate:k,weeksToShow:u}=T.useMemo(()=>{const m=Object.keys(a).sort();if(m.length===0){const h=new Date;return{startDate:h,endDate:h,weeksToShow:1}}const c=new Date(m[0]),g=new Date(m[m.length-1]),v=Math.ceil((g.getTime()-c.getTime())/(1e3*60*60*24))+1,l=Math.ceil(v/7);return{startDate:c,endDate:g,weeksToShow:l}},[a]);return T.useEffect(()=>{if(!x.current)return;const m=I(x.current);m.selectAll("*").remove();const c={top:40,right:20,bottom:20,left:40},g=r-c.left-c.right,v=s-c.top-c.bottom,l=Math.min(Math.floor(v/7)-1,Math.floor(g/u)-1,20),h=2,E=m.append("g").attr("transform",`translate(${c.left},${c.top})`),M=(p.getDay()+6)%7,S=new Map;let f=p.getMonth();S.set(f,0);for(let n=0;n<u;n++){const t=new Date(p);t.setDate(t.getDate()+n*7-M),t.getMonth()!==f&&(f=t.getMonth(),S.set(f,n))}S.forEach((n,t)=>{E.append("text").attr("x",n*(l+h)).attr("y",-10).attr("class",o.monthLabel).text(ct[t])}),it.forEach((n,t)=>{E.append("text").attr("x",-10).attr("y",t*(l+h)+l/2).attr("class",o.dayLabel).attr("text-anchor","end").attr("alignment-baseline","middle").text(n)});const b=I("body").append("div").attr("class",o.tooltip).style("opacity",0).style("position","absolute"),V=u*7;for(let n=0;n<V;n++){const t=new Date(p);if(t.setDate(t.getDate()+n-M),t<p||t>k)continue;const j=t.toISOString().split("T")[0],J=(t.getDay()+6)%7,P=Math.floor((n+M)/7),N=j in a&&a[j];E.append("rect").attr("x",P*(l+h)).attr("y",J*(l+h)).attr("width",l).attr("height",l).attr("rx",3).attr("class",o.cell).attr("data-date",j).attr("data-value",N?"true":"false").style("fill",N?i:"#4D4D4DFF").on("mouseover",function(O){b.transition().duration(200).style("opacity",1);const z=K("%b %d, %Y"),G=N?`${w} Done`:"✗ Not done";b.html(`
2
+ <div><strong>${e}</strong></div>
3
+ <div>${z(t)}</div>
4
+ <div>${G}</div>
5
+ `).style("left",O.pageX+10+"px").style("top",O.pageY-28+"px")}).on("mouseout",function(){b.transition().duration(500).style("opacity",0)})}return()=>{b.remove()}},[a,e,r,s,p,k,u,i,w]),d.jsxs("div",{className:o.container,children:[d.jsxs("h3",{className:o.title,children:[d.jsx("span",{className:o.habitEmoji,children:w}),e]}),d.jsx("svg",{ref:x,width:r,height:s,className:o.chart}),d.jsxs("div",{className:o.legend,children:[d.jsxs("span",{className:o.legendItem,children:[d.jsx("span",{className:o.legendColor,style:{backgroundColor:i}}),"Done"]}),d.jsxs("span",{className:o.legendItem,children:[d.jsx("span",{className:o.legendColor,style:{backgroundColor:"#4D4D4DFF"}}),"Not done"]})]})]})};Y.__docgenInfo={description:"",methods:[],displayName:"BooleansHeatmap",props:{data:{required:!0,tsType:{name:"signature",type:"object",raw:"{ [date: string]: boolean }",signature:{properties:[{key:{name:"string"},value:{name:"boolean",required:!0}}]}},description:""},habitName:{required:!0,tsType:{name:"string"},description:""},width:{required:!1,tsType:{name:"number"},description:"",defaultValue:{value:"800",computed:!1}},height:{required:!1,tsType:{name:"number"},description:"",defaultValue:{value:"200",computed:!1}},habitColor:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"'#6BCB77'",computed:!1}},habitEmoji:{required:!1,tsType:{name:"string"},description:"",defaultValue:{value:"'✓'",computed:!1}}}};const ut={title:"Organisms/Charts/BooleansHeatmap",component:Y,parameters:{layout:"centered"},argTypes:{width:{control:{type:"number",min:400,max:1200,step:50}},height:{control:{type:"number",min:150,max:400,step:50}},habitColor:{control:{type:"color"}},habitEmoji:{control:{type:"text"}}}},C=a=>{const e=[],r=new Date;for(let s=a-1;s>=0;s--){const i=new Date(r);i.setDate(i.getDate()-s),e.push(i.toISOString().split("T")[0])}return e},y={args:{data:(()=>{const a=C(90),e={};return a.forEach(r=>{e[r]=Math.random()>.3}),e})(),habitName:"Daily Exercise",width:900,height:200,habitColor:"#10b981",habitEmoji:"💪"}},D={args:{data:(()=>{const a=C(365),e={};return a.forEach(r=>{const s=new Date(r).getMonth(),i=s>=5&&s<=8;e[r]=Math.random()>(i?.25:.45)}),e})(),habitName:"Outdoor Activity",width:1100,height:250,habitColor:"#10b981",habitEmoji:"🏃"}},_={args:{data:(()=>{const a=C(60),e={};return a.forEach(r=>{Math.random()>.3&&(e[r]=Math.random()>.6)}),e})(),habitName:"Side Project Work",width:800,height:200,habitColor:"#7c3aed",habitEmoji:"💻"}};var F,L,q;y.parameters={...y.parameters,docs:{...(F=y.parameters)==null?void 0:F.docs,source:{originalSource:`{
6
+ args: {
7
+ data: (() => {
8
+ const dates = generateDateRange(90);
9
+ const data: {
10
+ [date: string]: boolean;
11
+ } = {};
12
+ dates.forEach(date => {
13
+ data[date] = Math.random() > 0.3;
14
+ });
15
+ return data;
16
+ })(),
17
+ habitName: 'Daily Exercise',
18
+ width: 900,
19
+ height: 200,
20
+ habitColor: '#10b981',
21
+ habitEmoji: '💪'
22
+ }
23
+ }`,...(q=(L=y.parameters)==null?void 0:L.docs)==null?void 0:q.source}}};var B,R,A;D.parameters={...D.parameters,docs:{...(B=D.parameters)==null?void 0:B.docs,source:{originalSource:`{
24
+ args: {
25
+ data: (() => {
26
+ const dates = generateDateRange(365);
27
+ const data: {
28
+ [date: string]: boolean;
29
+ } = {};
30
+ dates.forEach(date => {
31
+ const month = new Date(date).getMonth();
32
+ const isSummer = month >= 5 && month <= 8;
33
+ data[date] = Math.random() > (isSummer ? 0.25 : 0.45);
34
+ });
35
+ return data;
36
+ })(),
37
+ habitName: 'Outdoor Activity',
38
+ width: 1100,
39
+ height: 250,
40
+ habitColor: '#10b981',
41
+ habitEmoji: '🏃'
42
+ }
43
+ }`,...(A=(R=D.parameters)==null?void 0:R.docs)==null?void 0:A.source}}};var W,$,H;_.parameters={..._.parameters,docs:{...(W=_.parameters)==null?void 0:W.docs,source:{originalSource:`{
44
+ args: {
45
+ data: (() => {
46
+ const dates = generateDateRange(60);
47
+ const data: {
48
+ [date: string]: boolean;
49
+ } = {};
50
+ dates.forEach(date => {
51
+ if (Math.random() > 0.3) {
52
+ data[date] = Math.random() > 0.6;
53
+ }
54
+ });
55
+ return data;
56
+ })(),
57
+ habitName: 'Side Project Work',
58
+ width: 800,
59
+ height: 200,
60
+ habitColor: '#7c3aed',
61
+ habitEmoji: '💻'
62
+ }
63
+ }`,...(H=($=_.parameters)==null?void 0:$.docs)==null?void 0:H.source}}};const gt=["Default","YearlyOverview","SparseData"];export{y as Default,_ as SparseData,D as YearlyOverview,gt as __namedExportsOrder,ut as default};
@@ -1,4 +1,4 @@
1
- import{r as m,j as V}from"./iframe-B8pH-Lvr.js";import"./preload-helper-C1FmrZbK.js";const w={"border-glow-card":"_border-glow-card_1ey34_1","edge-light":"_edge-light_1ey34_29","sweep-active":"_sweep-active_1ey34_38","border-glow-inner":"_border-glow-inner_1ey34_135"};function A(e){const n=e.match(/([\d.]+)\s*([\d.]+)%?\s*([\d.]+)%?/);return n?{h:parseFloat(n[1]),s:parseFloat(n[2]),l:parseFloat(n[3])}:{h:40,s:80,l:80}}function B(e,n){const{h:s,s:d,l:y}=A(e),b=`${s}deg ${d}% ${y}%`,i=[100,60,50,40,30,20,10],h=["","-60","-50","-40","-30","-20","-10"],c={};for(let l=0;l<i.length;l++)c[`--glow-color${h[l]}`]=`hsl(${b} / ${Math.min(i[l]*n,100)}%)`;return c}const j=["80% 55%","69% 34%","8% 6%","41% 38%","86% 85%","82% 18%","51% 4%"],D=["--gradient-one","--gradient-two","--gradient-three","--gradient-four","--gradient-five","--gradient-six","--gradient-seven"],L=[0,1,2,0,1,2,1];function T(e){const n={};for(let s=0;s<7;s++){const d=e[Math.min(L[s],e.length-1)];n[D[s]]=`radial-gradient(at ${j[s]}, ${d} 0px, transparent 50%)`}return n["--gradient-base"]=`linear-gradient(${e[0]} 0 100%)`,n}function E(e){return 1-Math.pow(1-e,3)}function P(e){return e*e*e}function _({start:e=0,end:n=100,duration:s=1e3,delay:d=0,ease:y=E,onUpdate:b,onEnd:i}){const h=performance.now()+d;function c(){const l=performance.now()-h,v=Math.min(l/s,1);b(e+(n-e)*y(v)),v<1?requestAnimationFrame(c):i&&i()}setTimeout(()=>requestAnimationFrame(c),d)}const O=({children:e,className:n="",edgeSensitivity:s=30,glowColor:d="40 80 80",backgroundColor:y="#060010",borderRadius:b=28,glowRadius:i=40,glowIntensity:h=1,coneSpread:c=25,animated:l=!1,colors:v=["#c084fc","#f472b6","#38bdf8"],fillOpacity:N=.5})=>{const x=m.useRef(null),$=m.useCallback(a=>{const{width:t,height:o}=a.getBoundingClientRect();return[t/2,o/2]},[]),M=m.useCallback((a,t,o)=>{const[r,u]=$(a),f=t-r,g=o-u;let R=1/0,p=1/0;return f!==0&&(R=r/Math.abs(f)),g!==0&&(p=u/Math.abs(g)),Math.min(Math.max(1/Math.min(R,p),0),1)},[$]),q=m.useCallback((a,t,o)=>{const[r,u]=$(a),f=t-r,g=o-u;if(f===0&&g===0)return 0;let p=Math.atan2(g,f)*(180/Math.PI)+90;return p<0&&(p+=360),p},[$]),F=m.useCallback(a=>{const t=x.current;if(!t)return;const o=t.getBoundingClientRect(),r=a.clientX-o.left,u=a.clientY-o.top,f=M(t,r,u),g=q(t,r,u);t.style.setProperty("--edge-proximity",`${(f*100).toFixed(3)}`),t.style.setProperty("--cursor-angle",`${g.toFixed(3)}deg`)},[M,q]);m.useEffect(()=>{if(!l||!x.current)return;const a=x.current,t=110,o=465;a.classList.add(w["sweep-active"]),a.style.setProperty("--cursor-angle",`${t}deg`),_({duration:500,onUpdate:r=>a.style.setProperty("--edge-proximity",r)}),_({ease:P,duration:1500,end:50,onUpdate:r=>{a.style.setProperty("--cursor-angle",`${(o-t)*(r/100)+t}deg`)}}),_({ease:E,delay:1500,duration:2250,start:50,end:100,onUpdate:r=>{a.style.setProperty("--cursor-angle",`${(o-t)*(r/100)+t}deg`)}}),_({ease:P,delay:2500,duration:1500,start:100,end:0,onUpdate:r=>a.style.setProperty("--edge-proximity",r),onEnd:()=>a.classList.remove(w["sweep-active"])})},[l]);const G=B(d,h);return V.jsxs("div",{ref:x,onPointerMove:F,className:`${w["border-glow-card"]} ${n}`,style:{"--card-bg":y,"--edge-sensitivity":s,"--border-radius":`${b}px`,"--glow-padding":`${i}px`,"--cone-spread":c,"--fill-opacity":N,...G,...T(v)},children:[V.jsx("span",{className:`${w["edge-light"]}`}),V.jsx("div",{className:`${w["border-glow-inner"]}`,children:e})]})};O.__docgenInfo={description:"",methods:[],displayName:"BorderGlow",props:{className:{defaultValue:{value:"''",computed:!1},required:!1},edgeSensitivity:{defaultValue:{value:"30",computed:!1},required:!1},glowColor:{defaultValue:{value:"'40 80 80'",computed:!1},required:!1},backgroundColor:{defaultValue:{value:"'#060010'",computed:!1},required:!1},borderRadius:{defaultValue:{value:"28",computed:!1},required:!1},glowRadius:{defaultValue:{value:"40",computed:!1},required:!1},glowIntensity:{defaultValue:{value:"1.0",computed:!1},required:!1},coneSpread:{defaultValue:{value:"25",computed:!1},required:!1},animated:{defaultValue:{value:"false",computed:!1},required:!1},colors:{defaultValue:{value:"['#c084fc', '#f472b6', '#38bdf8']",computed:!1},required:!1},fillOpacity:{defaultValue:{value:"0.5",computed:!1},required:!1}}};const W={title:"ReactBits/Components/BorderGlow",component:O,parameters:{layout:"fullscreen"},tags:["autodocs"]},C={args:{children:"Hello World",edgeSensitivity:30,glowColor:"40 80 80",backgroundColor:"#060010",borderRadius:28,glowRadius:40,glowIntensity:1,coneSpread:25,animated:!1,colors:["#c084fc","#f472b6","#38bdf8"],fillOpacity:.5}};var I,S,k;C.parameters={...C.parameters,docs:{...(I=C.parameters)==null?void 0:I.docs,source:{originalSource:`{
1
+ import{r as m,j as V}from"./iframe-Cw8dCV4Z.js";import"./preload-helper-C1FmrZbK.js";const w={"border-glow-card":"_border-glow-card_1ey34_1","edge-light":"_edge-light_1ey34_29","sweep-active":"_sweep-active_1ey34_38","border-glow-inner":"_border-glow-inner_1ey34_135"};function A(e){const n=e.match(/([\d.]+)\s*([\d.]+)%?\s*([\d.]+)%?/);return n?{h:parseFloat(n[1]),s:parseFloat(n[2]),l:parseFloat(n[3])}:{h:40,s:80,l:80}}function B(e,n){const{h:s,s:d,l:y}=A(e),b=`${s}deg ${d}% ${y}%`,i=[100,60,50,40,30,20,10],h=["","-60","-50","-40","-30","-20","-10"],c={};for(let l=0;l<i.length;l++)c[`--glow-color${h[l]}`]=`hsl(${b} / ${Math.min(i[l]*n,100)}%)`;return c}const j=["80% 55%","69% 34%","8% 6%","41% 38%","86% 85%","82% 18%","51% 4%"],D=["--gradient-one","--gradient-two","--gradient-three","--gradient-four","--gradient-five","--gradient-six","--gradient-seven"],L=[0,1,2,0,1,2,1];function T(e){const n={};for(let s=0;s<7;s++){const d=e[Math.min(L[s],e.length-1)];n[D[s]]=`radial-gradient(at ${j[s]}, ${d} 0px, transparent 50%)`}return n["--gradient-base"]=`linear-gradient(${e[0]} 0 100%)`,n}function E(e){return 1-Math.pow(1-e,3)}function P(e){return e*e*e}function _({start:e=0,end:n=100,duration:s=1e3,delay:d=0,ease:y=E,onUpdate:b,onEnd:i}){const h=performance.now()+d;function c(){const l=performance.now()-h,v=Math.min(l/s,1);b(e+(n-e)*y(v)),v<1?requestAnimationFrame(c):i&&i()}setTimeout(()=>requestAnimationFrame(c),d)}const O=({children:e,className:n="",edgeSensitivity:s=30,glowColor:d="40 80 80",backgroundColor:y="#060010",borderRadius:b=28,glowRadius:i=40,glowIntensity:h=1,coneSpread:c=25,animated:l=!1,colors:v=["#c084fc","#f472b6","#38bdf8"],fillOpacity:N=.5})=>{const x=m.useRef(null),$=m.useCallback(a=>{const{width:t,height:o}=a.getBoundingClientRect();return[t/2,o/2]},[]),M=m.useCallback((a,t,o)=>{const[r,u]=$(a),f=t-r,g=o-u;let R=1/0,p=1/0;return f!==0&&(R=r/Math.abs(f)),g!==0&&(p=u/Math.abs(g)),Math.min(Math.max(1/Math.min(R,p),0),1)},[$]),q=m.useCallback((a,t,o)=>{const[r,u]=$(a),f=t-r,g=o-u;if(f===0&&g===0)return 0;let p=Math.atan2(g,f)*(180/Math.PI)+90;return p<0&&(p+=360),p},[$]),F=m.useCallback(a=>{const t=x.current;if(!t)return;const o=t.getBoundingClientRect(),r=a.clientX-o.left,u=a.clientY-o.top,f=M(t,r,u),g=q(t,r,u);t.style.setProperty("--edge-proximity",`${(f*100).toFixed(3)}`),t.style.setProperty("--cursor-angle",`${g.toFixed(3)}deg`)},[M,q]);m.useEffect(()=>{if(!l||!x.current)return;const a=x.current,t=110,o=465;a.classList.add(w["sweep-active"]),a.style.setProperty("--cursor-angle",`${t}deg`),_({duration:500,onUpdate:r=>a.style.setProperty("--edge-proximity",r)}),_({ease:P,duration:1500,end:50,onUpdate:r=>{a.style.setProperty("--cursor-angle",`${(o-t)*(r/100)+t}deg`)}}),_({ease:E,delay:1500,duration:2250,start:50,end:100,onUpdate:r=>{a.style.setProperty("--cursor-angle",`${(o-t)*(r/100)+t}deg`)}}),_({ease:P,delay:2500,duration:1500,start:100,end:0,onUpdate:r=>a.style.setProperty("--edge-proximity",r),onEnd:()=>a.classList.remove(w["sweep-active"])})},[l]);const G=B(d,h);return V.jsxs("div",{ref:x,onPointerMove:F,className:`${w["border-glow-card"]} ${n}`,style:{"--card-bg":y,"--edge-sensitivity":s,"--border-radius":`${b}px`,"--glow-padding":`${i}px`,"--cone-spread":c,"--fill-opacity":N,...G,...T(v)},children:[V.jsx("span",{className:`${w["edge-light"]}`}),V.jsx("div",{className:`${w["border-glow-inner"]}`,children:e})]})};O.__docgenInfo={description:"",methods:[],displayName:"BorderGlow",props:{className:{defaultValue:{value:"''",computed:!1},required:!1},edgeSensitivity:{defaultValue:{value:"30",computed:!1},required:!1},glowColor:{defaultValue:{value:"'40 80 80'",computed:!1},required:!1},backgroundColor:{defaultValue:{value:"'#060010'",computed:!1},required:!1},borderRadius:{defaultValue:{value:"28",computed:!1},required:!1},glowRadius:{defaultValue:{value:"40",computed:!1},required:!1},glowIntensity:{defaultValue:{value:"1.0",computed:!1},required:!1},coneSpread:{defaultValue:{value:"25",computed:!1},required:!1},animated:{defaultValue:{value:"false",computed:!1},required:!1},colors:{defaultValue:{value:"['#c084fc', '#f472b6', '#38bdf8']",computed:!1},required:!1},fillOpacity:{defaultValue:{value:"0.5",computed:!1},required:!1}}};const W={title:"ReactBits/Components/BorderGlow",component:O,parameters:{layout:"fullscreen"}},C={args:{children:"Hello World",edgeSensitivity:30,glowColor:"40 80 80",backgroundColor:"#060010",borderRadius:28,glowRadius:40,glowIntensity:1,coneSpread:25,animated:!1,colors:["#c084fc","#f472b6","#38bdf8"],fillOpacity:.5}};var I,S,k;C.parameters={...C.parameters,docs:{...(I=C.parameters)==null?void 0:I.docs,source:{originalSource:`{
2
2
  args: {
3
3
  children: 'Hello World',
4
4
  edgeSensitivity: 30,
@@ -1,4 +1,4 @@
1
- import{r as b,j as o}from"./iframe-B8pH-Lvr.js";import{g as r}from"./index-C8pce-KX.js";import"./preload-helper-C1FmrZbK.js";const V="_fixed_13ibu_14",F="_absolute_13ibu_18",I="_bubble_13ibu_1",M="_open_13ibu_106",e={"bubble-menu":"_bubble-menu_13ibu_1",fixed:V,absolute:F,bubble:I,"logo-bubble":"_logo-bubble_13ibu_35","toggle-bubble":"_toggle-bubble_13ibu_36","bubble-logo":"_bubble-logo_13ibu_54","logo-content":"_logo-content_13ibu_61","menu-btn":"_menu-btn_13ibu_78","menu-line":"_menu-line_13ibu_89",open:M,"bubble-menu-items":"_bubble-menu-items_13ibu_124","pill-list":"_pill-list_13ibu_142","pill-col":"_pill-col_13ibu_164","pill-link":"_pill-link_13ibu_180","pill-label":"_pill-label_13ibu_229"},P=[{label:"home",href:"#",ariaLabel:"Home",rotation:-8,hoverStyles:{bgColor:"#3b82f6",textColor:"#ffffff"}},{label:"about",href:"#",ariaLabel:"About",rotation:8,hoverStyles:{bgColor:"#10b981",textColor:"#ffffff"}},{label:"projects",href:"#",ariaLabel:"Documentation",rotation:8,hoverStyles:{bgColor:"#f59e0b",textColor:"#ffffff"}},{label:"blog",href:"#",ariaLabel:"Blog",rotation:8,hoverStyles:{bgColor:"#ef4444",textColor:"#ffffff"}},{label:"contact",href:"#",ariaLabel:"Contact",rotation:-8,hoverStyles:{bgColor:"#8b5cf6",textColor:"#ffffff"}}];function B({logo:p,onMenuClick:h,className:A,style:R,menuAriaLabel:T="Toggle menu",menuBg:_="#fff",menuContentColor:i="#111",useFixedPosition:C=!1,items:u,animationEase:S="back.out(1.5)",animationDuration:c=.5,staggerDelay:L=.12}){const[s,O]=b.useState(!1),[x,j]=b.useState(!1),$=b.useRef(null),y=b.useRef([]),N=b.useRef([]),v=u!=null&&u.length?u:P,q=[e["bubble-menu"],C?e.fixed:e.absolute,A].filter(Boolean).join(" "),D=()=>{const l=!s;l&&j(!0),O(l),h==null||h(l)};return b.useEffect(()=>{const l=$.current,a=y.current.filter(Boolean),t=N.current.filter(Boolean);!l||!a.length||(s?(r.set(l,{display:"flex"}),r.killTweensOf([...a,...t]),r.set(a,{scale:0,transformOrigin:"50% 50%"}),r.set(t,{y:24,autoAlpha:0}),a.forEach((f,n)=>{const m=n*L+r.utils.random(-.05,.05),d=r.timeline({delay:m});d.to(f,{scale:1,duration:c,ease:S}),t[n]&&d.to(t[n],{y:0,autoAlpha:1,duration:c,ease:"power3.out"},`-=${c*.9}`)})):x&&(r.killTweensOf([...a,...t]),r.to(t,{y:24,autoAlpha:0,duration:.2,ease:"power3.in"}),r.to(a,{scale:0,duration:.2,ease:"power3.in",onComplete:()=>{r.set(l,{display:"none"}),j(!1)}})))},[s,x,S,c,L]),b.useEffect(()=>{const l=()=>{if(s){const a=y.current.filter(Boolean),t=window.innerWidth>=900;a.forEach((f,n)=>{const m=v[n];if(f&&m){const d=t?m.rotation??0:0;r.set(f,{rotation:d})}})}};return window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[s,v]),o.jsxs(o.Fragment,{children:[o.jsxs("nav",{className:q,style:R,"aria-label":"Main navigation",children:[o.jsx("div",{className:`${e.bubble} ${e["logo-bubble"]}`,"aria-label":"Logo",style:{background:_},children:o.jsx("span",{className:`${e["logo-content"]}`,children:typeof p=="string"?o.jsx("img",{src:p,alt:"Logo",className:`${e["bubble-logo"]}`}):p})}),o.jsxs("button",{type:"button",className:`${e.bubble} ${e["toggle-bubble"]} ${e["menu-btn"]} ${s?e.open:""}`,onClick:D,"aria-label":T,"aria-pressed":s,style:{background:_},children:[o.jsx("span",{className:`${e["menu-line"]}`,style:{background:i}}),o.jsx("span",{className:`${e["menu-line"]} short`,style:{background:i}})]})]}),x&&o.jsx("div",{ref:$,className:`${e["bubble-menu-items"]} ${C?e.fixed:e.absolute}`,"aria-hidden":!s,children:o.jsx("ul",{className:`${e["pill-list"]}`,role:"menu","aria-label":"Menu links",children:v.map((l,a)=>{var t,f;return o.jsx("li",{role:"none",className:`${e["pill-col"]}`,children:o.jsx("a",{role:"menuitem",href:l.href,"aria-label":l.ariaLabel||l.label,className:`${e["pill-link"]}`,style:{"--item-rot":`${l.rotation??0}deg`,"--pill-bg":_,"--pill-color":i,"--hover-bg":((t=l.hoverStyles)==null?void 0:t.bgColor)||"#f3f4f6","--hover-color":((f=l.hoverStyles)==null?void 0:f.textColor)||i},ref:n=>{n&&(y.current[a]=n)},children:o.jsx("span",{className:`${e["pill-label"]}`,ref:n=>{n&&(N.current[a]=n)},children:l.label})})},a)})})})]})}B.__docgenInfo={description:"",methods:[],displayName:"BubbleMenu",props:{menuAriaLabel:{defaultValue:{value:"'Toggle menu'",computed:!1},required:!1},menuBg:{defaultValue:{value:"'#fff'",computed:!1},required:!1},menuContentColor:{defaultValue:{value:"'#111'",computed:!1},required:!1},useFixedPosition:{defaultValue:{value:"false",computed:!1},required:!1},animationEase:{defaultValue:{value:"'back.out(1.5)'",computed:!1},required:!1},animationDuration:{defaultValue:{value:"0.5",computed:!1},required:!1},staggerDelay:{defaultValue:{value:"0.12",computed:!1},required:!1}}};const U={title:"ReactBits/Components/BubbleMenu",component:B,parameters:{layout:"fullscreen"},tags:["autodocs"]},g={args:{menuAriaLabel:"Toggle menu",menuBg:"#fff",menuContentColor:"#111",useFixedPosition:!1,items:[{label:"home",href:"#",ariaLabel:"Home",rotation:-8,hoverStyles:{bgColor:"#3b82f6",textColor:"#ffffff"}},{label:"about",href:"#",ariaLabel:"About",rotation:8,hoverStyles:{bgColor:"#10b981",textColor:"#ffffff"}},{label:"projects",href:"#",ariaLabel:"Projects",rotation:8,hoverStyles:{bgColor:"#f59e0b",textColor:"#ffffff"}},{label:"blog",href:"#",ariaLabel:"Blog",rotation:8,hoverStyles:{bgColor:"#ef4444",textColor:"#ffffff"}},{label:"contact",href:"#",ariaLabel:"Contact",rotation:-8,hoverStyles:{bgColor:"#8b5cf6",textColor:"#ffffff"}}],animationEase:"back.out(1.5)",animationDuration:.5,staggerDelay:.12}};var w,E,k;g.parameters={...g.parameters,docs:{...(w=g.parameters)==null?void 0:w.docs,source:{originalSource:`{
1
+ import{r as b,j as o}from"./iframe-Cw8dCV4Z.js";import{g as r}from"./index-C8pce-KX.js";import"./preload-helper-C1FmrZbK.js";const V="_fixed_13ibu_14",F="_absolute_13ibu_18",I="_bubble_13ibu_1",M="_open_13ibu_106",e={"bubble-menu":"_bubble-menu_13ibu_1",fixed:V,absolute:F,bubble:I,"logo-bubble":"_logo-bubble_13ibu_35","toggle-bubble":"_toggle-bubble_13ibu_36","bubble-logo":"_bubble-logo_13ibu_54","logo-content":"_logo-content_13ibu_61","menu-btn":"_menu-btn_13ibu_78","menu-line":"_menu-line_13ibu_89",open:M,"bubble-menu-items":"_bubble-menu-items_13ibu_124","pill-list":"_pill-list_13ibu_142","pill-col":"_pill-col_13ibu_164","pill-link":"_pill-link_13ibu_180","pill-label":"_pill-label_13ibu_229"},P=[{label:"home",href:"#",ariaLabel:"Home",rotation:-8,hoverStyles:{bgColor:"#3b82f6",textColor:"#ffffff"}},{label:"about",href:"#",ariaLabel:"About",rotation:8,hoverStyles:{bgColor:"#10b981",textColor:"#ffffff"}},{label:"projects",href:"#",ariaLabel:"Documentation",rotation:8,hoverStyles:{bgColor:"#f59e0b",textColor:"#ffffff"}},{label:"blog",href:"#",ariaLabel:"Blog",rotation:8,hoverStyles:{bgColor:"#ef4444",textColor:"#ffffff"}},{label:"contact",href:"#",ariaLabel:"Contact",rotation:-8,hoverStyles:{bgColor:"#8b5cf6",textColor:"#ffffff"}}];function B({logo:p,onMenuClick:h,className:A,style:R,menuAriaLabel:T="Toggle menu",menuBg:_="#fff",menuContentColor:i="#111",useFixedPosition:C=!1,items:u,animationEase:S="back.out(1.5)",animationDuration:c=.5,staggerDelay:L=.12}){const[s,O]=b.useState(!1),[x,j]=b.useState(!1),$=b.useRef(null),y=b.useRef([]),N=b.useRef([]),v=u!=null&&u.length?u:P,q=[e["bubble-menu"],C?e.fixed:e.absolute,A].filter(Boolean).join(" "),D=()=>{const l=!s;l&&j(!0),O(l),h==null||h(l)};return b.useEffect(()=>{const l=$.current,a=y.current.filter(Boolean),t=N.current.filter(Boolean);!l||!a.length||(s?(r.set(l,{display:"flex"}),r.killTweensOf([...a,...t]),r.set(a,{scale:0,transformOrigin:"50% 50%"}),r.set(t,{y:24,autoAlpha:0}),a.forEach((f,n)=>{const m=n*L+r.utils.random(-.05,.05),d=r.timeline({delay:m});d.to(f,{scale:1,duration:c,ease:S}),t[n]&&d.to(t[n],{y:0,autoAlpha:1,duration:c,ease:"power3.out"},`-=${c*.9}`)})):x&&(r.killTweensOf([...a,...t]),r.to(t,{y:24,autoAlpha:0,duration:.2,ease:"power3.in"}),r.to(a,{scale:0,duration:.2,ease:"power3.in",onComplete:()=>{r.set(l,{display:"none"}),j(!1)}})))},[s,x,S,c,L]),b.useEffect(()=>{const l=()=>{if(s){const a=y.current.filter(Boolean),t=window.innerWidth>=900;a.forEach((f,n)=>{const m=v[n];if(f&&m){const d=t?m.rotation??0:0;r.set(f,{rotation:d})}})}};return window.addEventListener("resize",l),()=>window.removeEventListener("resize",l)},[s,v]),o.jsxs(o.Fragment,{children:[o.jsxs("nav",{className:q,style:R,"aria-label":"Main navigation",children:[o.jsx("div",{className:`${e.bubble} ${e["logo-bubble"]}`,"aria-label":"Logo",style:{background:_},children:o.jsx("span",{className:`${e["logo-content"]}`,children:typeof p=="string"?o.jsx("img",{src:p,alt:"Logo",className:`${e["bubble-logo"]}`}):p})}),o.jsxs("button",{type:"button",className:`${e.bubble} ${e["toggle-bubble"]} ${e["menu-btn"]} ${s?e.open:""}`,onClick:D,"aria-label":T,"aria-pressed":s,style:{background:_},children:[o.jsx("span",{className:`${e["menu-line"]}`,style:{background:i}}),o.jsx("span",{className:`${e["menu-line"]} short`,style:{background:i}})]})]}),x&&o.jsx("div",{ref:$,className:`${e["bubble-menu-items"]} ${C?e.fixed:e.absolute}`,"aria-hidden":!s,children:o.jsx("ul",{className:`${e["pill-list"]}`,role:"menu","aria-label":"Menu links",children:v.map((l,a)=>{var t,f;return o.jsx("li",{role:"none",className:`${e["pill-col"]}`,children:o.jsx("a",{role:"menuitem",href:l.href,"aria-label":l.ariaLabel||l.label,className:`${e["pill-link"]}`,style:{"--item-rot":`${l.rotation??0}deg`,"--pill-bg":_,"--pill-color":i,"--hover-bg":((t=l.hoverStyles)==null?void 0:t.bgColor)||"#f3f4f6","--hover-color":((f=l.hoverStyles)==null?void 0:f.textColor)||i},ref:n=>{n&&(y.current[a]=n)},children:o.jsx("span",{className:`${e["pill-label"]}`,ref:n=>{n&&(N.current[a]=n)},children:l.label})})},a)})})})]})}B.__docgenInfo={description:"",methods:[],displayName:"BubbleMenu",props:{menuAriaLabel:{defaultValue:{value:"'Toggle menu'",computed:!1},required:!1},menuBg:{defaultValue:{value:"'#fff'",computed:!1},required:!1},menuContentColor:{defaultValue:{value:"'#111'",computed:!1},required:!1},useFixedPosition:{defaultValue:{value:"false",computed:!1},required:!1},animationEase:{defaultValue:{value:"'back.out(1.5)'",computed:!1},required:!1},animationDuration:{defaultValue:{value:"0.5",computed:!1},required:!1},staggerDelay:{defaultValue:{value:"0.12",computed:!1},required:!1}}};const U={title:"ReactBits/Components/BubbleMenu",component:B,parameters:{layout:"fullscreen"}},g={args:{menuAriaLabel:"Toggle menu",menuBg:"#fff",menuContentColor:"#111",useFixedPosition:!1,items:[{label:"home",href:"#",ariaLabel:"Home",rotation:-8,hoverStyles:{bgColor:"#3b82f6",textColor:"#ffffff"}},{label:"about",href:"#",ariaLabel:"About",rotation:8,hoverStyles:{bgColor:"#10b981",textColor:"#ffffff"}},{label:"projects",href:"#",ariaLabel:"Projects",rotation:8,hoverStyles:{bgColor:"#f59e0b",textColor:"#ffffff"}},{label:"blog",href:"#",ariaLabel:"Blog",rotation:8,hoverStyles:{bgColor:"#ef4444",textColor:"#ffffff"}},{label:"contact",href:"#",ariaLabel:"Contact",rotation:-8,hoverStyles:{bgColor:"#8b5cf6",textColor:"#ffffff"}}],animationEase:"back.out(1.5)",animationDuration:.5,staggerDelay:.12}};var w,E,k;g.parameters={...g.parameters,docs:{...(w=g.parameters)==null?void 0:w.docs,source:{originalSource:`{
2
2
  args: {
3
3
  menuAriaLabel: 'Toggle menu',
4
4
  menuBg: '#fff',
@@ -1,4 +1,4 @@
1
- import{j as a}from"./iframe-B8pH-Lvr.js";import{u as T}from"./useSound-Bk2W5gkV.js";import{m as q}from"./proxy-BA3VZtN5.js";const W="_button_7s9mx_1",w="_primary_7s9mx_43",C="_secondary_7s9mx_61",L="_outline_7s9mx_79",N="_ghost_7s9mx_119",R="_danger_7s9mx_142",S="_small_7s9mx_160",j="_medium_7s9mx_166",V="_large_7s9mx_171",z="_fullWidth_7s9mx_178",I="_loading_7s9mx_199",M="_spinner_7s9mx_204",k="_spin_7s9mx_204",F="_iconLeft_7s9mx_231",P="_iconRight_7s9mx_232",e={button:W,primary:w,secondary:C,outline:L,ghost:N,danger:R,small:S,medium:j,large:V,fullWidth:z,loading:I,spinner:M,spin:k,iconLeft:F,iconRight:P},A=({variant:d="primary",size:c="medium",fullWidth:p=!1,loading:t=!1,iconLeft:u,iconRight:m,children:f,className:h="",disabled:s,motionProps:_,soundConfig:g,onClick:i,onMouseEnter:l,onFocus:y,...x})=>{const{handlers:n}=T(g),v=[e.button,e[d],e[c],p&&e.fullWidth,t&&e.loading,h].filter(Boolean).join(" "),b=r=>{var o;(o=n.onClick)==null||o.call(n),i==null||i(r)},B=r=>{var o;(o=n.onMouseEnter)==null||o.call(n),l==null||l(r)};return a.jsxs(q.button,{className:v,disabled:s||t,whileHover:{scale:s||t?1:1.02},whileTap:{scale:s||t?1:.98},transition:{type:"spring",stiffness:400,damping:17},onClick:b,onMouseEnter:B,onFocus:y,..._,...x,children:[t&&a.jsx("span",{className:e.spinner}),u&&a.jsx("span",{className:e.iconLeft,children:u}),f,m&&a.jsx("span",{className:e.iconRight,children:m})]})};A.__docgenInfo={description:`Button Component
1
+ import{j as a}from"./iframe-Cw8dCV4Z.js";import{u as T}from"./useSound-D23BsIr4.js";import{m as q}from"./proxy-p8L3T_Zy.js";const W="_button_7s9mx_1",w="_primary_7s9mx_43",C="_secondary_7s9mx_61",L="_outline_7s9mx_79",N="_ghost_7s9mx_119",R="_danger_7s9mx_142",S="_small_7s9mx_160",j="_medium_7s9mx_166",V="_large_7s9mx_171",z="_fullWidth_7s9mx_178",I="_loading_7s9mx_199",M="_spinner_7s9mx_204",k="_spin_7s9mx_204",F="_iconLeft_7s9mx_231",P="_iconRight_7s9mx_232",e={button:W,primary:w,secondary:C,outline:L,ghost:N,danger:R,small:S,medium:j,large:V,fullWidth:z,loading:I,spinner:M,spin:k,iconLeft:F,iconRight:P},A=({variant:d="primary",size:c="medium",fullWidth:p=!1,loading:t=!1,iconLeft:u,iconRight:m,children:f,className:h="",disabled:s,motionProps:_,soundConfig:g,onClick:i,onMouseEnter:l,onFocus:y,...x})=>{const{handlers:n}=T(g),v=[e.button,e[d],e[c],p&&e.fullWidth,t&&e.loading,h].filter(Boolean).join(" "),b=r=>{var o;(o=n.onClick)==null||o.call(n),i==null||i(r)},B=r=>{var o;(o=n.onMouseEnter)==null||o.call(n),l==null||l(r)};return a.jsxs(q.button,{className:v,disabled:s||t,whileHover:{scale:s||t?1:1.02},whileTap:{scale:s||t?1:.98},transition:{type:"spring",stiffness:400,damping:17},onClick:b,onMouseEnter:B,onFocus:y,..._,...x,children:[t&&a.jsx("span",{className:e.spinner}),u&&a.jsx("span",{className:e.iconLeft,children:u}),f,m&&a.jsx("span",{className:e.iconRight,children:m})]})};A.__docgenInfo={description:`Button Component
2
2
 
3
3
  @component
4
4
  @description
@@ -1,4 +1,4 @@
1
- import{j as e}from"./iframe-B8pH-Lvr.js";import{B as t}from"./Button-CQGdvhpN.js";import{s}from"./useSound-Bk2W5gkV.js";import{c as B}from"./createLucideIcon-BNUG5osq.js";import{C as i}from"./chevron-right-CZm4bArI.js";import{T as b}from"./trash-2-BwI5jvsn.js";import"./preload-helper-C1FmrZbK.js";import"./proxy-BA3VZtN5.js";import"./MotionConfigContext-D5hZdVGx.js";/**
1
+ import{j as e}from"./iframe-Cw8dCV4Z.js";import{B as t}from"./Button-DgpqJWgD.js";import{s}from"./useSound-D23BsIr4.js";import{c as B}from"./createLucideIcon-dvowvj4F.js";import{C as i}from"./chevron-right-DjeluSA0.js";import{T as b}from"./trash-2-DeQvYdO7.js";import"./preload-helper-C1FmrZbK.js";import"./proxy-p8L3T_Zy.js";import"./MotionConfigContext-BCa1jVYq.js";/**
2
2
  * @license lucide-react v0.539.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -8,7 +8,7 @@ import{j as e}from"./iframe-B8pH-Lvr.js";import{B as t}from"./Button-CQGdvhpN.js
8
8
  *
9
9
  * This source code is licensed under the ISC license.
10
10
  * See the LICENSE file in the root directory of this source tree.
11
- */const I=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],k=B("save",I),V={title:"Atoms/Button",component:t,parameters:{layout:"centered",docs:{description:{component:"A versatile button component with multiple variants, sizes, and animation support."}}},tags:["autodocs"],argTypes:{variant:{control:"select",options:["primary","secondary","outline","ghost","danger"],description:"The visual style variant of the button"},size:{control:"select",options:["small","medium","large"],description:"The size of the button"},fullWidth:{control:"boolean",description:"Whether the button should take full width of its container"},loading:{control:"boolean",description:"Shows loading spinner and disables the button"},disabled:{control:"boolean",description:"Disables the button"},onClick:{action:"clicked"}}},r={args:{children:"Click me",variant:"primary",size:"medium"}},n={render:()=>e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center",flexWrap:"wrap"},children:[e.jsx(t,{iconLeft:e.jsx(k,{}),children:"Save"}),e.jsx(t,{iconRight:e.jsx(i,{}),children:"Next"}),e.jsx(t,{iconLeft:e.jsx(z,{}),iconRight:e.jsx(i,{}),children:"Add Item"}),e.jsx(t,{variant:"ghost",size:"small",children:e.jsx(b,{})})]}),parameters:{controls:{disable:!0}}},a={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{variant:"primary",children:"Primary"}),e.jsx(t,{variant:"secondary",children:"Secondary"}),e.jsx(t,{variant:"outline",children:"Outline"}),e.jsx(t,{variant:"ghost",children:"Ghost"}),e.jsx(t,{variant:"danger",children:"Danger"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{size:"small",children:"Small"}),e.jsx(t,{size:"medium",children:"Medium"}),e.jsx(t,{size:"large",children:"Large"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{loading:!0,children:"Loading"}),e.jsx(t,{disabled:!0,children:"Disabled"})]})]}),parameters:{controls:{disable:!0}}},o={args:{children:"Button with Sound",variant:"primary",soundConfig:{onClick:!0,onHover:!0}},decorators:[j=>(s.setEnabled(!0),s.setVolume(.5),e.jsx(j,{}))]};var l,d,c;r.parameters={...r.parameters,docs:{...(l=r.parameters)==null?void 0:l.docs,source:{originalSource:`{
11
+ */const I=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],k=B("save",I),V={title:"Atoms/Button",component:t,parameters:{layout:"centered",docs:{description:{component:"A versatile button component with multiple variants, sizes, and animation support."}}},argTypes:{variant:{control:"select",options:["primary","secondary","outline","ghost","danger"],description:"The visual style variant of the button"},size:{control:"select",options:["small","medium","large"],description:"The size of the button"},fullWidth:{control:"boolean",description:"Whether the button should take full width of its container"},loading:{control:"boolean",description:"Shows loading spinner and disables the button"},disabled:{control:"boolean",description:"Disables the button"},onClick:{action:"clicked"}}},r={args:{children:"Click me",variant:"primary",size:"medium"}},n={render:()=>e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center",flexWrap:"wrap"},children:[e.jsx(t,{iconLeft:e.jsx(k,{}),children:"Save"}),e.jsx(t,{iconRight:e.jsx(i,{}),children:"Next"}),e.jsx(t,{iconLeft:e.jsx(z,{}),iconRight:e.jsx(i,{}),children:"Add Item"}),e.jsx(t,{variant:"ghost",size:"small",children:e.jsx(b,{})})]}),parameters:{controls:{disable:!0}}},a={render:()=>e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{variant:"primary",children:"Primary"}),e.jsx(t,{variant:"secondary",children:"Secondary"}),e.jsx(t,{variant:"outline",children:"Outline"}),e.jsx(t,{variant:"ghost",children:"Ghost"}),e.jsx(t,{variant:"danger",children:"Danger"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{size:"small",children:"Small"}),e.jsx(t,{size:"medium",children:"Medium"}),e.jsx(t,{size:"large",children:"Large"})]}),e.jsxs("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[e.jsx(t,{loading:!0,children:"Loading"}),e.jsx(t,{disabled:!0,children:"Disabled"})]})]}),parameters:{controls:{disable:!0}}},o={args:{children:"Button with Sound",variant:"primary",soundConfig:{onClick:!0,onHover:!0}},decorators:[j=>(s.setEnabled(!0),s.setVolume(.5),e.jsx(j,{}))]};var l,d,c;r.parameters={...r.parameters,docs:{...(l=r.parameters)==null?void 0:l.docs,source:{originalSource:`{
12
12
  args: {
13
13
  children: 'Click me',
14
14
  variant: 'primary',
@@ -0,0 +1 @@
1
+ ._calendar_1co7w_2{background:var(--color-background);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);font-family:var(--font-family-primary);color:var(--color-text);width:100%;max-width:100%}._loading_1co7w_14{display:flex;align-items:center;justify-content:center;min-height:400px}._loadingSpinner_1co7w_21{color:var(--color-text-secondary);font-size:var(--font-size-lg)}._header_1co7w_27{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}._navigation_1co7w_35{display:flex;align-items:center;gap:var(--spacing-md)}._navButton_1co7w_41{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text);cursor:pointer;transition:all .2s ease}._navButton_1co7w_41:hover{background:var(--color-background-secondary);border-color:var(--color-border-hover)}._title_1co7w_60{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0;text-transform:capitalize;min-width:200px;text-align:center}._controls_1co7w_70{display:flex;align-items:center;gap:var(--spacing-md)}._todayButton_1co7w_76{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-primary);font-weight:500;cursor:pointer;transition:all .2s ease}._todayButton_1co7w_76:hover{background:var(--color-primary);color:var(--color-text-inverse)}._viewToggle_1co7w_92{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}._viewButton_1co7w_99{padding:var(--spacing-sm) var(--spacing-md);border:none;background:var(--color-background);color:var(--color-text);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm)}._viewButton_1co7w_99:hover{background:var(--color-background-secondary)}._viewButton_1co7w_99._active_1co7w_113{background:var(--color-primary);color:var(--color-text-inverse)}._viewButton_1co7w_99+._viewButton_1co7w_99{border-left:1px solid var(--color-border)}._filterBar_1co7w_123{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-xs);flex:1;justify-content:center}._filterPill_1co7w_132{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-background);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}._filterPill_1co7w_132:hover{background:var(--color-background-secondary);border-color:var(--color-border-hover)}._filterPillActive_1co7w_151{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}._filterDot_1co7w_157{width:8px;height:8px;border-radius:50%;flex-shrink:0}._weekDays_1co7w_165{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}._weekDays_1co7w_165._withWeekNumbers_1co7w_172{grid-template-columns:40px repeat(7,1fr)}._weekNumberHeader_1co7w_176,._weekDay_1co7w_165{text-align:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);padding:var(--spacing-sm) 0}._daysGrid_1co7w_193{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:auto;align-content:start;gap:var(--spacing-xs)}._daysGrid_1co7w_193._withWeekNumbers_1co7w_172{grid-template-columns:40px repeat(7,1fr)}._weekView_1co7w_205{grid-template-rows:repeat(1,minmax(300px,1fr))}._weekView_1co7w_205 ._dayCell_1co7w_209{min-height:300px;display:flex;flex-direction:column;border-left:1px solid var(--color-border);position:relative}._weekView_1co7w_205 ._dayCell_1co7w_209:first-child{border-left:none}._weekView_1co7w_205 ._dayCell_1co7w_209:before{content:"";position:absolute;top:60px;left:0;right:0;height:1px;background:repeating-linear-gradient(to right,var(--color-border) 0px,var(--color-border) 1px,transparent 1px,transparent 20px);opacity:.3}._weekView_1co7w_205 ._dayNumber_1co7w_238{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-sm);text-align:center;padding:var(--spacing-sm);border-bottom:2px solid var(--color-border);background:var(--color-background-secondary);position:sticky;top:0;z-index:2}._weekView_1co7w_205 ._dayCell_1co7w_209._today_1co7w_76 ._dayNumber_1co7w_238{background:var(--color-primary);color:var(--color-text-inverse);border-bottom-color:var(--color-primary)}._weekView_1co7w_205 ._events_1co7w_257{flex:1;padding:var(--spacing-sm);gap:var(--spacing-xs);position:relative}._weekView_1co7w_205 ._event_1co7w_257{padding:var(--spacing-sm);font-size:var(--font-size-sm);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border-left:3px solid rgba(0,0,0,.2);margin-bottom:var(--spacing-xs);position:relative;overflow:visible;white-space:normal;text-overflow:unset;min-height:auto;height:auto}._weekView_1co7w_205 ._event_1co7w_257:hover{box-shadow:var(--shadow-md);transform:translate(2px)}._weekView_1co7w_205 ._eventTitle_1co7w_284{font-weight:600;line-height:1.2;white-space:normal;text-overflow:unset;overflow:visible;word-wrap:break-word}._weekView_1co7w_205 ._eventTime_1co7w_293{font-size:var(--font-size-xs);font-weight:700;background:var(--color-background-secondary);color:var(--color-text);padding:2px 6px;border-radius:var(--radius-sm);margin-right:var(--spacing-xs);border:1px solid var(--color-border);display:inline-block}._dayCell_1co7w_209{min-height:100px;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);position:relative;overflow:hidden;cursor:pointer}._dayCell_1co7w_209:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}._dayCell_1co7w_209._today_1co7w_76{background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-primary-rgb),.08));border-color:var(--color-primary);box-shadow:inset 0 0 0 1px rgba(var(--color-primary-rgb),.3)}._dayCell_1co7w_209._today_1co7w_76 ._dayNumber_1co7w_238{color:var(--color-primary);font-weight:700}._dayCell_1co7w_209._otherMonth_1co7w_338{background:var(--color-background-tertiary);opacity:.5}._dayCell_1co7w_209._selected_1co7w_343{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08)}._dayCell_1co7w_209._selected_1co7w_343 ._dayNumber_1co7w_238{color:var(--color-primary);font-weight:700}._compact_1co7w_354 ._controls_1co7w_70{display:none}._compact_1co7w_354 ._dayCell_1co7w_209{min-height:56px;padding:4px}._compact_1co7w_354 ._dayNumber_1co7w_238{font-size:12px;margin-bottom:2px;font-weight:600;text-align:center}._dots_1co7w_370{display:flex;justify-content:center;align-items:center;gap:2px;flex-wrap:wrap}._dot_1co7w_370{width:6px;height:6px;border-radius:50%;flex-shrink:0}._dotMore_1co7w_385{font-size:9px;color:var(--color-text-secondary);margin-left:2px}._weekNumberCell_1co7w_392{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}._dayNumber_1co7w_238{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs)}._events_1co7w_257{display:flex;flex-direction:column;gap:2px}._event_1co7w_257{display:flex;align-items:center;gap:4px;padding:2px 6px;border-radius:var(--radius-xs);font-size:11px;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1.3}._event_1co7w_257._completed_1co7w_438{opacity:.7;text-decoration:line-through}._eventTitle_1co7w_284{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:4px}._eventTime_1co7w_293{font-weight:600;margin-right:4px;font-size:10px}._completedIcon_1co7w_459{width:12px;height:12px;flex-shrink:0;stroke-width:2}._moreEvents_1co7w_466{padding:2px 6px;background:var(--color-background-secondary);color:var(--color-text-secondary);font-size:10px;text-align:center;border-radius:var(--radius-xs);margin-top:2px}._emptyState_1co7w_476{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary);font-size:var(--font-size-xs)}._dayView_1co7w_486{display:flex;flex-direction:column;height:600px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}._dayViewHeader_1co7w_495{display:flex;border-bottom:2px solid var(--color-border);background:var(--color-background-secondary);position:sticky;top:0;z-index:5;width:100%}._timeColumnHeader_1co7w_505{width:52px;flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-background-secondary)}._dayColumnHeader_1co7w_512{flex:1;padding:var(--spacing-md);text-align:center;font-weight:600;color:var(--color-text);background:var(--color-background)}._allDayStrip_1co7w_522{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-background-secondary);border-bottom:1px solid var(--color-border)}._allDayLabel_1co7w_530{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;padding-top:6px;width:52px}._allDayList_1co7w_541{flex:1;display:flex;flex-direction:column;gap:var(--spacing-xs)}._allDayEvent_1co7w_548{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;box-shadow:var(--shadow-sm);border-left:3px solid rgba(0,0,0,.2)}._allDayEvent_1co7w_548._completed_1co7w_438{text-decoration:line-through}._dayViewScrollContainer_1co7w_564{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;width:100%}._dayTimelineGrid_1co7w_573{position:relative;width:100%}._hourRow_1co7w_578{display:flex;align-items:flex-start;border-bottom:1px solid var(--color-border)}._hourLabel_1co7w_584{width:52px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0;border-right:1px solid var(--color-border);height:100%}._hourSlots_1co7w_595{flex:1;display:flex;flex-direction:column;height:100%}._halfHourSlot_1co7w_602{flex:1;cursor:pointer;transition:background .15s ease}._halfHourSlot_1co7w_602:hover{background:rgba(var(--color-primary-rgb),.05)}._halfHourSlotBottom_1co7w_612{border-top:1px dashed var(--color-border)}._dayEventAnchor_1co7w_617{position:absolute;left:60px;right:var(--spacing-sm);z-index:5}._weekTimeline_1co7w_625{display:flex;flex-direction:column;height:600px;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}._weekTimelineHeader_1co7w_634{display:flex;border-bottom:2px solid var(--color-border);background:var(--color-background-secondary)}._weekTimelineHeader_1co7w_634 ._timeColumnHeader_1co7w_505{width:52px;flex-shrink:0;border-right:1px solid var(--color-border)}._weekDayColumnHeader_1co7w_646{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--spacing-sm);border:none;border-left:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);cursor:pointer;font-family:inherit;transition:background .15s ease}._weekDayColumnHeader_1co7w_646:first-child{border-left:none}._weekDayColumnHeader_1co7w_646:hover{background:var(--color-background-tertiary)}._weekDayColumnHeader_1co7w_646._today_1co7w_76{background:var(--color-primary);color:var(--color-text-inverse)}._weekDayColumnHeader_1co7w_646._selected_1co7w_343{background:rgba(var(--color-primary-rgb),.12)}._weekDayLabel_1co7w_680{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}._weekDayNumber_1co7w_688{font-size:var(--font-size-lg);font-weight:700}._weekTimelineScroll_1co7w_693{flex:1;overflow-y:auto;overflow-x:hidden;position:relative;width:100%}._weekTimelineGrid_1co7w_701{position:relative;display:flex;width:100%}._weekTimeColumn_1co7w_707{width:52px;flex-shrink:0;border-right:1px solid var(--color-border);display:flex;flex-direction:column}._weekTimeSlot_1co7w_715{border-bottom:1px solid var(--color-border);display:flex;align-items:flex-start;padding:var(--spacing-xs) var(--spacing-sm)}._weekHourLabel_1co7w_722{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-variant-numeric:tabular-nums}._weekDayColumns_1co7w_728{flex:1;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));position:relative}._weekDayColumn_1co7w_646{position:relative;border-left:1px solid var(--color-border);display:flex;flex-direction:column}._weekDayColumn_1co7w_646:first-child{border-left:none}._weekHourRow_1co7w_746{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column}._weekEventAnchor_1co7w_752{position:absolute;left:2px;right:2px;z-index:5}._currentTimeIndicator_1co7w_760{position:absolute;left:52px;right:0;height:2px;background:#ef4444;z-index:10;border-radius:1px;pointer-events:none;box-shadow:0 1px 3px #0003}._currentTimeIndicator_1co7w_760:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;background:#ef4444;border-radius:50%;box-shadow:0 0 0 2px var(--color-background);animation:_pulse_1co7w_1 2s ease-in-out infinite}@keyframes _pulse_1co7w_1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}@media (max-width: 768px){._calendar_1co7w_2{padding:var(--spacing-md);border-radius:var(--radius-md)}._header_1co7w_27{flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}._navigation_1co7w_35{order:2;width:100%;justify-content:center}._controls_1co7w_70{order:1;width:100%;justify-content:center;flex-wrap:wrap}._navButton_1co7w_41{width:32px;height:32px}._title_1co7w_60{font-size:var(--font-size-lg);min-width:auto}._todayButton_1co7w_76{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}._viewButton_1co7w_99{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}._weekDays_1co7w_165{gap:1px;margin-bottom:var(--spacing-sm)}._weekDay_1co7w_165{font-size:11px;padding:var(--spacing-xs) 0}._daysGrid_1co7w_193{gap:1px}._dayCell_1co7w_209{min-height:70px;padding:4px}._compact_1co7w_354 ._dayCell_1co7w_209{min-height:40px;padding:2px}._compact_1co7w_354 ._dayNumber_1co7w_238{font-size:11px}._dot_1co7w_370{width:5px;height:5px}._weekView_1co7w_205 ._dayCell_1co7w_209{min-height:180px}._weekView_1co7w_205 ._dayNumber_1co7w_238{font-size:var(--font-size-md);padding:var(--spacing-xs);margin-bottom:var(--spacing-xs)}._weekView_1co7w_205 ._events_1co7w_257{gap:2px;padding:4px}._weekView_1co7w_205 ._event_1co7w_257{padding:4px 6px;font-size:10px}._weekView_1co7w_205 ._eventTime_1co7w_293{font-size:8px;padding:1px 3px}._dayNumber_1co7w_238{font-size:12px;margin-bottom:2px;font-weight:600}._events_1co7w_257{gap:1px}._event_1co7w_257{font-size:9px;padding:1px 4px;border-radius:2px}._eventTime_1co7w_293{font-size:8px;margin-right:2px}._moreEvents_1co7w_466{font-size:8px;padding:1px 4px}._completedIcon_1co7w_459{width:10px;height:10px}._weekNumberCell_1co7w_392{font-size:var(--font-size-xs)}._dayView_1co7w_486{height:500px}._timeColumn_1co7w_505,._timeColumnHeader_1co7w_505{width:60px}._timeLabel_1co7w_945{font-size:10px}._dayEvent_1co7w_617{padding:4px 6px;font-size:12px;min-height:28px}._dayEventTime_1co7w_955{font-size:10px}}@media (max-width: 480px){._calendar_1co7w_2{padding:var(--spacing-sm);border-radius:var(--radius-sm)}._header_1co7w_27{gap:var(--spacing-xs)}._navButton_1co7w_41{width:28px;height:28px}._title_1co7w_60{font-size:var(--font-size-md)}._todayButton_1co7w_76{padding:var(--spacing-xs);font-size:11px}._viewButton_1co7w_99{padding:var(--spacing-xs);font-size:10px}._weekDay_1co7w_165{font-size:10px;padding:4px 0}._dayCell_1co7w_209{min-height:60px;padding:2px}._weekView_1co7w_205 ._dayCell_1co7w_209{min-height:100px}._dayNumber_1co7w_238{font-size:11px;margin-bottom:1px}._event_1co7w_257{font-size:8px;padding:1px 2px}._eventTime_1co7w_293{font-size:7px;margin-right:1px}._moreEvents_1co7w_466{font-size:7px;padding:1px 2px}._completedIcon_1co7w_459{width:8px;height:8px}}@media (prefers-color-scheme: dark){._calendar_1co7w_2{box-shadow:var(--shadow-dark-md)}._event_1co7w_257{box-shadow:none}._event_1co7w_257:hover{box-shadow:var(--shadow-dark-sm)}}@media (prefers-contrast: high){._dayCell_1co7w_209{border-width:2px}._dayCell_1co7w_209._today_1co7w_76{border-width:3px}._event_1co7w_257{border:1px solid var(--color-text-inverse)}}@media (prefers-reduced-motion: reduce){._calendar_1co7w_2 *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}._wrapper_nyv1b_1{position:relative;width:100%;height:100%}._deleteUnderlay_nyv1b_7{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-error, #ef4444);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);padding:0 var(--spacing-md);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);pointer-events:none}._card_nyv1b_23{position:relative;display:flex;align-items:center;gap:var(--spacing-xs);padding:0 var(--spacing-sm) 0 var(--spacing-xs);height:100%;min-height:24px;border:1px solid var(--color-border);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);touch-action:pan-y;user-select:none;-webkit-user-select:none;box-shadow:var(--shadow-sm);cursor:pointer;overflow:hidden}._dragging_nyv1b_43{box-shadow:var(--shadow-lg);z-index:10;opacity:.9}._completed_nyv1b_49{opacity:.55}._completed_nyv1b_49 ._text_nyv1b_53{text-decoration:line-through}._grip_nyv1b_57{display:flex;align-items:center;justify-content:center;opacity:.5;cursor:grab;padding:0 2px;flex-shrink:0;touch-action:none}._grip_nyv1b_57:hover{opacity:1}._grip_nyv1b_57:active{cursor:grabbing;opacity:1}._checkIcon_nyv1b_77{color:var(--color-success, #10b981);flex-shrink:0}._text_nyv1b_53{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._time_nyv1b_89{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;flex-shrink:0;opacity:.85}._editButton_nyv1b_96{background:none;border:none;color:inherit;cursor:pointer;padding:4px;display:flex;align-items:center;border-radius:var(--radius-sm);flex-shrink:0;opacity:.7;transition:opacity .15s ease,background .15s ease}._editButton_nyv1b_96:hover{background:#0000001a;opacity:1}
@@ -0,0 +1,321 @@
1
+ import{r as N,j as e}from"./iframe-Cw8dCV4Z.js";import{u as Je}from"./use-motion-value-BVm7csqA.js";import{u as qt}from"./use-transform-CQNghMvr.js";import{m as Me}from"./proxy-p8L3T_Zy.js";import{T as Vt}from"./trash-2-DeQvYdO7.js";import{c as bt}from"./createLucideIcon-dvowvj4F.js";import{C as Rt}from"./check-DLeHG_Da.js";import{a as De}from"./index-Bm5msOcI.js";import"./preload-helper-C1FmrZbK.js";import"./MotionConfigContext-BCa1jVYq.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 Ot=[["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"}]],zt=bt("grip-vertical",Ot);/**
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 Gt=[["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"}]],Yt=bt("pencil",Gt),Ut="_calendar_1co7w_2",Xt="_loading_1co7w_14",Qt="_loadingSpinner_1co7w_21",Jt="_header_1co7w_27",Kt="_navigation_1co7w_35",Zt="_navButton_1co7w_41",en="_title_1co7w_60",tn="_controls_1co7w_70",nn="_todayButton_1co7w_76",an="_viewToggle_1co7w_92",on="_viewButton_1co7w_99",rn="_active_1co7w_113",sn="_filterBar_1co7w_123",ln="_filterPill_1co7w_132",cn="_filterPillActive_1co7w_151",dn="_filterDot_1co7w_157",mn="_weekDays_1co7w_165",un="_withWeekNumbers_1co7w_172",pn="_weekNumberHeader_1co7w_176",gn="_weekDay_1co7w_165",wn="_daysGrid_1co7w_193",vn="_dayCell_1co7w_209",yn="_dayNumber_1co7w_238",hn="_today_1co7w_76",fn="_events_1co7w_257",Dn="_event_1co7w_257",_n="_eventTitle_1co7w_284",kn="_eventTime_1co7w_293",Sn="_otherMonth_1co7w_338",Cn="_selected_1co7w_343",xn="_compact_1co7w_354",Tn="_dots_1co7w_370",En="_dot_1co7w_370",bn="_dotMore_1co7w_385",Nn="_weekNumberCell_1co7w_392",jn="_completed_1co7w_438",Hn="_completedIcon_1co7w_459",Mn="_moreEvents_1co7w_466",$n="_emptyState_1co7w_476",Pn="_dayView_1co7w_486",Ln="_dayViewHeader_1co7w_495",In="_timeColumnHeader_1co7w_505",Bn="_dayColumnHeader_1co7w_512",Fn="_allDayStrip_1co7w_522",An="_allDayLabel_1co7w_530",Wn="_allDayList_1co7w_541",qn="_dayViewScrollContainer_1co7w_564",Vn="_dayTimelineGrid_1co7w_573",Rn="_hourRow_1co7w_578",On="_hourLabel_1co7w_584",zn="_hourSlots_1co7w_595",Gn="_halfHourSlot_1co7w_602",Yn="_halfHourSlotBottom_1co7w_612",Un="_dayEventAnchor_1co7w_617",Xn="_weekTimeline_1co7w_625",Qn="_weekTimelineHeader_1co7w_634",Jn="_weekDayColumnHeader_1co7w_646",Kn="_weekDayLabel_1co7w_680",Zn="_weekDayNumber_1co7w_688",ea="_weekTimelineScroll_1co7w_693",ta="_weekTimelineGrid_1co7w_701",na="_weekTimeColumn_1co7w_707",aa="_weekTimeSlot_1co7w_715",oa="_weekHourLabel_1co7w_722",ra="_weekDayColumns_1co7w_728",sa="_weekDayColumn_1co7w_646",ia="_weekHourRow_1co7w_746",la="_weekEventAnchor_1co7w_752",ca="_currentTimeIndicator_1co7w_760",t={calendar:Ut,loading:Xt,loadingSpinner:Qt,header:Jt,navigation:Kt,navButton:Zt,title:en,controls:tn,todayButton:nn,viewToggle:an,viewButton:on,active:rn,filterBar:sn,filterPill:ln,filterPillActive:cn,filterDot:dn,weekDays:mn,withWeekNumbers:un,weekNumberHeader:pn,weekDay:gn,daysGrid:wn,dayCell:vn,dayNumber:yn,today:hn,events:fn,event:Dn,eventTitle:_n,eventTime:kn,otherMonth:Sn,selected:Cn,compact:xn,dots:Tn,dot:En,dotMore:bn,weekNumberCell:Nn,completed:jn,completedIcon:Hn,moreEvents:Mn,emptyState:$n,dayView:Pn,dayViewHeader:Ln,timeColumnHeader:In,dayColumnHeader:Bn,allDayStrip:Fn,allDayLabel:An,allDayList:Wn,dayViewScrollContainer:qn,dayTimelineGrid:Vn,hourRow:Rn,hourLabel:On,hourSlots:zn,halfHourSlot:Gn,halfHourSlotBottom:Yn,dayEventAnchor:Un,weekTimeline:Xn,weekTimelineHeader:Qn,weekDayColumnHeader:Jn,weekDayLabel:Kn,weekDayNumber:Zn,weekTimelineScroll:ea,weekTimelineGrid:ta,weekTimeColumn:na,weekTimeSlot:aa,weekHourLabel:oa,weekDayColumns:ra,weekDayColumn:sa,weekHourRow:ia,weekEventAnchor:la,currentTimeIndicator:ca},da="_wrapper_nyv1b_1",ma="_deleteUnderlay_nyv1b_7",ua="_card_nyv1b_23",pa="_dragging_nyv1b_43",ga="_completed_nyv1b_49",wa="_text_nyv1b_53",va="_grip_nyv1b_57",ya="_checkIcon_nyv1b_77",ha="_time_nyv1b_89",fa="_editButton_nyv1b_96",A={wrapper:da,deleteUnderlay:ma,card:ua,dragging:pa,completed:ga,text:wa,grip:va,checkIcon:ya,time:ha,editButton:fa},Da=-80,He=({event:m,color:r,textColor:s,onComplete:u,onEdit:c,onDelete:w,onDragEnd:p,draggable:v=!0})=>{const f=Je(0),_=Je(0),D=qt(f,[-80,0],[1,0]),[T,j]=N.useState(!1),I=N.useRef(!1),M=N.useRef(null),K=m.status==="completed",O=(k,y)=>{w&&y.offset.x<Da?De(f,-1e3,{duration:.2,onComplete:()=>w(m)}):De(f,0,{type:"spring",stiffness:400,damping:30})},Z=()=>{if(I.current){I.current=!1;return}T||u==null||u(m)},ie=k=>{!v||!p||(k.stopPropagation(),k.preventDefault(),M.current={x:k.clientX,y:k.clientY,pointerId:k.pointerId},k.currentTarget.setPointerCapture(k.pointerId),j(!0))},ee=k=>{M.current&&(f.set(k.clientX-M.current.x),_.set(k.clientY-M.current.y))},le=k=>{if(!M.current)return;const y=k.clientY,ce=k.clientX;try{k.currentTarget.releasePointerCapture(M.current.pointerId)}catch{}M.current=null,j(!1),De(_,0,{type:"spring",stiffness:400,damping:30}),De(f,0,{type:"spring",stiffness:400,damping:30}),p==null||p(y,ce)},z=!!w,S=v&&!!p;return e.jsxs("div",{className:A.wrapper,children:[z&&e.jsxs(Me.div,{className:A.deleteUnderlay,style:{opacity:D},children:[e.jsx(Vt,{size:16}),e.jsx("span",{children:"Delete"})]}),e.jsxs(Me.div,{className:`${A.card} ${K?A.completed:""} ${T?A.dragging:""}`,style:{x:f,y:_,background:r,color:s,borderLeftColor:r},drag:z&&!T?"x":!1,dragConstraints:z?{left:-200,right:0}:void 0,dragElastic:.15,dragDirectionLock:!0,onDragStart:()=>{I.current=!0},onDragEnd:O,whileTap:T?void 0:{scale:.98},animate:T?{scale:1.03}:{scale:1},onClick:Z,children:[S&&e.jsx("div",{className:A.grip,onPointerDown:ie,onPointerMove:ee,onPointerUp:le,onPointerCancel:le,onClick:k=>k.stopPropagation(),children:e.jsx(zt,{size:14})}),K&&e.jsx(Rt,{size:14,className:A.checkIcon,strokeWidth:3}),e.jsx("span",{className:A.text,children:m.title}),m.time&&e.jsx("span",{className:A.time,children:m.time}),c&&e.jsx("button",{className:A.editButton,onClick:k=>{k.stopPropagation(),c(m)},"aria-label":"Edit event",children:e.jsx(Yt,{size:13})})]})]})};He.__docgenInfo={description:"",methods:[],displayName:"DayEventCard",props:{draggable:{defaultValue:{value:"true",computed:!1},required:!1}}};function se({events:m,onEventClick:r,onDateClick:s,onEventClickByView:u,onDateClickByView:c,onTimeSlotClick:w,onEventDrop:p,onEventComplete:v,onEventDelete:f,onEventEdit:_,viewMode:D="month",initialDate:T=new Date,config:j={},className:I="",style:M={},loading:K=!1,emptyState:O,hideHeader:Z=!1,compact:ie=!1,selectedDate:ee,selectedCategoryId:le,onCategoryChange:z}){const[S,k]=N.useState(T),[y,ce]=N.useState(D),[Nt,jt]=N.useState(null),Ae=le!==void 0,te=Ae?le??null:Nt,We=n=>{Ae||jt(n),z==null||z(n)},Pe=N.useRef(null),Le=N.useRef(null),{eventColors:qe={},iconRenderer:Ve,maxEventsPerDay:G=3,mondayStart:de=!1,showWeekNumbers:ge=!1,dateFormat:Re={month:"long",year:"numeric"},locale:Y="en-US",dayLabels:Ht,monthNames:we,startHour:B=0,endHour:Oe=24,hourHeight:E=60,halfHourSlots:F=!1,categories:ne}=j,Mt=N.useMemo(()=>!ne||ne.length===0||te===null?m:m.filter(n=>!n.category||n.category===te),[m,ne,te]),$t=Ht||(de?["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]),ze=(j==null?void 0:j.hourHeight)??60,Ge=(j==null?void 0:j.startHour)??0,me=N.useMemo(()=>{const n=S.getFullYear(),a=S.getMonth();let l,i,C;if(y==="week"){l=new Date(S);const P=l.getDay(),h=de?l.getDate()-P+(P===0?-6:1):l.getDate()-P;l=new Date(l.setDate(h)),l.setHours(0,0,0,0),i=new Date(l),i.setDate(i.getDate()+6);const q=l.toLocaleDateString(Y,{day:"numeric",month:"short"}),L=i.toLocaleDateString(Y,{day:"numeric",month:"short"});C=`${q} - ${L}`}else if(y==="day")l=new Date(S),l.setHours(0,0,0,0),i=new Date(S),i.setHours(23,59,59,999),C=S.toLocaleDateString(Y,{weekday:"long",year:"numeric",month:"long",day:"numeric"});else{const P=new Date(n,a,1),h=new Date(n,a+1,0);l=new Date(P);const q=de?(P.getDay()+6)%7:P.getDay();l.setDate(l.getDate()-q),i=new Date(h);const L=de?(h.getDay()+6)%7:h.getDay();i.setDate(i.getDate()+(6-L)),we&&we[a]?C=`${we[a]} ${n}`:C=S.toLocaleDateString(Y,Re)}const H=[],$=new Date(l);for(;$<=i;)H.push(new Date($)),$.setDate($.getDate()+1);return{days:H,displayTitle:C}},[S,y,de,Y,Re,we]);N.useEffect(()=>{const n=y==="day"?Pe:y==="week"?Le:null;if(!(n!=null&&n.current))return;const a=new Date;if(!(y==="day"?S.toDateString()===a.toDateString():me.days.some(H=>H.toDateString()===a.toDateString())))return;const i=(a.getHours()-Ge)*60+a.getMinutes(),C=Math.max(0,i/60*ze-100);setTimeout(()=>{n.current&&(n.current.scrollTop=C)},0)},[y,S,Ge,ze,me]);const Ie=n=>{const a=Mt.filter(l=>new Date(l.date).toDateString()===n.toDateString());return y==="week"?a.sort((l,i)=>{const C=l.time?Ye(l.time):999999,H=i.time?Ye(i.time):999999;return C-H}):a},Ye=n=>{const[a,l]=n.split(":").map(Number);return a*60+l},Pt=()=>{const n=new Date(S);y==="week"?n.setDate(n.getDate()-7):y==="day"?n.setDate(n.getDate()-1):n.setMonth(n.getMonth()-1),k(n)},Lt=()=>{const n=new Date(S);y==="week"?n.setDate(n.getDate()+7):y==="day"?n.setDate(n.getDate()+1):n.setMonth(n.getMonth()+1),k(n)},It=()=>{k(new Date)},ae=n=>{if(n.color)return n.color;if(n.type&&qe[n.type])return qe[n.type];const a={high:"#FF4444",medium:"#FFA500",low:"#4A90E2"};return n.priority&&a[n.priority]?a[n.priority]:"#4A90E2"},Bt=n=>{const a=n.replace("#",""),l=parseInt(a.substring(0,2),16),i=parseInt(a.substring(2,4),16),C=parseInt(a.substring(4,6),16);return(.299*l+.587*i+.114*C)/255>.5?"#000000":"#FFFFFF"},ve=n=>{if(n.textColor)return n.textColor;const a=ae(n);return Bt(a)},ye=n=>{u&&u[y]?u[y](n):r&&r(n)},Ue=n=>{c&&c[y]?c[y](n):s&&s(n)},Ft=n=>{const a=new Date;return n.toDateString()===a.toDateString()},At=n=>n.getMonth()===S.getMonth(),Wt=n=>{const a=new Date(n.getFullYear(),0,1),l=n.getTime()-a.getTime(),i=1e3*60*60*24*7;return Math.floor(l/i)+1};return K?e.jsx("div",{className:`${t.calendar} ${t.loading} ${I}`,style:M,children:e.jsx("div",{className:t.loadingSpinner,children:"Loading..."})}):e.jsxs("div",{className:`${t.calendar} ${ie?t.compact:""} ${I}`,style:M,children:[!Z&&e.jsxs("div",{className:t.header,children:[e.jsxs("div",{className:t.navigation,children:[e.jsx("button",{onClick:Pt,className:t.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:t.title,children:me.displayTitle}),e.jsx("button",{onClick:Lt,className:t.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"})})})]}),ne&&ne.length>0&&e.jsxs("div",{className:t.filterBar,role:"tablist","aria-label":"Filter by category",children:[e.jsx("button",{type:"button",role:"tab","aria-selected":te===null,className:`${t.filterPill} ${te===null?t.filterPillActive:""}`,onClick:()=>We(null),children:"All"}),ne.map(n=>{const a=te===n.id;return e.jsxs("button",{type:"button",role:"tab","aria-selected":a,className:`${t.filterPill} ${a?t.filterPillActive:""}`,style:a?{background:n.color,borderColor:n.color,color:"#ffffff"}:void 0,onClick:()=>We(n.id),children:[!a&&e.jsx("span",{className:t.filterDot,style:{background:n.color}}),n.label]},n.id)})]}),e.jsxs("div",{className:t.controls,children:[e.jsx("button",{onClick:It,className:t.todayButton,children:"Today"}),e.jsxs("div",{className:t.viewToggle,children:[e.jsx("button",{className:`${t.viewButton} ${y==="month"?t.active:""}`,onClick:()=>ce("month"),children:"Month"}),e.jsx("button",{className:`${t.viewButton} ${y==="week"?t.active:""}`,onClick:()=>ce("week"),children:"Week"}),e.jsx("button",{className:`${t.viewButton} ${y==="day"?t.active:""}`,onClick:()=>ce("day"),children:"Day"})]})]})]}),y==="month"&&e.jsxs("div",{className:`${t.weekDays} ${ge?t.withWeekNumbers:""}`,children:[ge&&e.jsx("div",{className:t.weekNumberHeader,children:"Wk"}),$t.map(n=>e.jsx("div",{className:t.weekDay,children:n},n))]}),y==="day"?(()=>{const n=Ie(S),a=n.filter(o=>!o.allDay&&o.time),l=n.filter(o=>o.allDay||!o.time),i=Array.from({length:Oe-B},(o,d)=>B+d),C=i.length*E,H=new Date,$=S.toDateString()===H.toDateString(),h=((H.getHours()-B)*60+H.getMinutes())/60*E,q=$&&h>=0&&h<=C,L=o=>{const[d,b]=o.split(":").map(Number);return d*60+b},Be=o=>{if(!o.time||!o.endTime)return 30;const d=L(o.endTime)-L(o.time);return d>0?d:30},g=(o,d)=>{if(w){const b=new Date(S);b.setHours(o,d,0,0);const V=`${o.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}`;w(b,o,V)}},x=(o,d)=>{var fe;if(!p)return;const b=(fe=Pe.current)==null?void 0:fe.querySelector(`.${t.dayTimelineGrid}`);if(!b)return;const V=b.getBoundingClientRect(),U=d-V.top,X=F?E/2:E,R=Math.max(0,Math.floor(U/X)),Q=F?i.length*2:i.length,J=Math.min(Q-1,R),Fe=B+Math.floor(F?J/2:J),ue=F&&J%2===1?30:0,he=new Date(S);he.setHours(Fe,ue,0,0),p(o,he)};return e.jsxs("div",{className:t.dayView,children:[e.jsxs("div",{className:t.dayViewHeader,children:[e.jsx("div",{className:t.timeColumnHeader}),e.jsx("div",{className:t.dayColumnHeader,children:S.toLocaleDateString(Y,{weekday:"short",day:"numeric"})})]}),l.length>0&&e.jsxs("div",{className:t.allDayStrip,children:[e.jsx("span",{className:t.allDayLabel,children:"All day"}),e.jsx("div",{className:t.allDayList,children:l.map(o=>e.jsx(He,{event:o,color:ae(o),textColor:ve(o),onComplete:v??(r?ye:void 0),onEdit:_,onDelete:f,draggable:!1},o.id))})]}),e.jsx("div",{className:t.dayViewScrollContainer,ref:Pe,children:e.jsxs("div",{className:t.dayTimelineGrid,style:{height:C},children:[i.map(o=>e.jsxs("div",{className:t.hourRow,style:{height:E},children:[e.jsxs("span",{className:t.hourLabel,children:[o.toString().padStart(2,"0"),":00"]}),e.jsx("div",{className:t.hourSlots,children:F?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:t.halfHourSlot,onClick:()=>g(o,0)}),e.jsx("div",{className:`${t.halfHourSlot} ${t.halfHourSlotBottom}`,onClick:()=>g(o,30)})]}):e.jsx("div",{className:t.halfHourSlot,onClick:()=>g(o,0)})})]},o)),a.map(o=>{const[d,b]=o.time.split(":").map(Number),V=(d-B)*E+b/60*E,U=Be(o),X=Math.max(24,U/60*E-2);return e.jsx("div",{className:t.dayEventAnchor,style:{top:V,height:X},onClick:R=>R.stopPropagation(),children:e.jsx(He,{event:o,color:ae(o),textColor:ve(o),onComplete:v??(r?ye:void 0),onEdit:_,onDelete:f,onDragEnd:p?R=>x(o,R):void 0})},o.id)}),q&&e.jsx("div",{className:t.currentTimeIndicator,style:{top:`${h}px`}})]})})]})})():y==="week"?(()=>{const n=me.days,a=Array.from({length:Oe-B},(g,x)=>B+x),l=a.length*E,i=new Date,C=n.findIndex(g=>g.toDateString()===i.toDateString()),$=((i.getHours()-B)*60+i.getMinutes())/60*E,P=C>=0&&$>=0&&$<=l,h=g=>{const[x,o]=g.split(":").map(Number);return x*60+o},q=g=>{if(!g.time||!g.endTime)return 30;const x=h(g.endTime)-h(g.time);return x>0?x:30},L=(g,x,o)=>{if(!w)return;const d=new Date(g);d.setHours(x,o,0,0);const b=`${x.toString().padStart(2,"0")}:${o.toString().padStart(2,"0")}`;w(d,x,b)},Be=(g,x,o)=>{var Qe;if(!p)return;const d=(Qe=Le.current)==null?void 0:Qe.querySelector(`.${t.weekDayColumns}`);if(!d)return;const b=d.getBoundingClientRect(),V=o-b.left,U=x-b.top,X=b.width/7,R=Math.min(6,Math.max(0,Math.floor(V/X))),Q=n[R],J=F?E/2:E,Fe=F?a.length*2:a.length,ue=Math.min(Fe-1,Math.max(0,Math.floor(U/J))),he=B+Math.floor(F?ue/2:ue),fe=F&&ue%2===1?30:0,Xe=new Date(Q);Xe.setHours(he,fe,0,0),p(g,Xe)};return e.jsxs("div",{className:t.weekTimeline,children:[e.jsxs("div",{className:t.weekTimelineHeader,children:[e.jsx("div",{className:t.timeColumnHeader}),n.map(g=>{const x=g.toDateString()===i.toDateString(),o=ee&&g.toDateString()===ee.toDateString();return e.jsxs("button",{type:"button",className:`${t.weekDayColumnHeader} ${x?t.today:""} ${o?t.selected:""}`,onClick:()=>Ue(g),children:[e.jsx("span",{className:t.weekDayLabel,children:g.toLocaleDateString(Y,{weekday:"short"})}),e.jsx("span",{className:t.weekDayNumber,children:g.getDate()})]},g.toISOString())})]}),e.jsx("div",{className:t.weekTimelineScroll,ref:Le,children:e.jsxs("div",{className:t.weekTimelineGrid,style:{height:l},children:[e.jsx("div",{className:t.weekTimeColumn,children:a.map(g=>e.jsx("div",{className:t.weekTimeSlot,style:{height:E},children:e.jsxs("span",{className:t.weekHourLabel,children:[g.toString().padStart(2,"0"),":00"]})},g))}),e.jsx("div",{className:t.weekDayColumns,children:n.map(g=>{const x=Ie(g).filter(d=>!d.allDay&&d.time),o=g.toDateString()===i.toDateString();return e.jsxs("div",{className:t.weekDayColumn,children:[a.map(d=>e.jsx("div",{className:t.weekHourRow,style:{height:E},children:F?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:t.halfHourSlot,onClick:()=>L(g,d,0)}),e.jsx("div",{className:`${t.halfHourSlot} ${t.halfHourSlotBottom}`,onClick:()=>L(g,d,30)})]}):e.jsx("div",{className:t.halfHourSlot,onClick:()=>L(g,d,0)})},d)),x.map(d=>{const[b,V]=d.time.split(":").map(Number),U=(b-B)*E+V/60*E,X=q(d),R=Math.max(24,X/60*E-2);return e.jsx("div",{className:t.weekEventAnchor,style:{top:U,height:R},onClick:Q=>Q.stopPropagation(),children:e.jsx(He,{event:d,color:ae(d),textColor:ve(d),onComplete:v??(r?ye:void 0),onEdit:_,onDelete:f,onDragEnd:p?(Q,J)=>Be(d,Q,J):void 0})},d.id)}),o&&P&&e.jsx("div",{className:t.currentTimeIndicator,style:{top:`${$}px`,left:0}})]},g.toISOString())})})]})})]})})():(()=>{const n=ie?void 0:40+G*24;return e.jsx("div",{className:`${t.daysGrid} ${ge?t.withWeekNumbers:""}`,children:me.days.map((a,l)=>{const i=Ie(a),C=Ft(a),H=At(a),$=ge&&l%7===0,P=ee&&a.toDateString()===ee.toDateString();return e.jsxs(N.Fragment,{children:[$&&e.jsx("div",{className:t.weekNumberCell,style:n!==void 0?{height:n,minHeight:n}:void 0,children:Wt(a)}),e.jsxs(Me.div,{className:`${t.dayCell} ${C?t.today:""} ${H?"":t.otherMonth} ${P?t.selected:""}`,style:n!==void 0?{height:n,minHeight:n}:void 0,initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.3,delay:l*.02,ease:"easeOut"},onClick:()=>Ue(a),children:[e.jsx("div",{className:t.dayNumber,children:a.getDate()}),i.length>0&&ie&&y==="month"?e.jsxs("div",{className:t.dots,children:[i.slice(0,G).map(h=>e.jsx("span",{className:t.dot,style:{backgroundColor:ae(h)}},h.id)),i.length>G&&e.jsxs("span",{className:t.dotMore,children:["+",i.length-G]})]}):i.length>0?e.jsxs("div",{className:t.events,children:[i.slice(0,G).map((h,q)=>e.jsxs(Me.div,{className:`${t.event} ${h.status==="completed"?t.completed:""}`,style:{backgroundColor:ae(h),color:ve(h),opacity:h.status==="completed"?.7:1},onClick:L=>{L.stopPropagation(),ye(h)},initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{duration:.2,delay:q*.05,ease:"easeOut"},whileHover:{scale:1.02,y:-1,transition:{duration:.1}},whileTap:{scale:.98,transition:{duration:.1}},children:[Ve&&Ve(h),e.jsxs("span",{className:t.eventTitle,children:[h.time&&e.jsx("span",{className:t.eventTime,children:h.time}),h.title]}),h.status==="completed"&&e.jsx("svg",{className:t.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"})})]},h.id)),i.length>G&&e.jsxs("div",{className:t.moreEvents,children:["+",i.length-G," more"]})]}):O?e.jsx("div",{className:t.emptyState,children:O}):null]})]},`${a.getFullYear()}-${a.getMonth()}-${a.getDate()}`)})})})()]})}se.__docgenInfo={description:`Calendar component - A flexible, reusable calendar for displaying events
12
+
13
+ @component
14
+ @description
15
+ A highly customizable calendar component that can display events in month or week view.
16
+ Supports custom event types, colors, icons, and localization. Perfect for scheduling,
17
+ project management, habit tracking, or any date-based data visualization.
18
+
19
+ @example
20
+ // Basic usage
21
+ <Calendar
22
+ events={myEvents}
23
+ onEventClick={handleEventClick}
24
+ viewMode="month"
25
+ />
26
+
27
+ @example
28
+ // With custom configuration
29
+ <Calendar
30
+ events={projectEvents}
31
+ config={{
32
+ eventColors: { task: '#4A90E2', meeting: '#7ED321' },
33
+ maxEventsPerDay: 5,
34
+ mondayStart: true
35
+ }}
36
+ onEventClick={handleEventClick}
37
+ />`,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:`{
38
+ month?: (event: CalendarEvent) => void;
39
+ week?: (event: CalendarEvent) => void;
40
+ day?: (event: CalendarEvent) => void;
41
+ }`,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:`{
42
+ month?: (date: Date) => void;
43
+ week?: (date: Date) => void;
44
+ day?: (date: Date) => void;
45
+ }`,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".'}}};const La={title:"Organisms/Calendar",component:se,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"}}},oe=["#4A90E2","#7ED321","#BD10E0","#F5B829","#FF6B6B","#4ECDC4","#7C6FBF"],re=["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"],$e=["meeting","task","review","deadline"],W=(m,r=0)=>`${m.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`,_a=m=>{let r=m;return()=>{r|=0,r=r+1831565813|0;let s=Math.imul(r^r>>>15,1|r);return s=s+Math.imul(s^s>>>7,61|s)^s,((s^s>>>14)>>>0)/4294967296}},pe=(m=42)=>{const r=_a(m),s=new Date,u=[];for(let c=0;c<28;c++){const w=new Date(s);w.setDate(s.getDate()+Math.floor(r()*30)-15);const p=8+Math.floor(r()*10),v=r()>.5?0:30;u.push({id:`m-${c}`,title:re[c%re.length],date:w,time:r()>.35?W(p,v):void 0,type:$e[Math.floor(r()*$e.length)],status:r()>.75?"completed":"pending",color:oe[c%oe.length],textColor:"#ffffff"})}return u},ka=()=>{const m=new Date,r=(s,u=0)=>{const c=new Date(m);return c.setHours(s,u,0,0),c};return[{id:"ad-1",title:"Offsite — Q2 planning",date:r(0),allDay:!0,color:"#7C6FBF",textColor:"#ffffff"},{id:"d-1",title:"Morning standup",date:r(9),time:"09:00",endTime:"09:30",status:"completed",color:"#4A90E2",textColor:"#ffffff"},{id:"d-2",title:"Deep work: refactor auth",date:r(10),time:"10:00",endTime:"12:00",color:"#F5B829",textColor:"#1a1a1a"},{id:"d-3",title:"Lunch with Ava",date:r(12,30),time:"12:30",endTime:"13:30",color:"#4ECDC4",textColor:"#1a1a1a"},{id:"d-4",title:"1:1 with manager",date:r(14),time:"14:00",endTime:"14:30",color:"#BD10E0",textColor:"#ffffff"},{id:"d-5",title:"Design review",date:r(15),time:"15:00",endTime:"16:30",color:"#FF6B6B",textColor:"#ffffff"},{id:"d-6",title:"Write weekly summary",date:r(17,30),time:"17:30",endTime:"18:00",color:"#10b981",textColor:"#ffffff"}]},Sa=m=>{const r={meeting:"👥",task:"✓",review:"👀",deadline:"⏰"};return e.jsx("span",{style:{fontSize:11},children:r[m.type??""]??"📅"})},_e={args:{events:pe(),viewMode:"month",config:{mondayStart:!0,maxEventsPerDay:3,iconRenderer:Sa}},render:m=>{const[r,s]=N.useState(m.events??[]);return e.jsx(se,{...m,events:r,onEventClick:u=>{s(c=>c.map(w=>w.id===u.id?{...w,status:w.status==="completed"?"pending":"completed"}:w))},onDateClick:u=>{s(c=>[...c,{id:`new-${Date.now()}`,title:"New event",date:u,time:"15:00",type:"task",status:"pending",color:"#6366f1",textColor:"#ffffff"}])}})}},ke={args:{events:[],viewMode:"week",config:{mondayStart:!0,startHour:7,endHour:22,hourHeight:56,halfHourSlots:!0}},render:m=>{const r=new Date,s=(r.getDay()+6)%7,u=new Date(r);u.setDate(r.getDate()-s),u.setHours(0,0,0,0);const c=[];for(let v=0;v<7;v++){const f=new Date(u);f.setDate(u.getDate()+v);const _=v*2%3+1;for(let D=0;D<_;D++){const T=9+D*3+v%2;c.push({id:`w-${v}-${D}`,title:re[(v*3+D)%re.length],date:new Date(f),time:W(T,D%2===0?0:30),endTime:W(T+1,D%2===0?0:30),color:oe[(v+D)%oe.length],textColor:"#ffffff"})}}const[w,p]=N.useState(c);return e.jsx(se,{...m,events:w,onTimeSlotClick:(v,f,_)=>{const D=Math.min(23,v.getHours()+1);p(T=>[...T,{id:`new-${Date.now()}`,title:`New @ ${_}`,date:v,time:_,endTime:W(D,v.getMinutes()),color:"#6366f1",textColor:"#ffffff"}])},onEventComplete:v=>p(f=>f.map(_=>_.id===v.id?{..._,status:_.status==="completed"?"pending":"completed"}:_)),onEventDelete:v=>p(f=>f.filter(_=>_.id!==v.id)),onEventDrop:(v,f)=>{p(_=>_.map(D=>{if(D.id!==v.id)return D;const T=new Date(D.date),j=f.getTime()-T.getTime(),I=(()=>{if(!D.endTime||!D.time)return D.endTime;const[M,K]=D.endTime.split(":").map(Number),O=new Date(T);O.setHours(M,K,0,0);const Z=new Date(O.getTime()+j);return W(Z.getHours(),Z.getMinutes())})();return{...D,date:f,time:W(f.getHours(),f.getMinutes()),endTime:I}}))}})}},Se={args:{events:[],viewMode:"day",config:{startHour:6,endHour:24,hourHeight:72,halfHourSlots:!0,mondayStart:!0}},render:m=>{const[r,s]=N.useState(ka());return e.jsx(se,{...m,events:r,onTimeSlotClick:(u,c,w)=>{const p=Math.min(23,u.getHours()+1);s(v=>[...v,{id:`new-${Date.now()}`,title:`New @ ${w}`,date:u,time:w,endTime:W(p,u.getMinutes()),color:"#6366f1",textColor:"#ffffff"}])},onEventComplete:u=>s(c=>c.map(w=>w.id===u.id?{...w,status:w.status==="completed"?"pending":"completed"}:w)),onEventDelete:u=>s(c=>c.filter(w=>w.id!==u.id)),onEventEdit:u=>{const c=window.prompt("Rename event",u.title);c&&s(w=>w.map(p=>p.id===u.id?{...p,title:c}:p))},onEventDrop:(u,c)=>{s(w=>w.map(p=>{if(p.id!==u.id)return p;const v=new Date(p.date),f=c.getTime()-v.getTime(),_=(()=>{if(!p.endTime||!p.time)return p.endTime;const[D,T]=p.endTime.split(":").map(Number),j=new Date(v);j.setHours(D,T,0,0);const I=new Date(j.getTime()+f);return W(I.getHours(),I.getMinutes())})();return{...p,date:c,time:W(c.getHours(),c.getMinutes()),endTime:_}}))}})}},Ce={args:{events:pe(1),viewMode:"month",compact:!0,config:{mondayStart:!0,maxEventsPerDay:4},style:{maxWidth:420}}},xe={args:{events:pe(3),viewMode:"month",config:{mondayStart:!0,showWeekNumbers:!0,maxEventsPerDay:3}}},Te={args:{events:(()=>{const m=new Date;return Array.from({length:9},(r,s)=>({id:`over-${s}`,title:re[s%re.length],date:new Date(m),time:W(8+s),type:$e[s%$e.length],color:oe[s%oe.length],textColor:"#ffffff"}))})(),viewMode:"month",config:{mondayStart:!0,maxEventsPerDay:3}}},Ee={args:{events:[],loading:!0}},be={args:{events:[],viewMode:"month",config:{mondayStart:!0},emptyState:e.jsx("span",{style:{color:"var(--color-text-tertiary)",fontSize:11},children:"No events"})}},Ne={args:{events:pe(11).map((r,s)=>({...r,category:s%3===0?"work":s%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"}]}}},je={args:{events:[]},render:()=>{const[m,r]=N.useState(new Date),s=N.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:m.toLocaleDateString()})]}),e.jsx(se,{events:s,viewMode:"month",selectedDate:m,onDateClick:r,config:{mondayStart:!0,maxEventsPerDay:3}})]})}};var Ke,Ze,et;_e.parameters={..._e.parameters,docs:{...(Ke=_e.parameters)==null?void 0:Ke.docs,source:{originalSource:`{
46
+ args: {
47
+ events: buildMonthEvents(),
48
+ viewMode: 'month',
49
+ config: {
50
+ mondayStart: true,
51
+ maxEventsPerDay: 3,
52
+ iconRenderer: iconForType
53
+ }
54
+ },
55
+ render: args => {
56
+ const [events, setEvents] = useState<CalendarEvent[]>(args.events ?? []);
57
+ return <Calendar {...args} events={events} onEventClick={e => {
58
+ setEvents(prev => prev.map(ev => ev.id === e.id ? {
59
+ ...ev,
60
+ status: ev.status === 'completed' ? 'pending' : 'completed'
61
+ } : ev));
62
+ }} onDateClick={date => {
63
+ setEvents(prev => [...prev, {
64
+ id: \`new-\${Date.now()}\`,
65
+ title: 'New event',
66
+ date,
67
+ time: '15:00',
68
+ type: 'task',
69
+ status: 'pending',
70
+ color: '#6366f1',
71
+ textColor: '#ffffff'
72
+ }]);
73
+ }} />;
74
+ }
75
+ }`,...(et=(Ze=_e.parameters)==null?void 0:Ze.docs)==null?void 0:et.source}}};var tt,nt,at;ke.parameters={...ke.parameters,docs:{...(tt=ke.parameters)==null?void 0:tt.docs,source:{originalSource:`{
76
+ args: {
77
+ events: [],
78
+ viewMode: 'week',
79
+ config: {
80
+ mondayStart: true,
81
+ startHour: 7,
82
+ endHour: 22,
83
+ hourHeight: 56,
84
+ halfHourSlots: true
85
+ }
86
+ },
87
+ render: args => {
88
+ // Build 7 days of timed events around "today" so drag has neighbours to land on
89
+ const today = new Date();
90
+ const mondayOffset = (today.getDay() + 6) % 7;
91
+ const weekStart = new Date(today);
92
+ weekStart.setDate(today.getDate() - mondayOffset);
93
+ weekStart.setHours(0, 0, 0, 0);
94
+ const initial: CalendarEvent[] = [];
95
+ for (let i = 0; i < 7; i++) {
96
+ const d = new Date(weekStart);
97
+ d.setDate(weekStart.getDate() + i);
98
+ const count = i * 2 % 3 + 1;
99
+ for (let j = 0; j < count; j++) {
100
+ const startH = 9 + j * 3 + i % 2;
101
+ initial.push({
102
+ id: \`w-\${i}-\${j}\`,
103
+ title: TITLES[(i * 3 + j) % TITLES.length],
104
+ date: new Date(d),
105
+ time: hhmm(startH, j % 2 === 0 ? 0 : 30),
106
+ endTime: hhmm(startH + 1, j % 2 === 0 ? 0 : 30),
107
+ color: PALETTE[(i + j) % PALETTE.length],
108
+ textColor: '#ffffff'
109
+ });
110
+ }
111
+ }
112
+ const [events, setEvents] = useState<CalendarEvent[]>(initial);
113
+ return <Calendar {...args} events={events} onTimeSlotClick={(date, _h, time) => {
114
+ const endH = Math.min(23, date.getHours() + 1);
115
+ setEvents(prev => [...prev, {
116
+ id: \`new-\${Date.now()}\`,
117
+ title: \`New @ \${time}\`,
118
+ date,
119
+ time,
120
+ endTime: hhmm(endH, date.getMinutes()),
121
+ color: '#6366f1',
122
+ textColor: '#ffffff'
123
+ }]);
124
+ }} onEventComplete={e => setEvents(prev => prev.map(ev => ev.id === e.id ? {
125
+ ...ev,
126
+ status: ev.status === 'completed' ? 'pending' : 'completed'
127
+ } : ev))} onEventDelete={e => setEvents(prev => prev.filter(ev => ev.id !== e.id))} onEventDrop={(e, newDate) => {
128
+ setEvents(prev => prev.map(ev => {
129
+ if (ev.id !== e.id) return ev;
130
+ const oldStart = new Date(ev.date);
131
+ const deltaMs = newDate.getTime() - oldStart.getTime();
132
+ const nextEndTime = (() => {
133
+ if (!ev.endTime || !ev.time) return ev.endTime;
134
+ const [oh, om] = ev.endTime.split(':').map(Number);
135
+ const endOld = new Date(oldStart);
136
+ endOld.setHours(oh, om, 0, 0);
137
+ const endNew = new Date(endOld.getTime() + deltaMs);
138
+ return hhmm(endNew.getHours(), endNew.getMinutes());
139
+ })();
140
+ return {
141
+ ...ev,
142
+ date: newDate,
143
+ time: hhmm(newDate.getHours(), newDate.getMinutes()),
144
+ endTime: nextEndTime
145
+ };
146
+ }));
147
+ }} />;
148
+ }
149
+ }`,...(at=(nt=ke.parameters)==null?void 0:nt.docs)==null?void 0:at.source}}};var ot,rt,st;Se.parameters={...Se.parameters,docs:{...(ot=Se.parameters)==null?void 0:ot.docs,source:{originalSource:`{
150
+ args: {
151
+ events: [],
152
+ viewMode: 'day',
153
+ config: {
154
+ startHour: 6,
155
+ endHour: 24,
156
+ hourHeight: 72,
157
+ halfHourSlots: true,
158
+ mondayStart: true
159
+ }
160
+ },
161
+ render: args => {
162
+ const [events, setEvents] = useState<CalendarEvent[]>(buildDayEvents());
163
+ return <Calendar {...args} events={events} onTimeSlotClick={(date, _h, time) => {
164
+ const endH = Math.min(23, date.getHours() + 1);
165
+ setEvents(prev => [...prev, {
166
+ id: \`new-\${Date.now()}\`,
167
+ title: \`New @ \${time}\`,
168
+ date,
169
+ time,
170
+ endTime: hhmm(endH, date.getMinutes()),
171
+ color: '#6366f1',
172
+ textColor: '#ffffff'
173
+ }]);
174
+ }} onEventComplete={e => setEvents(prev => prev.map(ev => ev.id === e.id ? {
175
+ ...ev,
176
+ status: ev.status === 'completed' ? 'pending' : 'completed'
177
+ } : ev))} onEventDelete={e => setEvents(prev => prev.filter(ev => ev.id !== e.id))} onEventEdit={e => {
178
+ const next = window.prompt('Rename event', e.title);
179
+ if (!next) return;
180
+ setEvents(prev => prev.map(ev => ev.id === e.id ? {
181
+ ...ev,
182
+ title: next
183
+ } : ev));
184
+ }} onEventDrop={(e, newDate) => {
185
+ setEvents(prev => prev.map(ev => {
186
+ if (ev.id !== e.id) return ev;
187
+ const oldStart = new Date(ev.date);
188
+ const deltaMs = newDate.getTime() - oldStart.getTime();
189
+ const nextEndTime = (() => {
190
+ if (!ev.endTime || !ev.time) return ev.endTime;
191
+ const [oh, om] = ev.endTime.split(':').map(Number);
192
+ const endOld = new Date(oldStart);
193
+ endOld.setHours(oh, om, 0, 0);
194
+ const endNew = new Date(endOld.getTime() + deltaMs);
195
+ return hhmm(endNew.getHours(), endNew.getMinutes());
196
+ })();
197
+ return {
198
+ ...ev,
199
+ date: newDate,
200
+ time: hhmm(newDate.getHours(), newDate.getMinutes()),
201
+ endTime: nextEndTime
202
+ };
203
+ }));
204
+ }} />;
205
+ }
206
+ }`,...(st=(rt=Se.parameters)==null?void 0:rt.docs)==null?void 0:st.source}}};var it,lt,ct;Ce.parameters={...Ce.parameters,docs:{...(it=Ce.parameters)==null?void 0:it.docs,source:{originalSource:`{
207
+ args: {
208
+ events: buildMonthEvents(1),
209
+ viewMode: 'month',
210
+ compact: true,
211
+ config: {
212
+ mondayStart: true,
213
+ maxEventsPerDay: 4
214
+ },
215
+ style: {
216
+ maxWidth: 420
217
+ }
218
+ }
219
+ }`,...(ct=(lt=Ce.parameters)==null?void 0:lt.docs)==null?void 0:ct.source}}};var dt,mt,ut;xe.parameters={...xe.parameters,docs:{...(dt=xe.parameters)==null?void 0:dt.docs,source:{originalSource:`{
220
+ args: {
221
+ events: buildMonthEvents(3),
222
+ viewMode: 'month',
223
+ config: {
224
+ mondayStart: true,
225
+ showWeekNumbers: true,
226
+ maxEventsPerDay: 3
227
+ }
228
+ }
229
+ }`,...(ut=(mt=xe.parameters)==null?void 0:mt.docs)==null?void 0:ut.source}}};var pt,gt,wt;Te.parameters={...Te.parameters,docs:{...(pt=Te.parameters)==null?void 0:pt.docs,source:{originalSource:`{
230
+ args: {
231
+ events: (() => {
232
+ const today = new Date();
233
+ return Array.from({
234
+ length: 9
235
+ }, (_, i) => ({
236
+ id: \`over-\${i}\`,
237
+ title: TITLES[i % TITLES.length],
238
+ date: new Date(today),
239
+ time: hhmm(8 + i),
240
+ type: TYPES[i % TYPES.length],
241
+ color: PALETTE[i % PALETTE.length],
242
+ textColor: '#ffffff'
243
+ }));
244
+ })(),
245
+ viewMode: 'month',
246
+ config: {
247
+ mondayStart: true,
248
+ maxEventsPerDay: 3
249
+ }
250
+ }
251
+ }`,...(wt=(gt=Te.parameters)==null?void 0:gt.docs)==null?void 0:wt.source}}};var vt,yt,ht;Ee.parameters={...Ee.parameters,docs:{...(vt=Ee.parameters)==null?void 0:vt.docs,source:{originalSource:`{
252
+ args: {
253
+ events: [],
254
+ loading: true
255
+ }
256
+ }`,...(ht=(yt=Ee.parameters)==null?void 0:yt.docs)==null?void 0:ht.source}}};var ft,Dt,_t;be.parameters={...be.parameters,docs:{...(ft=be.parameters)==null?void 0:ft.docs,source:{originalSource:`{
257
+ args: {
258
+ events: [],
259
+ viewMode: 'month',
260
+ config: {
261
+ mondayStart: true
262
+ },
263
+ emptyState: <span style={{
264
+ color: 'var(--color-text-tertiary)',
265
+ fontSize: 11
266
+ }}>
267
+ No events
268
+ </span>
269
+ }
270
+ }`,...(_t=(Dt=be.parameters)==null?void 0:Dt.docs)==null?void 0:_t.source}}};var kt,St,Ct;Ne.parameters={...Ne.parameters,docs:{...(kt=Ne.parameters)==null?void 0:kt.docs,source:{originalSource:`{
271
+ args: {
272
+ events: (() => {
273
+ const base = buildMonthEvents(11);
274
+ return base.map((e, i) => ({
275
+ ...e,
276
+ category: i % 3 === 0 ? 'work' : i % 3 === 1 ? 'life' : 'side'
277
+ }));
278
+ })(),
279
+ viewMode: 'month',
280
+ config: {
281
+ mondayStart: true,
282
+ maxEventsPerDay: 3,
283
+ categories: [{
284
+ id: 'life',
285
+ label: 'Life',
286
+ color: '#F5B829'
287
+ }, {
288
+ id: 'work',
289
+ label: 'Work',
290
+ color: '#7C6FBF'
291
+ }, {
292
+ id: 'side',
293
+ label: 'Side projects',
294
+ color: '#4ECDC4'
295
+ }]
296
+ }
297
+ }
298
+ }`,...(Ct=(St=Ne.parameters)==null?void 0:St.docs)==null?void 0:Ct.source}}};var xt,Tt,Et;je.parameters={...je.parameters,docs:{...(xt=je.parameters)==null?void 0:xt.docs,source:{originalSource:`{
299
+ args: {
300
+ events: []
301
+ },
302
+ render: () => {
303
+ const [selected, setSelected] = useState(new Date());
304
+ const events = useMemo(() => buildMonthEvents(9), []);
305
+ return <div style={{
306
+ display: 'grid',
307
+ gap: 'var(--spacing-md)'
308
+ }}>
309
+ <div style={{
310
+ fontSize: 'var(--font-size-sm)',
311
+ color: 'var(--color-text-secondary)'
312
+ }}>
313
+ Selected: <strong>{selected.toLocaleDateString()}</strong>
314
+ </div>
315
+ <Calendar events={events} viewMode="month" selectedDate={selected} onDateClick={setSelected} config={{
316
+ mondayStart: true,
317
+ maxEventsPerDay: 3
318
+ }} />
319
+ </div>;
320
+ }
321
+ }`,...(Et=(Tt=je.parameters)==null?void 0:Tt.docs)==null?void 0:Et.source}}};const Ia=["Default","WeekView","DayView","CompactMonth","WithWeekNumbers","OverflowDay","Loading","Empty","WithCategoryFilter","ControlledSelection"];export{Ce as CompactMonth,je as ControlledSelection,Se as DayView,_e as Default,be as Empty,Ee as Loading,Te as OverflowDay,ke as WeekView,Ne as WithCategoryFilter,xe as WithWeekNumbers,Ia as __namedExportsOrder,La as default};