@stfrigerio/sito-template 0.1.80 → 0.1.82

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 (184) hide show
  1. package/dist/components/atoms/Modal/Modal.d.ts +4 -38
  2. package/dist/components/atoms/Modal/Modal.d.ts.map +1 -1
  3. package/dist/components/organisms/charts/HabitTimeOfDayChart/HabitTimeOfDayChart.d.ts.map +1 -1
  4. package/dist/index.esm.js +106 -51
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/index.js +105 -50
  7. package/dist/index.js.map +1 -1
  8. package/dist/styles.css +1 -1
  9. package/dist/styles.css.map +1 -1
  10. package/package.json +1 -1
  11. package/storybook-static/assets/{ASCIIText.stories-CdJFsDcm.js → ASCIIText.stories-Chq2wqt4.js} +1 -1
  12. package/storybook-static/assets/{AllAtoms.stories-vADuLoia.js → AllAtoms.stories-DLznfaZg.js} +1 -1
  13. package/storybook-static/assets/{AnimatedContent.stories-ewE7Jlyl.js → AnimatedContent.stories-Ch4mKkA0.js} +1 -1
  14. package/storybook-static/assets/{AnimatedList.stories-CmT-fxZO.js → AnimatedList.stories-C6Vz0FCT.js} +1 -1
  15. package/storybook-static/assets/{Antigravity.stories-Bx-RRn4g.js → Antigravity.stories-BDqw3T6I.js} +1 -1
  16. package/storybook-static/assets/{ArrayInput.stories-H4cLlULb.js → ArrayInput.stories-BbjRW9g9.js} +1 -1
  17. package/storybook-static/assets/{Aurora.stories-CiKEkok2.js → Aurora.stories-DCWdNHLP.js} +1 -1
  18. package/storybook-static/assets/{Beams.stories-CGfOm4ei.js → Beams.stories-uVFJtZZC.js} +1 -1
  19. package/storybook-static/assets/{BlobCursor.stories-DiyecFOA.js → BlobCursor.stories-u-IiCtXC.js} +1 -1
  20. package/storybook-static/assets/{BlurText.stories-C8Bnk1EX.js → BlurText.stories-Dmjy33IC.js} +1 -1
  21. package/storybook-static/assets/{BooleansHeatmap.stories-DI-Borh4.js → BooleansHeatmap.stories-DD7qJ3qg.js} +1 -1
  22. package/storybook-static/assets/{BorderGlow.stories-DKuCmhDT.js → BorderGlow.stories-BxQiDlqs.js} +1 -1
  23. package/storybook-static/assets/{BubbleMenu.stories-Nuwlv60z.js → BubbleMenu.stories-G-Z2RWyT.js} +1 -1
  24. package/storybook-static/assets/{Button-BH8v2e05.js → Button-BEROGzCk.js} +1 -1
  25. package/storybook-static/assets/{Button.stories-CL91avj4.js → Button.stories-D33FxSNS.js} +1 -1
  26. package/storybook-static/assets/{Calendar.stories-DL-qPwAm.js → Calendar.stories-CG7X8qkI.js} +1 -1
  27. package/storybook-static/assets/{Card-CYbXBupP.js → Card-fcdM6HLu.js} +1 -1
  28. package/storybook-static/assets/{Card.stories-CLdKZH7w.js → Card.stories-DfbXQjWb.js} +1 -1
  29. package/storybook-static/assets/{CardNav.stories-Bkq2eiuC.js → CardNav.stories-6RzSwzWw.js} +1 -1
  30. package/storybook-static/assets/{Carousel.stories-CgYPp8N9.js → Carousel.stories-CspEI8EG.js} +1 -1
  31. package/storybook-static/assets/{Checkbox-C2Ftcw-B.js → Checkbox-By_9yb5V.js} +1 -1
  32. package/storybook-static/assets/{Checkbox.stories-D0G0xUmz.js → Checkbox.stories-CnNyL3UU.js} +1 -1
  33. package/storybook-static/assets/{ChromaGrid.stories-CgLxe4qI.js → ChromaGrid.stories-Cn7o01d6.js} +1 -1
  34. package/storybook-static/assets/{CircularGallery.stories-DCbGVf2c.js → CircularGallery.stories-cwObn-26.js} +1 -1
  35. package/storybook-static/assets/{CircularText.stories-Bmq7ZqfC.js → CircularText.stories-DhQc2-_y.js} +1 -1
  36. package/storybook-static/assets/{ClickSpark.stories-Dc7lLvwJ.js → ClickSpark.stories-CLdNWnu7.js} +1 -1
  37. package/storybook-static/assets/{ColorBends.stories-BWy7DYaP.js → ColorBends.stories-lblPWvB6.js} +1 -1
  38. package/storybook-static/assets/{CountUp.stories-CrEdXn4r.js → CountUp.stories-BBSkd7rN.js} +1 -1
  39. package/storybook-static/assets/{Counter.stories-xbB_rpHK.js → Counter.stories-DGIDnd_M.js} +1 -1
  40. package/storybook-static/assets/{Crosshair.stories-jb2KMdHU.js → Crosshair.stories-BxZkxORC.js} +1 -1
  41. package/storybook-static/assets/{Cubes.stories-VWgsinzf.js → Cubes.stories-Cq0z_fjM.js} +1 -1
  42. package/storybook-static/assets/{CurvedLoop.stories-D4vzwgej.js → CurvedLoop.stories-pv3XzsFk.js} +1 -1
  43. package/storybook-static/assets/{DarkVeil.stories-nCCiwzbM.js → DarkVeil.stories-BolNyRBQ.js} +1 -1
  44. package/storybook-static/assets/{DateInput-CC15k4Vf.js → DateInput-1tmPJAdU.js} +1 -1
  45. package/storybook-static/assets/{DateInput.stories-B43zuCJK.js → DateInput.stories-XGj6lck2.js} +1 -1
  46. package/storybook-static/assets/{DecayCard.stories-pvJh7W64.js → DecayCard.stories-KfZrqHpt.js} +1 -1
  47. package/storybook-static/assets/{DecryptedText.stories-B1QFF8s1.js → DecryptedText.stories-kNQDPyZk.js} +1 -1
  48. package/storybook-static/assets/{Dither.stories-pq4xjpKd.js → Dither.stories-Cs8nVlE2.js} +1 -1
  49. package/storybook-static/assets/{Dock.stories-ihFTr5C5.js → Dock.stories-BFNMe7xq.js} +1 -1
  50. package/storybook-static/assets/{EditFAB.stories-Bs-9cRhd.js → EditFAB.stories-20q5YrbB.js} +1 -1
  51. package/storybook-static/assets/{EvilEye.stories-BWXnq24Y.js → EvilEye.stories-BnrzxIfd.js} +1 -1
  52. package/storybook-static/assets/{FadeContent.stories-pXTU-JIQ.js → FadeContent.stories-B2Vg7NtY.js} +1 -1
  53. package/storybook-static/assets/{FaultyTerminal.stories-BeQm-159.js → FaultyTerminal.stories-C5NnbXoc.js} +1 -1
  54. package/storybook-static/assets/{Fbo-VC2TXL_C.js → Fbo-B1ly9qOC.js} +1 -1
  55. package/storybook-static/assets/{FloatingLines.stories-XxLhow2j.js → FloatingLines.stories-D1QGzub9.js} +1 -1
  56. package/storybook-static/assets/{FlowingMenu.stories-CqZrs3Uu.js → FlowingMenu.stories-BAxs_ywo.js} +1 -1
  57. package/storybook-static/assets/{FluidGlass.stories-Drau1tiq.js → FluidGlass.stories-B3lxcmL1.js} +1 -1
  58. package/storybook-static/assets/{Folder.stories-CjgFkSND.js → Folder.stories-CUfwhATp.js} +1 -1
  59. package/storybook-static/assets/{FuzzyText.stories-Br4WpF-A.js → FuzzyText.stories-DI8R2peb.js} +1 -1
  60. package/storybook-static/assets/{Galaxy.stories-Crx5J_uS.js → Galaxy.stories-oz93vAik.js} +1 -1
  61. package/storybook-static/assets/{GhostCursor.stories-D0dTI4u7.js → GhostCursor.stories-B1IB369c.js} +1 -1
  62. package/storybook-static/assets/{GlareHover.stories-BqC9e1Hb.js → GlareHover.stories-DviHg4L1.js} +1 -1
  63. package/storybook-static/assets/{GlassSurface.stories-DZ024TSe.js → GlassSurface.stories-B2sESgaw.js} +1 -1
  64. package/storybook-static/assets/{GlitchText.stories-jFj-BUKV.js → GlitchText.stories-BuqkMtNy.js} +1 -1
  65. package/storybook-static/assets/{GooeyNav.stories-CEqhFiE8.js → GooeyNav.stories-D4grnYLS.js} +1 -1
  66. package/storybook-static/assets/{GradientBlinds.stories-CW5kpxYL.js → GradientBlinds.stories-DwGQO5rS.js} +1 -1
  67. package/storybook-static/assets/{GradientText.stories-DbHZi99L.js → GradientText.stories-BdLz2dro.js} +1 -1
  68. package/storybook-static/assets/{Grainient.stories-Cly0yjqz.js → Grainient.stories-BxMWusJr.js} +1 -1
  69. package/storybook-static/assets/{GridMotion.stories-Dv4czKOY.js → GridMotion.stories-B-LmxPAj.js} +1 -1
  70. package/storybook-static/assets/HabitTimeOfDayChart.stories-DodVI5KS.js +44 -0
  71. package/storybook-static/assets/{ImageSlideshow.stories-AfRCXiFL.js → ImageSlideshow.stories-51QNKTUQ.js} +1 -1
  72. package/storybook-static/assets/{Iridescence.stories-BMZkeDOP.js → Iridescence.stories-Bs2nLYXu.js} +1 -1
  73. package/storybook-static/assets/{LaserFlow.stories-Cjl7kx8X.js → LaserFlow.stories-BdRELLoY.js} +1 -1
  74. package/storybook-static/assets/{LetterGlitch.stories-CDDQYcx4.js → LetterGlitch.stories-BG6-IYnT.js} +1 -1
  75. package/storybook-static/assets/{LightPillar.stories-DVy-RN5g.js → LightPillar.stories-CtZ9TDUP.js} +1 -1
  76. package/storybook-static/assets/{LightRays.stories-B016QOBy.js → LightRays.stories-CaDyyeib.js} +1 -1
  77. package/storybook-static/assets/{Lightning.stories-Dzy1oJF2.js → Lightning.stories-B9QATAFy.js} +1 -1
  78. package/storybook-static/assets/{LineWaves.stories-BydARhov.js → LineWaves.stories-CiUIInmC.js} +1 -1
  79. package/storybook-static/assets/{LiquidChrome.stories-B9ZZjYRF.js → LiquidChrome.stories-DsyezGpV.js} +1 -1
  80. package/storybook-static/assets/{LiquidEther.stories-BkDJmjtE.js → LiquidEther.stories-Dg8WYwre.js} +1 -1
  81. package/storybook-static/assets/{LoadingSpinner-DcwTWgcV.js → LoadingSpinner-1USgqYdn.js} +1 -1
  82. package/storybook-static/assets/{LoadingSpinner.stories-Dnj2jism.js → LoadingSpinner.stories-Cd-KbND6.js} +1 -1
  83. package/storybook-static/assets/{MagicRings.stories-BaCliiKo.js → MagicRings.stories-CTNnBnJI.js} +1 -1
  84. package/storybook-static/assets/{Magnet.stories-B11_Eo8J.js → Magnet.stories-ch36PRNC.js} +1 -1
  85. package/storybook-static/assets/{MagnetLines.stories-Qt6rC6j8.js → MagnetLines.stories-ChB1r2tY.js} +1 -1
  86. package/storybook-static/assets/{Masonry.stories-1Zd-qIAf.js → Masonry.stories-CBOzxvk7.js} +1 -1
  87. package/storybook-static/assets/{MetaBalls.stories-BMw12NVI.js → MetaBalls.stories-dWlz4Ds5.js} +1 -1
  88. package/storybook-static/assets/{MetallicPaint.stories-DK_MQecd.js → MetallicPaint.stories-CcxSOjEN.js} +1 -1
  89. package/storybook-static/assets/{MoodChart.stories-BWVcU_OW.js → MoodChart.stories-BgsUY46X.js} +1 -1
  90. package/storybook-static/assets/{MotionConfigContext-WWx21lsP.js → MotionConfigContext-8tx48NVJ.js} +1 -1
  91. package/storybook-static/assets/{Navbar.stories-DRsZCyOK.js → Navbar.stories-CO8mIGs3.js} +1 -1
  92. package/storybook-static/assets/{Noise.stories-CSagy7J1.js → Noise.stories-BXZ62aBv.js} +1 -1
  93. package/storybook-static/assets/{NumberStepper-DDKqilmB.js → NumberStepper-DpQK9rgt.js} +1 -1
  94. package/storybook-static/assets/{NumberStepper.stories-ta9bT43d.js → NumberStepper.stories-fdH_OESD.js} +1 -1
  95. package/storybook-static/assets/{Orb.stories-B27f_Mp5.js → Orb.stories-Q3Gvtt0O.js} +1 -1
  96. package/storybook-static/assets/{OrbitImages.stories-pbkZL0KD.js → OrbitImages.stories-DYKNJct4.js} +1 -1
  97. package/storybook-static/assets/{PieChart.stories-DXibmyag.js → PieChart.stories-DYhNCUc1.js} +1 -1
  98. package/storybook-static/assets/{PixelBlast.stories-Cd7ELIox.js → PixelBlast.stories-Dr_e2urO.js} +1 -1
  99. package/storybook-static/assets/{PixelCard.stories-QYg_f-kJ.js → PixelCard.stories-DYxagn6s.js} +1 -1
  100. package/storybook-static/assets/{PixelSnow.stories-Cr9QWIrr.js → PixelSnow.stories-CmFmFk80.js} +1 -1
  101. package/storybook-static/assets/{PixelTransition.stories-C-WOp_LR.js → PixelTransition.stories-DcLJrTvU.js} +1 -1
  102. package/storybook-static/assets/{Plasma.stories-VHAR1xeQ.js → Plasma.stories-DCPIsxfL.js} +1 -1
  103. package/storybook-static/assets/{Prism.stories-DeyjYz66.js → Prism.stories-BULB8fvL.js} +1 -1
  104. package/storybook-static/assets/{PrismaticBurst.stories-DvkfGTAr.js → PrismaticBurst.stories-BvmGa2kj.js} +1 -1
  105. package/storybook-static/assets/{ProfileCard.stories-CcPQg-Hv.js → ProfileCard.stories-Dvh4QFpO.js} +1 -1
  106. package/storybook-static/assets/{QuantifiableHabitsChart.stories-C6VWlFI0.js → QuantifiableHabitsChart.stories-BEu9suJJ.js} +1 -1
  107. package/storybook-static/assets/{Radar.stories--RY7R3OS.js → Radar.stories-NWjE9LdW.js} +1 -1
  108. package/storybook-static/assets/{Ribbons.stories-C7n9tx_g.js → Ribbons.stories-CLPqbKy0.js} +1 -1
  109. package/storybook-static/assets/{RippleGrid.stories-3RXapYiy.js → RippleGrid.stories-D0U4l21Z.js} +1 -1
  110. package/storybook-static/assets/{RotatingText.stories-Bt6WA6FO.js → RotatingText.stories-DY81NZLB.js} +1 -1
  111. package/storybook-static/assets/{ScrollFloat.stories-CWx8WGsN.js → ScrollFloat.stories-BhHzMWym.js} +1 -1
  112. package/storybook-static/assets/{ScrollReveal.stories-BVMnOHDG.js → ScrollReveal.stories-BCXWfFIW.js} +1 -1
  113. package/storybook-static/assets/{ScrollVelocity.stories-DbhM6LsV.js → ScrollVelocity.stories-CQxRZHee.js} +1 -1
  114. package/storybook-static/assets/{SearchBar.stories-Cr7ZECC_.js → SearchBar.stories-C-nnZWH1.js} +1 -1
  115. package/storybook-static/assets/{SearchableDropdown-B0i1ibfz.js → SearchableDropdown-BPoVONEr.js} +1 -1
  116. package/storybook-static/assets/{SearchableDropdown.stories-CONyMSzp.js → SearchableDropdown.stories-B2D6NBP8.js} +1 -1
  117. package/storybook-static/assets/{SelectInput-DM8VWb-H.js → SelectInput-CCLJ-HdU.js} +1 -1
  118. package/storybook-static/assets/{SelectInput.stories-DGlt60ll.js → SelectInput.stories-Dm8quSVP.js} +1 -1
  119. package/storybook-static/assets/{ShapeBlur.stories-Crbv5z82.js → ShapeBlur.stories-DvmwLZse.js} +1 -1
  120. package/storybook-static/assets/{ShapeGrid.stories-Dj_OezwO.js → ShapeGrid.stories-DlZ2iAx6.js} +1 -1
  121. package/storybook-static/assets/{ShinyText.stories-DJOeAHRl.js → ShinyText.stories-REqkvy1G.js} +1 -1
  122. package/storybook-static/assets/{Silk.stories-BCgvZrfN.js → Silk.stories-5LO-9cQL.js} +1 -1
  123. package/storybook-static/assets/{SleepChart.stories-ChSrLDUZ.js → SleepChart.stories-DJFdnHZ5.js} +1 -1
  124. package/storybook-static/assets/{Slider-BxUKJrvC.js → Slider-DEYrg76s.js} +1 -1
  125. package/storybook-static/assets/{Slider.stories-BIePmg36.js → Slider.stories-og2k40z1.js} +1 -1
  126. package/storybook-static/assets/{SoftAurora.stories-0Wf3E-ut.js → SoftAurora.stories-U4EPU95S.js} +1 -1
  127. package/storybook-static/assets/{SoundDemo.stories-Bfcl6O8Y.js → SoundDemo.stories-J78qNGXU.js} +1 -1
  128. package/storybook-static/assets/{SplashCursor.stories-BHfxyWxe.js → SplashCursor.stories-BO2m4Pud.js} +1 -1
  129. package/storybook-static/assets/{SpotlightCard.stories-BN6lbioi.js → SpotlightCard.stories-DQnH0jiS.js} +1 -1
  130. package/storybook-static/assets/{Stack.stories-C8h__4aO.js → Stack.stories-2oDvjh2Y.js} +1 -1
  131. package/storybook-static/assets/{StaggeredMenu.stories-n0x61Yxa.js → StaggeredMenu.stories-DeF6_l-v.js} +1 -1
  132. package/storybook-static/assets/{StarBorder.stories-CklXh7Cs.js → StarBorder.stories-DnuxceeK.js} +1 -1
  133. package/storybook-static/assets/{SunburstChart.stories-BZAojE_q.js → SunburstChart.stories-ByAmDMXC.js} +1 -1
  134. package/storybook-static/assets/{Table.stories-DN7ZPpOO.js → Table.stories-BM_-AQKA.js} +1 -1
  135. package/storybook-static/assets/{Tabs.stories-D8ioATag.js → Tabs.stories-Be9D-sgf.js} +1 -1
  136. package/storybook-static/assets/{TargetCursor.stories-BVY9PBXD.js → TargetCursor.stories-BwoTGxBB.js} +1 -1
  137. package/storybook-static/assets/{TextArea-B91mTJ1S.js → TextArea-DQqwBKxS.js} +1 -1
  138. package/storybook-static/assets/{TextArea.stories-BplQM96a.js → TextArea.stories-CfvGGw99.js} +1 -1
  139. package/storybook-static/assets/{TextCursor.stories-B9jN3Zaz.js → TextCursor.stories-CUs-V-I-.js} +1 -1
  140. package/storybook-static/assets/{TextInput-gkuohvRv.js → TextInput-QkZkrLUf.js} +1 -1
  141. package/storybook-static/assets/{TextInput.stories-DpR0x8bn.js → TextInput.stories-BpmAMtlW.js} +1 -1
  142. package/storybook-static/assets/{TextPressure.stories-BacTH6b1.js → TextPressure.stories-B3caXuKV.js} +1 -1
  143. package/storybook-static/assets/{TextType.stories-lI_4US1N.js → TextType.stories-DNL8zjaf.js} +1 -1
  144. package/storybook-static/assets/{ThemeSwitcher.stories-CMRpdYba.js → ThemeSwitcher.stories-CDu0XAN-.js} +1 -1
  145. package/storybook-static/assets/{Threads.stories-DClx4xSn.js → Threads.stories-Crft2hna.js} +1 -1
  146. package/storybook-static/assets/{TimeInput.stories-D4aYn8hp.js → TimeInput.stories-xpl2uzTO.js} +1 -1
  147. package/storybook-static/assets/{Toggle-zzEIyGsL.js → Toggle-Bk1MAq01.js} +1 -1
  148. package/storybook-static/assets/{Toggle.stories-vK7n9Pn5.js → Toggle.stories-BzphoQYN.js} +1 -1
  149. package/storybook-static/assets/{ToggleButton-DNTCrVXy.js → ToggleButton-Dq5MZ2JT.js} +1 -1
  150. package/storybook-static/assets/{ToggleButton.stories-DwRnggIQ.js → ToggleButton.stories-CkvKN5T3.js} +1 -1
  151. package/storybook-static/assets/{TrueFocus.stories-D8oCteJV.js → TrueFocus.stories-D-GIGe3p.js} +1 -1
  152. package/storybook-static/assets/{VariableProximity.stories-BbgYWC7t.js → VariableProximity.stories-CGRj0AaF.js} +1 -1
  153. package/storybook-static/assets/{Waves.stories-5UKDofeV.js → Waves.stories-D7MCXF3v.js} +1 -1
  154. package/storybook-static/assets/{check-BxYPpesN.js → check-CqecRFgk.js} +1 -1
  155. package/storybook-static/assets/{chevron-down-B8zdRhXt.js → chevron-down-Diw32xyH.js} +1 -1
  156. package/storybook-static/assets/{chevron-right-DbZQawrO.js → chevron-right-BbMxok5Z.js} +1 -1
  157. package/storybook-static/assets/client-btLso6m5.js +1 -0
  158. package/storybook-static/assets/{createLucideIcon-DzdQJ9zJ.js → createLucideIcon-CLKNpMFx.js} +1 -1
  159. package/storybook-static/assets/{download-CH9m89_W.js → download-wAxlpNrd.js} +1 -1
  160. package/storybook-static/assets/{folder-CkfgXDdN.js → folder-BNDVJFto.js} +1 -1
  161. package/storybook-static/assets/{iconBase-DbnMJ-eQ.js → iconBase-0L4wR9Gc.js} +1 -1
  162. package/storybook-static/assets/{iframe-B6jx7rwj.js → iframe-h2tL8CDC.js} +3 -3
  163. package/storybook-static/assets/{index-DSxCFvRi.js → index--LmV1k19.js} +1 -1
  164. package/storybook-static/assets/{index-Djn89Lc7.js → index-C9HvlbD_.js} +1 -1
  165. package/storybook-static/assets/{index-BUSbwJpV.js → index-CGL0EAQT.js} +1 -1
  166. package/storybook-static/assets/{proxy-DThijezB.js → proxy-9txmJjjf.js} +1 -1
  167. package/storybook-static/assets/{react-18-CC2o_KTG.js → react-18-BDD9c9dl.js} +1 -1
  168. package/storybook-static/assets/{react-three-fiber.esm-CrZWbBn0.js → react-three-fiber.esm-CBxD6u-E.js} +1 -1
  169. package/storybook-static/assets/{search-DL4xWQAj.js → search-DEAccYIz.js} +1 -1
  170. package/storybook-static/assets/{settings-DnzSTmB8.js → settings-B6oWl9ku.js} +1 -1
  171. package/storybook-static/assets/{sun-BWKcGhza.js → sun-RxB88WOP.js} +1 -1
  172. package/storybook-static/assets/{trash-2-CERNk2Wg.js → trash-2-nAjb2GZD.js} +1 -1
  173. package/storybook-static/assets/{use-animation-frame-sEDY6GbM.js → use-animation-frame-Dfiys8aM.js} +1 -1
  174. package/storybook-static/assets/{use-in-view-DLwo7uun.js → use-in-view-BU3Foeq5.js} +1 -1
  175. package/storybook-static/assets/{use-motion-value-Oa0ddXN-.js → use-motion-value-sE0g715q.js} +1 -1
  176. package/storybook-static/assets/{use-spring-BqiqYxMo.js → use-spring-CptO6Mnm.js} +1 -1
  177. package/storybook-static/assets/{use-transform-D6NCQSqI.js → use-transform-Bg7wVHLN.js} +1 -1
  178. package/storybook-static/assets/{useSound-Z19TqyCM.js → useSound-C9sUL0x2.js} +1 -1
  179. package/storybook-static/assets/{users-BAv6filM.js → users-DL_eoHBs.js} +1 -1
  180. package/storybook-static/assets/{x-CxMBr8uV.js → x-BKY2SXF1.js} +1 -1
  181. package/storybook-static/iframe.html +1 -1
  182. package/storybook-static/project.json +1 -1
  183. package/storybook-static/assets/HabitTimeOfDayChart.stories-BdnPRzWQ.js +0 -44
  184. package/storybook-static/assets/client-DHjvzCEB.js +0 -1
package/dist/index.js CHANGED
@@ -741,47 +741,29 @@ const EmptyState = ({ icon, title, message, action, size = 'default', }) => {
741
741
  return (jsxRuntime.jsxs("div", { className: wrapperClass, children: [icon && jsxRuntime.jsx("div", { className: styles$z.icon, children: icon }), title && jsxRuntime.jsx("h3", { className: styles$z.title, children: title }), jsxRuntime.jsx("p", { className: styles$z.message, children: message }), action && jsxRuntime.jsx("div", { className: styles$z.action, children: action })] }));
742
742
  };
743
743
 
744
- var styles$y = {"backdrop":"Modal-module_backdrop__yOx-a","dialog":"Modal-module_dialog__yEXTq","dialogCompact":"Modal-module_dialogCompact__z1Wxp","dialogWide":"Modal-module_dialogWide__9PTXK","header":"Modal-module_header__NHHKd","title":"Modal-module_title__i3R0x","headerActions":"Modal-module_headerActions__g28UN","closeButton":"Modal-module_closeButton__siC-1","body":"Modal-module_body__U7jvM","bodyFlush":"Modal-module_bodyFlush__wtk3q"};
744
+ var styles$y = {"backdrop":"Modal-module_backdrop__yOx-a","dialog":"Modal-module_dialog__yEXTq","dialogCompact":"Modal-module_dialogCompact__z1Wxp","dialogWide":"Modal-module_dialogWide__9PTXK","header":"Modal-module_header__NHHKd","title":"Modal-module_title__i3R0x","headerActions":"Modal-module_headerActions__g28UN","closeButton":"Modal-module_closeButton__siC-1","body":"Modal-module_body__U7jvM","bodyFlush":"Modal-module_bodyFlush__wtk3q","backdropSheet":"Modal-module_backdropSheet__o9kW3","dialogSheet":"Modal-module_dialogSheet__EjpwP","grabBar":"Modal-module_grabBar__qhl9f"};
745
745
 
746
- /**
747
- * Modal Component
748
- *
749
- * @component
750
- * @description
751
- * An accessible overlay dialog with a backdrop, title header, optional
752
- * header actions, and a flexible body. Renders into a React portal on
753
- * `document.body`, animates in/out with Framer Motion, closes on Escape
754
- * key or backdrop click, and clicks inside the dialog don't propagate
755
- * to the backdrop.
756
- *
757
- * @example
758
- * // Basic usage
759
- * <Modal open={isOpen} title="Confirm" onClose={() => setIsOpen(false)}>
760
- * <p>Are you sure?</p>
761
- * </Modal>
762
- *
763
- * @example
764
- * // With header actions and wide size
765
- * <Modal
766
- * open={isOpen}
767
- * title="Edit profile"
768
- * size="wide"
769
- * actions={<button onClick={save}>Save</button>}
770
- * onClose={handleClose}
771
- * >
772
- * <ProfileForm />
773
- * </Modal>
774
- *
775
- * @example
776
- * // Flush body (no padding) for editors and full-bleed content
777
- * <Modal open={isOpen} title="Document" padding={false} onClose={handleClose}>
778
- * <DocEditor content={content} onSave={save} />
779
- * </Modal>
780
- *
781
- * @param {ModalProps} props - The props for the Modal component
782
- * @returns {React.ReactPortal | null} A portal rendering the modal, or null on the server
783
- */
784
- const Modal = ({ open, title, onClose, children, size = 'default', actions, padding = true, }) => {
746
+ const MOBILE_BREAKPOINT = '(max-width: 640px)';
747
+ const useIsMobile = () => {
748
+ const [isMobile, setIsMobile] = React.useState(() => {
749
+ if (typeof window === 'undefined')
750
+ return false;
751
+ return window.matchMedia(MOBILE_BREAKPOINT).matches;
752
+ });
753
+ React.useEffect(() => {
754
+ if (typeof window === 'undefined')
755
+ return;
756
+ const mq = window.matchMedia(MOBILE_BREAKPOINT);
757
+ const onChange = (e) => setIsMobile(e.matches);
758
+ mq.addEventListener('change', onChange);
759
+ return () => mq.removeEventListener('change', onChange);
760
+ }, []);
761
+ return isMobile;
762
+ };
763
+ const Modal = ({ open, title, onClose, children, size = 'default', actions, padding = true, mobileVariant = 'sheet', draggable = true, }) => {
764
+ const isMobile = useIsMobile();
765
+ const dragControls = framerMotion.useDragControls();
766
+ const headerRef = React.useRef(null);
785
767
  React.useEffect(() => {
786
768
  if (!open)
787
769
  return;
@@ -794,14 +776,38 @@ const Modal = ({ open, title, onClose, children, size = 'default', actions, padd
794
776
  }, [open, onClose]);
795
777
  if (typeof document === 'undefined')
796
778
  return null;
779
+ const isSheet = mobileVariant === 'sheet' && isMobile;
780
+ const isDraggable = isSheet && draggable;
781
+ const backdropClass = [styles$y.backdrop, isSheet && styles$y.backdropSheet]
782
+ .filter(Boolean)
783
+ .join(' ');
797
784
  const dialogClass = [
798
785
  styles$y.dialog,
799
786
  size === 'compact' && styles$y.dialogCompact,
800
787
  size === 'wide' && styles$y.dialogWide,
788
+ isSheet && styles$y.dialogSheet,
801
789
  ]
802
790
  .filter(Boolean)
803
791
  .join(' ');
804
- return reactDom.createPortal(jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && (jsxRuntime.jsx(framerMotion.motion.div, { className: styles$y.backdrop, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, onClick: onClose, "aria-hidden": "true", children: jsxRuntime.jsxs(framerMotion.motion.div, { className: dialogClass, role: "dialog", "aria-modal": "true", "aria-label": title, initial: { opacity: 0, scale: 0.96, y: 8 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.96, y: 8 }, transition: { duration: 0.15, ease: 'easeOut' }, onClick: (e) => e.stopPropagation(), children: [jsxRuntime.jsxs("div", { className: styles$y.header, children: [jsxRuntime.jsx("span", { className: styles$y.title, children: title }), actions && jsxRuntime.jsx("div", { className: styles$y.headerActions, children: actions }), jsxRuntime.jsx("button", { className: styles$y.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsxRuntime.jsx(lucideReact.X, { size: 16 }) })] }), jsxRuntime.jsx("div", { className: padding ? styles$y.body : styles$y.bodyFlush, children: children })] }) })) }), document.body);
792
+ const enteringAnimation = isSheet
793
+ ? { initial: { y: '100%' }, animate: { y: 0 }, exit: { y: '100%' } }
794
+ : {
795
+ initial: { opacity: 0, scale: 0.96, y: 8 },
796
+ animate: { opacity: 1, scale: 1, y: 0 },
797
+ exit: { opacity: 0, scale: 0.96, y: 8 },
798
+ };
799
+ return reactDom.createPortal(jsxRuntime.jsx(framerMotion.AnimatePresence, { children: open && (jsxRuntime.jsx(framerMotion.motion.div, { className: backdropClass, initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, transition: { duration: 0.15 }, onClick: onClose, "aria-hidden": "true", children: jsxRuntime.jsxs(framerMotion.motion.div, { className: dialogClass, role: "dialog", "aria-modal": "true", "aria-label": title, ...enteringAnimation, transition: isSheet
800
+ ? { type: 'spring', stiffness: 320, damping: 32 }
801
+ : { duration: 0.15, ease: 'easeOut' }, onClick: (e) => e.stopPropagation(), drag: isDraggable ? 'y' : false, dragControls: isDraggable ? dragControls : undefined, dragConstraints: { top: 0 }, dragElastic: { top: 0, bottom: 0.3 }, dragListener: false, onDragEnd: (_, info) => {
802
+ if (info.offset.y > 80)
803
+ onClose();
804
+ }, children: [isSheet && jsxRuntime.jsx("div", { className: styles$y.grabBar }), jsxRuntime.jsxs("div", { ref: headerRef, className: styles$y.header, onPointerDown: (e) => {
805
+ if (!isDraggable)
806
+ return;
807
+ if (e.target.closest('button'))
808
+ return;
809
+ dragControls.start(e);
810
+ }, children: [jsxRuntime.jsx("span", { className: styles$y.title, children: title }), actions && jsxRuntime.jsx("div", { className: styles$y.headerActions, children: actions }), jsxRuntime.jsx("button", { className: styles$y.closeButton, onClick: onClose, "aria-label": "Close modal", type: "button", children: jsxRuntime.jsx(lucideReact.X, { size: 16 }) })] }), jsxRuntime.jsx("div", { className: padding ? styles$y.body : styles$y.bodyFlush, children: children })] }) })) }), document.body);
805
811
  };
806
812
 
807
813
  var styles$x = {"checkboxLabel":"Checkbox-module_checkboxLabel__4tBVg","checkbox":"Checkbox-module_checkbox__BbJul","checkboxText":"Checkbox-module_checkboxText__oJsc9"};
@@ -4423,6 +4429,53 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4423
4429
  const active = new Set(activeHabits);
4424
4430
  return parsed.filter(e => active.has(e.habitKey));
4425
4431
  }, [parsed, activeHabits]);
4432
+ // Group events that land on the same minute (same habit) into a single
4433
+ // cluster so overlapping dots become one sized/counted dot. Then, for any
4434
+ // (date, minute) coord with multiple habits, fan them out horizontally so
4435
+ // different-colored dots stop masking each other.
4436
+ const clusters = React.useMemo(() => {
4437
+ const byKey = new Map();
4438
+ filtered.forEach(e => {
4439
+ const bucketFraction = Math.round(e.hourFraction * 60) / 60;
4440
+ const bucketMinute = Math.round(bucketFraction * 60) % 60;
4441
+ const bucketHour = Math.floor(bucketFraction);
4442
+ const key = `${e.date}|${e.habitKey}|${bucketFraction}`;
4443
+ const existing = byKey.get(key);
4444
+ if (existing) {
4445
+ existing.count += 1;
4446
+ }
4447
+ else {
4448
+ byKey.set(key, {
4449
+ habitKey: e.habitKey,
4450
+ date: e.date,
4451
+ hour: bucketHour,
4452
+ minute: bucketMinute,
4453
+ hourFraction: bucketFraction,
4454
+ count: 1,
4455
+ xOffsetPx: 0,
4456
+ });
4457
+ }
4458
+ });
4459
+ const coordGroups = new Map();
4460
+ byKey.forEach(c => {
4461
+ const coordKey = `${c.date}|${c.hourFraction}`;
4462
+ const arr = coordGroups.get(coordKey);
4463
+ if (arr)
4464
+ arr.push(c);
4465
+ else
4466
+ coordGroups.set(coordKey, [c]);
4467
+ });
4468
+ const out = [];
4469
+ const spacing = 10;
4470
+ coordGroups.forEach(group => {
4471
+ group.sort((a, b) => a.habitKey.localeCompare(b.habitKey));
4472
+ const mid = (group.length - 1) / 2;
4473
+ group.forEach((c, i) => {
4474
+ out.push({ ...c, xOffsetPx: (i - mid) * spacing });
4475
+ });
4476
+ });
4477
+ return out;
4478
+ }, [filtered]);
4426
4479
  const hourlyTotals = React.useMemo(() => {
4427
4480
  const totals = Array.from({ length: 24 }, (_, hour) => ({
4428
4481
  hour,
@@ -4476,15 +4529,16 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4476
4529
  .attr('y2', chartHeight);
4477
4530
  // Dots
4478
4531
  const rowHeight = yScale.bandwidth();
4479
- const radius = Math.min(5, Math.max(2, rowHeight / 2));
4532
+ const baseRadius = Math.min(5, Math.max(2, rowHeight / 2));
4533
+ const maxRadius = baseRadius * 2.2;
4480
4534
  g.selectAll('circle.dot')
4481
- .data(filtered)
4535
+ .data(clusters)
4482
4536
  .enter()
4483
4537
  .append('circle')
4484
4538
  .attr('class', styles$7.dot)
4485
- .attr('cx', d => xScale(d.hourFraction))
4539
+ .attr('cx', d => xScale(d.hourFraction) + d.xOffsetPx)
4486
4540
  .attr('cy', d => (yScale(d.date) ?? 0) + rowHeight / 2)
4487
- .attr('r', radius)
4541
+ .attr('r', d => Math.min(maxRadius, baseRadius * Math.sqrt(d.count)))
4488
4542
  .attr('fill', d => getColor(d.habitKey))
4489
4543
  .attr('opacity', d => hoveredHabit && hoveredHabit !== d.habitKey ? 0.15 : 0.8)
4490
4544
  .style('cursor', 'pointer')
@@ -4493,13 +4547,13 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4493
4547
  if (!rect)
4494
4548
  return;
4495
4549
  setTooltipData({
4496
- x: xScale(d.hourFraction) + margin.left + rect.left,
4550
+ x: xScale(d.hourFraction) + d.xOffsetPx + margin.left + rect.left,
4497
4551
  y: (yScale(d.date) ?? 0) + margin.top + rect.top,
4498
4552
  habit: d.habitKey,
4499
4553
  hour: d.hour,
4500
4554
  minute: d.minute,
4501
4555
  date: d.date,
4502
- count: 1,
4556
+ count: d.count,
4503
4557
  });
4504
4558
  })
4505
4559
  .on('mouseleave', () => setTooltipData(null));
@@ -4595,6 +4649,7 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4595
4649
  }, [
4596
4650
  view,
4597
4651
  filtered,
4652
+ clusters,
4598
4653
  hourlyTotals,
4599
4654
  dateRange,
4600
4655
  maxHourTotal,
@@ -4618,9 +4673,9 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4618
4673
  day: 'numeric',
4619
4674
  });
4620
4675
  };
4621
- return (jsxRuntime.jsxs("div", { className: styles$7.container, children: [!hideControls && (jsxRuntime.jsx("div", { className: styles$7.controls, children: jsxRuntime.jsx("div", { className: styles$7.viewToggle, children: ['scatter', 'totals'].map(type => (jsxRuntime.jsxs("button", { className: `${styles$7.viewButton} ${view === type ? styles$7.active : ''}`, onClick: () => setView(type), title: viewConfig[type].label, children: [jsxRuntime.jsx("span", { className: styles$7.viewIcon, children: viewConfig[type].icon }), jsxRuntime.jsx("span", { className: styles$7.viewLabel, children: viewConfig[type].label })] }, type))) }) })), habits.length > 0 && (jsxRuntime.jsx("div", { className: `${styles$7.legend}${compactLegend ? ` ${styles$7.compactLegend}` : ''}`, children: habits.map(habit => (jsxRuntime.jsxs("button", { className: `${styles$7.legendItem} ${!activeHabits.includes(habit) ? styles$7.inactive : ''}`, onClick: () => toggleHabit(habit), onMouseEnter: () => setHoveredHabit(habit), onMouseLeave: () => setHoveredHabit(null), children: [jsxRuntime.jsx("span", { className: styles$7.legendEmoji, children: customHabitEmojis[habit] || '📊' }), jsxRuntime.jsx("span", { className: styles$7.legendColor, style: { backgroundColor: getColor(habit) } }), jsxRuntime.jsx("span", { className: styles$7.legendLabel, children: habit })] }, habit))) })), jsxRuntime.jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "xMidYMid meet", className: styles$7.chart }), tooltipData && (jsxRuntime.jsx("div", { className: `${styles$7.tooltip} ${styles$7.visible}`, style: { left: `${tooltipData.x}px`, top: `${tooltipData.y - 70}px` }, children: tooltipData.habit ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: styles$7.tooltipHeader, children: [jsxRuntime.jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(tooltipData.habit) } }), jsxRuntime.jsxs("span", { children: [customHabitEmojis[tooltipData.habit] || '', " ", tooltipData.habit] })] }), jsxRuntime.jsx("div", { className: styles$7.tooltipInfo, children: jsxRuntime.jsxs("div", { className: styles$7.tooltipDate, children: [tooltipData.date ? formatTooltipDate(tooltipData.date) : '', tooltipData.minute !== undefined
4622
- ? ` · ${formatTime$1(tooltipData.hour, tooltipData.minute)}`
4623
- : ''] }) })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$7.tooltipHeader, children: jsxRuntime.jsx("span", { children: formatHour(tooltipData.hour) }) }), jsxRuntime.jsxs("div", { className: styles$7.tooltipInfo, children: [jsxRuntime.jsxs("div", { className: styles$7.tooltipValue, children: [jsxRuntime.jsx("strong", { children: tooltipData.count }), jsxRuntime.jsxs("span", { className: styles$7.tooltipUnits, children: ["event", tooltipData.count === 1 ? '' : 's'] })] }), tooltipData.breakdown && tooltipData.breakdown.length > 1 && (jsxRuntime.jsx("div", { className: styles$7.tooltipBreakdown, children: tooltipData.breakdown.map(({ habit, count }) => (jsxRuntime.jsxs("div", { className: styles$7.tooltipBreakdownRow, children: [jsxRuntime.jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(habit) } }), jsxRuntime.jsxs("span", { children: [customHabitEmojis[habit] || '', " ", habit] }), jsxRuntime.jsx("span", { className: styles$7.tooltipCount, children: count })] }, habit))) }))] })] })) }))] }));
4676
+ return (jsxRuntime.jsxs("div", { className: styles$7.container, children: [!hideControls && (jsxRuntime.jsx("div", { className: styles$7.controls, children: jsxRuntime.jsx("div", { className: styles$7.viewToggle, children: ['scatter', 'totals'].map(type => (jsxRuntime.jsxs("button", { className: `${styles$7.viewButton} ${view === type ? styles$7.active : ''}`, onClick: () => setView(type), title: viewConfig[type].label, children: [jsxRuntime.jsx("span", { className: styles$7.viewIcon, children: viewConfig[type].icon }), jsxRuntime.jsx("span", { className: styles$7.viewLabel, children: viewConfig[type].label })] }, type))) }) })), habits.length > 0 && (jsxRuntime.jsx("div", { className: `${styles$7.legend}${compactLegend ? ` ${styles$7.compactLegend}` : ''}`, children: habits.map(habit => (jsxRuntime.jsxs("button", { className: `${styles$7.legendItem} ${!activeHabits.includes(habit) ? styles$7.inactive : ''}`, onClick: () => toggleHabit(habit), onMouseEnter: () => setHoveredHabit(habit), onMouseLeave: () => setHoveredHabit(null), children: [jsxRuntime.jsx("span", { className: styles$7.legendEmoji, children: customHabitEmojis[habit] || '📊' }), jsxRuntime.jsx("span", { className: styles$7.legendColor, style: { backgroundColor: getColor(habit) } }), jsxRuntime.jsx("span", { className: styles$7.legendLabel, children: habit })] }, habit))) })), jsxRuntime.jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "xMidYMid meet", className: styles$7.chart }), tooltipData && (jsxRuntime.jsx("div", { className: `${styles$7.tooltip} ${styles$7.visible}`, style: { left: `${tooltipData.x}px`, top: `${tooltipData.y - 70}px` }, children: tooltipData.habit ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: styles$7.tooltipHeader, children: [jsxRuntime.jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(tooltipData.habit) } }), jsxRuntime.jsxs("span", { children: [customHabitEmojis[tooltipData.habit] || '', " ", tooltipData.habit] })] }), jsxRuntime.jsxs("div", { className: styles$7.tooltipInfo, children: [jsxRuntime.jsxs("div", { className: styles$7.tooltipDate, children: [tooltipData.date ? formatTooltipDate(tooltipData.date) : '', tooltipData.minute !== undefined
4677
+ ? ` · ${formatTime$1(tooltipData.hour, tooltipData.minute)}`
4678
+ : ''] }), tooltipData.count > 1 && (jsxRuntime.jsxs("div", { className: styles$7.tooltipValue, children: [jsxRuntime.jsx("strong", { children: tooltipData.count }), jsxRuntime.jsx("span", { className: styles$7.tooltipUnits, children: "events" })] }))] })] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("div", { className: styles$7.tooltipHeader, children: jsxRuntime.jsx("span", { children: formatHour(tooltipData.hour) }) }), jsxRuntime.jsxs("div", { className: styles$7.tooltipInfo, children: [jsxRuntime.jsxs("div", { className: styles$7.tooltipValue, children: [jsxRuntime.jsx("strong", { children: tooltipData.count }), jsxRuntime.jsxs("span", { className: styles$7.tooltipUnits, children: ["event", tooltipData.count === 1 ? '' : 's'] })] }), tooltipData.breakdown && tooltipData.breakdown.length > 1 && (jsxRuntime.jsx("div", { className: styles$7.tooltipBreakdown, children: tooltipData.breakdown.map(({ habit, count }) => (jsxRuntime.jsxs("div", { className: styles$7.tooltipBreakdownRow, children: [jsxRuntime.jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(habit) } }), jsxRuntime.jsxs("span", { children: [customHabitEmojis[habit] || '', " ", habit] }), jsxRuntime.jsx("span", { className: styles$7.tooltipCount, children: count })] }, habit))) }))] })] })) }))] }));
4624
4679
  };
4625
4680
 
4626
4681
  var styles$6 = {"container":"SleepChart-module_container__RjHVU","header":"SleepChart-module_header__bcoWe","title":"SleepChart-module_title__6-QII","legend":"SleepChart-module_legend__VsqQj","legendItem":"SleepChart-module_legendItem__2c1nd","sleepDot":"SleepChart-module_sleepDot__qCY6O","wakeDot":"SleepChart-module_wakeDot__-RcrT","chart":"SleepChart-module_chart__jC1nL","gridLine":"SleepChart-module_gridLine__hi715","sleepBar":"SleepChart-module_sleepBar__Hk76f","xAxis":"SleepChart-module_xAxis__xzXyM","yAxis":"SleepChart-module_yAxis__7N-LA","tooltip":"SleepChart-module_tooltip__jQBv1","visible":"SleepChart-module_visible__wy0ck","tooltipHeader":"SleepChart-module_tooltipHeader__5BdPL","tooltipEmoji":"SleepChart-module_tooltipEmoji__c5vtz","tooltipInfo":"SleepChart-module_tooltipInfo__9Yrno","tooltipRow":"SleepChart-module_tooltipRow__CuDaE","tooltipLabel":"SleepChart-module_tooltipLabel__7SNzQ","tooltipValue":"SleepChart-module_tooltipValue__FoAVy","tooltipDuration":"SleepChart-module_tooltipDuration__d2wBW"};