@stfrigerio/sito-template 0.1.78 → 0.1.80

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 (185) hide show
  1. package/dist/components/organisms/charts/HabitTimeOfDayChart/HabitTimeOfDayChart.d.ts +1 -1
  2. package/dist/components/organisms/charts/HabitTimeOfDayChart/HabitTimeOfDayChart.d.ts.map +1 -1
  3. package/dist/index.esm.js +59 -90
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/index.js +59 -90
  6. package/dist/index.js.map +1 -1
  7. package/dist/styles.css +1 -1
  8. package/dist/styles.css.map +1 -1
  9. package/package.json +1 -1
  10. package/storybook-static/assets/{ASCIIText.stories-CC7w_Zb7.js → ASCIIText.stories-CdJFsDcm.js} +1 -1
  11. package/storybook-static/assets/{AllAtoms.stories-Qaf-lIlH.js → AllAtoms.stories-vADuLoia.js} +1 -1
  12. package/storybook-static/assets/{AnimatedContent.stories-CAWgPz_l.js → AnimatedContent.stories-ewE7Jlyl.js} +1 -1
  13. package/storybook-static/assets/{AnimatedList.stories-Dtm1Kj9o.js → AnimatedList.stories-CmT-fxZO.js} +1 -1
  14. package/storybook-static/assets/{Antigravity.stories-CROe565M.js → Antigravity.stories-Bx-RRn4g.js} +1 -1
  15. package/storybook-static/assets/{ArrayInput.stories-Cy0kQVYi.js → ArrayInput.stories-H4cLlULb.js} +1 -1
  16. package/storybook-static/assets/{Aurora.stories-CiiqgrCk.js → Aurora.stories-CiKEkok2.js} +1 -1
  17. package/storybook-static/assets/{Beams.stories-BjWLvvyV.js → Beams.stories-CGfOm4ei.js} +1 -1
  18. package/storybook-static/assets/{BlobCursor.stories-C-Cy9Shk.js → BlobCursor.stories-DiyecFOA.js} +1 -1
  19. package/storybook-static/assets/{BlurText.stories-C_4t7beV.js → BlurText.stories-C8Bnk1EX.js} +1 -1
  20. package/storybook-static/assets/{BooleansHeatmap.stories-RaRlkL8c.js → BooleansHeatmap.stories-DI-Borh4.js} +1 -1
  21. package/storybook-static/assets/{BorderGlow.stories-8p9mPUnI.js → BorderGlow.stories-DKuCmhDT.js} +1 -1
  22. package/storybook-static/assets/{BubbleMenu.stories-24UYtJ08.js → BubbleMenu.stories-Nuwlv60z.js} +1 -1
  23. package/storybook-static/assets/{Button-DtzPIRXq.js → Button-BH8v2e05.js} +1 -1
  24. package/storybook-static/assets/{Button.stories-CBkojkyr.js → Button.stories-CL91avj4.js} +1 -1
  25. package/storybook-static/assets/{Calendar.stories-EWMWgOBv.js → Calendar.stories-DL-qPwAm.js} +1 -1
  26. package/storybook-static/assets/{Card-B6tfqfjH.js → Card-CYbXBupP.js} +1 -1
  27. package/storybook-static/assets/{Card.stories-DteAEiOg.js → Card.stories-CLdKZH7w.js} +1 -1
  28. package/storybook-static/assets/{CardNav.stories-C-OgJ7F_.js → CardNav.stories-Bkq2eiuC.js} +1 -1
  29. package/storybook-static/assets/{Carousel.stories-B1w5LjkD.js → Carousel.stories-CgYPp8N9.js} +1 -1
  30. package/storybook-static/assets/{Checkbox-DAvHIuDy.js → Checkbox-C2Ftcw-B.js} +1 -1
  31. package/storybook-static/assets/{Checkbox.stories-Co4ppn-V.js → Checkbox.stories-D0G0xUmz.js} +1 -1
  32. package/storybook-static/assets/{ChromaGrid.stories-tOSXlium.js → ChromaGrid.stories-CgLxe4qI.js} +1 -1
  33. package/storybook-static/assets/{CircularGallery.stories-CdrJRVTt.js → CircularGallery.stories-DCbGVf2c.js} +1 -1
  34. package/storybook-static/assets/{CircularText.stories-Dt3nOaW4.js → CircularText.stories-Bmq7ZqfC.js} +1 -1
  35. package/storybook-static/assets/{ClickSpark.stories-DilLAXmz.js → ClickSpark.stories-Dc7lLvwJ.js} +1 -1
  36. package/storybook-static/assets/{ColorBends.stories-hAsm_NVq.js → ColorBends.stories-BWy7DYaP.js} +1 -1
  37. package/storybook-static/assets/{CountUp.stories-Bp7fmEJS.js → CountUp.stories-CrEdXn4r.js} +1 -1
  38. package/storybook-static/assets/{Counter.stories-ASmBLuXV.js → Counter.stories-xbB_rpHK.js} +1 -1
  39. package/storybook-static/assets/{Crosshair.stories-BTvCMRD1.js → Crosshair.stories-jb2KMdHU.js} +1 -1
  40. package/storybook-static/assets/{Cubes.stories-BseAsSaR.js → Cubes.stories-VWgsinzf.js} +1 -1
  41. package/storybook-static/assets/{CurvedLoop.stories-BjqKVV6m.js → CurvedLoop.stories-D4vzwgej.js} +1 -1
  42. package/storybook-static/assets/{DarkVeil.stories-DNKi_B31.js → DarkVeil.stories-nCCiwzbM.js} +1 -1
  43. package/storybook-static/assets/{DateInput-BVBf9Db2.js → DateInput-CC15k4Vf.js} +1 -1
  44. package/storybook-static/assets/{DateInput.stories-CeMSisPx.js → DateInput.stories-B43zuCJK.js} +1 -1
  45. package/storybook-static/assets/{DecayCard.stories-C0wJHVS-.js → DecayCard.stories-pvJh7W64.js} +1 -1
  46. package/storybook-static/assets/{DecryptedText.stories-BE_QpiGp.js → DecryptedText.stories-B1QFF8s1.js} +1 -1
  47. package/storybook-static/assets/{Dither.stories-BWuC6kd6.js → Dither.stories-pq4xjpKd.js} +1 -1
  48. package/storybook-static/assets/{Dock.stories-D6RP8Ryr.js → Dock.stories-ihFTr5C5.js} +1 -1
  49. package/storybook-static/assets/{EditFAB.stories-BmCFS-7C.js → EditFAB.stories-Bs-9cRhd.js} +1 -1
  50. package/storybook-static/assets/{EvilEye.stories-Gy3-kkok.js → EvilEye.stories-BWXnq24Y.js} +1 -1
  51. package/storybook-static/assets/{FadeContent.stories-DHWHZaPD.js → FadeContent.stories-pXTU-JIQ.js} +1 -1
  52. package/storybook-static/assets/{FaultyTerminal.stories-al-Vjs2U.js → FaultyTerminal.stories-BeQm-159.js} +1 -1
  53. package/storybook-static/assets/{Fbo-CUv2NMMu.js → Fbo-VC2TXL_C.js} +1 -1
  54. package/storybook-static/assets/{FloatingLines.stories-DU5FAryJ.js → FloatingLines.stories-XxLhow2j.js} +1 -1
  55. package/storybook-static/assets/{FlowingMenu.stories-BxmUAvVg.js → FlowingMenu.stories-CqZrs3Uu.js} +1 -1
  56. package/storybook-static/assets/{FluidGlass.stories-BAcZi0B8.js → FluidGlass.stories-Drau1tiq.js} +1 -1
  57. package/storybook-static/assets/{Folder.stories-cDjFOW5H.js → Folder.stories-CjgFkSND.js} +1 -1
  58. package/storybook-static/assets/{FuzzyText.stories-Cpb_7FZ5.js → FuzzyText.stories-Br4WpF-A.js} +1 -1
  59. package/storybook-static/assets/{Galaxy.stories-D9PrakPH.js → Galaxy.stories-Crx5J_uS.js} +1 -1
  60. package/storybook-static/assets/{GhostCursor.stories-Csfbqowz.js → GhostCursor.stories-D0dTI4u7.js} +1 -1
  61. package/storybook-static/assets/{GlareHover.stories-oxm7_cy1.js → GlareHover.stories-BqC9e1Hb.js} +1 -1
  62. package/storybook-static/assets/{GlassSurface.stories-DuyltjNF.js → GlassSurface.stories-DZ024TSe.js} +1 -1
  63. package/storybook-static/assets/{GlitchText.stories-B5853b6h.js → GlitchText.stories-jFj-BUKV.js} +1 -1
  64. package/storybook-static/assets/{GooeyNav.stories-B-Nb4351.js → GooeyNav.stories-CEqhFiE8.js} +1 -1
  65. package/storybook-static/assets/{GradientBlinds.stories-B619oOT7.js → GradientBlinds.stories-CW5kpxYL.js} +1 -1
  66. package/storybook-static/assets/{GradientText.stories-DQ6xrREc.js → GradientText.stories-DbHZi99L.js} +1 -1
  67. package/storybook-static/assets/{Grainient.stories-DXh9q7qM.js → Grainient.stories-Cly0yjqz.js} +1 -1
  68. package/storybook-static/assets/{GridMotion.stories-DXeVQVRv.js → GridMotion.stories-Dv4czKOY.js} +1 -1
  69. package/storybook-static/assets/HabitTimeOfDayChart-DXBihkny.css +1 -0
  70. package/storybook-static/assets/HabitTimeOfDayChart.stories-BdnPRzWQ.js +44 -0
  71. package/storybook-static/assets/{ImageSlideshow.stories-dd0nN5QE.js → ImageSlideshow.stories-AfRCXiFL.js} +1 -1
  72. package/storybook-static/assets/{Iridescence.stories-D1s7Q4uW.js → Iridescence.stories-BMZkeDOP.js} +1 -1
  73. package/storybook-static/assets/{LaserFlow.stories---foHG1h.js → LaserFlow.stories-Cjl7kx8X.js} +1 -1
  74. package/storybook-static/assets/{LetterGlitch.stories-mWR6cSTP.js → LetterGlitch.stories-CDDQYcx4.js} +1 -1
  75. package/storybook-static/assets/{LightPillar.stories-DO82NK6W.js → LightPillar.stories-DVy-RN5g.js} +1 -1
  76. package/storybook-static/assets/{LightRays.stories-C7ORCkFU.js → LightRays.stories-B016QOBy.js} +1 -1
  77. package/storybook-static/assets/{Lightning.stories-CXKsWwIZ.js → Lightning.stories-Dzy1oJF2.js} +1 -1
  78. package/storybook-static/assets/{LineWaves.stories-B9cdFW5z.js → LineWaves.stories-BydARhov.js} +1 -1
  79. package/storybook-static/assets/{LiquidChrome.stories-DpEdip1S.js → LiquidChrome.stories-B9ZZjYRF.js} +1 -1
  80. package/storybook-static/assets/{LiquidEther.stories-B7BuQM2F.js → LiquidEther.stories-BkDJmjtE.js} +1 -1
  81. package/storybook-static/assets/{LoadingSpinner-lq4yMoNZ.js → LoadingSpinner-DcwTWgcV.js} +1 -1
  82. package/storybook-static/assets/{LoadingSpinner.stories-BYENiDYK.js → LoadingSpinner.stories-Dnj2jism.js} +1 -1
  83. package/storybook-static/assets/{MagicRings.stories-BiCNl5iP.js → MagicRings.stories-BaCliiKo.js} +1 -1
  84. package/storybook-static/assets/{Magnet.stories-jLEkLPcD.js → Magnet.stories-B11_Eo8J.js} +1 -1
  85. package/storybook-static/assets/{MagnetLines.stories-YRUgkAu9.js → MagnetLines.stories-Qt6rC6j8.js} +1 -1
  86. package/storybook-static/assets/{Masonry.stories-ChP6h5z3.js → Masonry.stories-1Zd-qIAf.js} +1 -1
  87. package/storybook-static/assets/{MetaBalls.stories-CwxXREc7.js → MetaBalls.stories-BMw12NVI.js} +1 -1
  88. package/storybook-static/assets/{MetallicPaint.stories-CY90vc3E.js → MetallicPaint.stories-DK_MQecd.js} +1 -1
  89. package/storybook-static/assets/{MoodChart.stories-C54nQjeF.js → MoodChart.stories-BWVcU_OW.js} +1 -1
  90. package/storybook-static/assets/{MotionConfigContext-DPLvddvp.js → MotionConfigContext-WWx21lsP.js} +1 -1
  91. package/storybook-static/assets/{Navbar.stories-BZapiN1p.js → Navbar.stories-DRsZCyOK.js} +1 -1
  92. package/storybook-static/assets/{Noise.stories-uztpK8B2.js → Noise.stories-CSagy7J1.js} +1 -1
  93. package/storybook-static/assets/{NumberStepper-CTYms_1a.js → NumberStepper-DDKqilmB.js} +1 -1
  94. package/storybook-static/assets/{NumberStepper.stories-pL8LYCQY.js → NumberStepper.stories-ta9bT43d.js} +1 -1
  95. package/storybook-static/assets/{Orb.stories-D4Fb6Q-L.js → Orb.stories-B27f_Mp5.js} +1 -1
  96. package/storybook-static/assets/{OrbitImages.stories-CPniDCsF.js → OrbitImages.stories-pbkZL0KD.js} +1 -1
  97. package/storybook-static/assets/{PieChart.stories-mAy_BCoF.js → PieChart.stories-DXibmyag.js} +1 -1
  98. package/storybook-static/assets/{PixelBlast.stories-Caf1SG-D.js → PixelBlast.stories-Cd7ELIox.js} +1 -1
  99. package/storybook-static/assets/{PixelCard.stories-BZ31L-sS.js → PixelCard.stories-QYg_f-kJ.js} +1 -1
  100. package/storybook-static/assets/{PixelSnow.stories-BC-MlTcf.js → PixelSnow.stories-Cr9QWIrr.js} +1 -1
  101. package/storybook-static/assets/{PixelTransition.stories-Bn7uR_O_.js → PixelTransition.stories-C-WOp_LR.js} +1 -1
  102. package/storybook-static/assets/{Plasma.stories-CXhXi8-9.js → Plasma.stories-VHAR1xeQ.js} +1 -1
  103. package/storybook-static/assets/{Prism.stories-BE4AyPs3.js → Prism.stories-DeyjYz66.js} +1 -1
  104. package/storybook-static/assets/{PrismaticBurst.stories-DT7lYI0J.js → PrismaticBurst.stories-DvkfGTAr.js} +1 -1
  105. package/storybook-static/assets/{ProfileCard.stories-www_pmKI.js → ProfileCard.stories-CcPQg-Hv.js} +1 -1
  106. package/storybook-static/assets/{QuantifiableHabitsChart.stories-C-mB8ibQ.js → QuantifiableHabitsChart.stories-C6VWlFI0.js} +1 -1
  107. package/storybook-static/assets/{Radar.stories-cKxUW3Pf.js → Radar.stories--RY7R3OS.js} +1 -1
  108. package/storybook-static/assets/{Ribbons.stories-R7mbMGR3.js → Ribbons.stories-C7n9tx_g.js} +1 -1
  109. package/storybook-static/assets/{RippleGrid.stories-DJFPB45-.js → RippleGrid.stories-3RXapYiy.js} +1 -1
  110. package/storybook-static/assets/{RotatingText.stories-CT2iBJtr.js → RotatingText.stories-Bt6WA6FO.js} +1 -1
  111. package/storybook-static/assets/{ScrollFloat.stories-C00s7Tav.js → ScrollFloat.stories-CWx8WGsN.js} +1 -1
  112. package/storybook-static/assets/{ScrollReveal.stories-Cx0hRE56.js → ScrollReveal.stories-BVMnOHDG.js} +1 -1
  113. package/storybook-static/assets/{ScrollVelocity.stories-BGxqm84H.js → ScrollVelocity.stories-DbhM6LsV.js} +1 -1
  114. package/storybook-static/assets/{SearchBar.stories-Gf4DuJ87.js → SearchBar.stories-Cr7ZECC_.js} +1 -1
  115. package/storybook-static/assets/{SearchableDropdown-BkGO_32K.js → SearchableDropdown-B0i1ibfz.js} +1 -1
  116. package/storybook-static/assets/{SearchableDropdown.stories-CT874V6G.js → SearchableDropdown.stories-CONyMSzp.js} +1 -1
  117. package/storybook-static/assets/{SelectInput-Hd6ZNqhj.js → SelectInput-DM8VWb-H.js} +1 -1
  118. package/storybook-static/assets/{SelectInput.stories-Cp5WRoKm.js → SelectInput.stories-DGlt60ll.js} +1 -1
  119. package/storybook-static/assets/{ShapeBlur.stories-DBj0h6Ov.js → ShapeBlur.stories-Crbv5z82.js} +1 -1
  120. package/storybook-static/assets/{ShapeGrid.stories-BxR6R44A.js → ShapeGrid.stories-Dj_OezwO.js} +1 -1
  121. package/storybook-static/assets/{ShinyText.stories-Cm6DUoFF.js → ShinyText.stories-DJOeAHRl.js} +1 -1
  122. package/storybook-static/assets/{Silk.stories-D65z_bnD.js → Silk.stories-BCgvZrfN.js} +1 -1
  123. package/storybook-static/assets/{SleepChart.stories-BhlTYTJM.js → SleepChart.stories-ChSrLDUZ.js} +1 -1
  124. package/storybook-static/assets/{Slider-BX8qMaE_.js → Slider-BxUKJrvC.js} +1 -1
  125. package/storybook-static/assets/{Slider.stories-DItcyS21.js → Slider.stories-BIePmg36.js} +1 -1
  126. package/storybook-static/assets/{SoftAurora.stories-NYzJ9emk.js → SoftAurora.stories-0Wf3E-ut.js} +1 -1
  127. package/storybook-static/assets/{SoundDemo.stories-DpuoGDe1.js → SoundDemo.stories-Bfcl6O8Y.js} +1 -1
  128. package/storybook-static/assets/{SplashCursor.stories-ByrBIxgW.js → SplashCursor.stories-BHfxyWxe.js} +1 -1
  129. package/storybook-static/assets/{SpotlightCard.stories-CPCRu27S.js → SpotlightCard.stories-BN6lbioi.js} +1 -1
  130. package/storybook-static/assets/{Stack.stories-CzQ0roYS.js → Stack.stories-C8h__4aO.js} +1 -1
  131. package/storybook-static/assets/{StaggeredMenu.stories-4-Ub5zq5.js → StaggeredMenu.stories-n0x61Yxa.js} +1 -1
  132. package/storybook-static/assets/{StarBorder.stories-zxBxdEVo.js → StarBorder.stories-CklXh7Cs.js} +1 -1
  133. package/storybook-static/assets/{SunburstChart.stories-B8XjQlnj.js → SunburstChart.stories-BZAojE_q.js} +1 -1
  134. package/storybook-static/assets/{Table.stories-CeUZbyGR.js → Table.stories-DN7ZPpOO.js} +1 -1
  135. package/storybook-static/assets/{Tabs.stories-Bt4U-2zQ.js → Tabs.stories-D8ioATag.js} +1 -1
  136. package/storybook-static/assets/{TargetCursor.stories-BoPvwDnE.js → TargetCursor.stories-BVY9PBXD.js} +1 -1
  137. package/storybook-static/assets/{TextArea-D7KTGABN.js → TextArea-B91mTJ1S.js} +1 -1
  138. package/storybook-static/assets/{TextArea.stories-ByTnocqN.js → TextArea.stories-BplQM96a.js} +1 -1
  139. package/storybook-static/assets/{TextCursor.stories-DtuvL5LJ.js → TextCursor.stories-B9jN3Zaz.js} +1 -1
  140. package/storybook-static/assets/{TextInput-NcTywb5k.js → TextInput-gkuohvRv.js} +1 -1
  141. package/storybook-static/assets/{TextInput.stories-DCD3IVam.js → TextInput.stories-DpR0x8bn.js} +1 -1
  142. package/storybook-static/assets/{TextPressure.stories-B2pW02YP.js → TextPressure.stories-BacTH6b1.js} +1 -1
  143. package/storybook-static/assets/{TextType.stories-RxIjwcpK.js → TextType.stories-lI_4US1N.js} +1 -1
  144. package/storybook-static/assets/{ThemeSwitcher.stories-CuS7ULFB.js → ThemeSwitcher.stories-CMRpdYba.js} +1 -1
  145. package/storybook-static/assets/{Threads.stories-C5cQzyMO.js → Threads.stories-DClx4xSn.js} +1 -1
  146. package/storybook-static/assets/{TimeInput.stories-CjaGp3VF.js → TimeInput.stories-D4aYn8hp.js} +1 -1
  147. package/storybook-static/assets/{Toggle-CFshZc3M.js → Toggle-zzEIyGsL.js} +1 -1
  148. package/storybook-static/assets/{Toggle.stories-KZTVvRIX.js → Toggle.stories-vK7n9Pn5.js} +1 -1
  149. package/storybook-static/assets/{ToggleButton-DahhKKKD.js → ToggleButton-DNTCrVXy.js} +1 -1
  150. package/storybook-static/assets/{ToggleButton.stories-BecyzTSv.js → ToggleButton.stories-DwRnggIQ.js} +1 -1
  151. package/storybook-static/assets/{TrueFocus.stories-B2qukCVC.js → TrueFocus.stories-D8oCteJV.js} +1 -1
  152. package/storybook-static/assets/{VariableProximity.stories-kLxJIzgW.js → VariableProximity.stories-BbgYWC7t.js} +1 -1
  153. package/storybook-static/assets/{Waves.stories-HWs82fyv.js → Waves.stories-5UKDofeV.js} +1 -1
  154. package/storybook-static/assets/{check-C0QYXCQq.js → check-BxYPpesN.js} +1 -1
  155. package/storybook-static/assets/{chevron-down-BYkclAjw.js → chevron-down-B8zdRhXt.js} +1 -1
  156. package/storybook-static/assets/{chevron-right-BpTsdNPU.js → chevron-right-DbZQawrO.js} +1 -1
  157. package/storybook-static/assets/client-DHjvzCEB.js +1 -0
  158. package/storybook-static/assets/{createLucideIcon-C0vN6Cdq.js → createLucideIcon-DzdQJ9zJ.js} +1 -1
  159. package/storybook-static/assets/{download-DjUyuZUg.js → download-CH9m89_W.js} +1 -1
  160. package/storybook-static/assets/{folder-C0M5Rug7.js → folder-CkfgXDdN.js} +1 -1
  161. package/storybook-static/assets/{iconBase-D9JibhHP.js → iconBase-DbnMJ-eQ.js} +1 -1
  162. package/storybook-static/assets/{iframe-CHP6sYHA.js → iframe-B6jx7rwj.js} +3 -3
  163. package/storybook-static/assets/{index-kmZmSx5Q.js → index-BUSbwJpV.js} +1 -1
  164. package/storybook-static/assets/{index-BE2LY7RL.js → index-DSxCFvRi.js} +1 -1
  165. package/storybook-static/assets/{index-MBwiYTbW.js → index-Djn89Lc7.js} +1 -1
  166. package/storybook-static/assets/{proxy-CKTlCz4V.js → proxy-DThijezB.js} +1 -1
  167. package/storybook-static/assets/{react-18-Dbj2E7QK.js → react-18-CC2o_KTG.js} +1 -1
  168. package/storybook-static/assets/{react-three-fiber.esm-CEqTsj3Q.js → react-three-fiber.esm-CrZWbBn0.js} +1 -1
  169. package/storybook-static/assets/{search-BN18ZfML.js → search-DL4xWQAj.js} +1 -1
  170. package/storybook-static/assets/{settings-C0mG0eRJ.js → settings-DnzSTmB8.js} +1 -1
  171. package/storybook-static/assets/{sun-B-kVinvA.js → sun-BWKcGhza.js} +1 -1
  172. package/storybook-static/assets/{trash-2-C1860oG6.js → trash-2-CERNk2Wg.js} +1 -1
  173. package/storybook-static/assets/{use-animation-frame-B-TgEmgt.js → use-animation-frame-sEDY6GbM.js} +1 -1
  174. package/storybook-static/assets/{use-in-view-DuXpNPL7.js → use-in-view-DLwo7uun.js} +1 -1
  175. package/storybook-static/assets/{use-motion-value-BkTtRo1-.js → use-motion-value-Oa0ddXN-.js} +1 -1
  176. package/storybook-static/assets/{use-spring-DXYP2-ws.js → use-spring-BqiqYxMo.js} +1 -1
  177. package/storybook-static/assets/{use-transform-D10ftuwp.js → use-transform-D6NCQSqI.js} +1 -1
  178. package/storybook-static/assets/{useSound-B5F93XCP.js → useSound-Z19TqyCM.js} +1 -1
  179. package/storybook-static/assets/{users-CbNaSdtt.js → users-BAv6filM.js} +1 -1
  180. package/storybook-static/assets/{x-BFuIQJ4n.js → x-CxMBr8uV.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-CCVRaScE.css +0 -1
  184. package/storybook-static/assets/HabitTimeOfDayChart.stories-xpzlnQ95.js +0 -44
  185. package/storybook-static/assets/client-zvjl4wpt.js +0 -1
@@ -3,7 +3,7 @@ export interface HabitEvent {
3
3
  loggedAt: string;
4
4
  habitKey: string;
5
5
  }
6
- export type HabitTimeOfDayView = 'heatmap' | 'totals';
6
+ export type HabitTimeOfDayView = 'scatter' | 'totals';
7
7
  interface HabitTimeOfDayChartProps {
8
8
  events: HabitEvent[];
9
9
  width?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"HabitTimeOfDayChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/charts/HabitTimeOfDayChart/HabitTimeOfDayChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAIhF,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAA;AAErD,UAAU,wBAAwB;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AAiDD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAmalE,CAAA"}
1
+ {"version":3,"file":"HabitTimeOfDayChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/charts/HabitTimeOfDayChart/HabitTimeOfDayChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAIhF,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAA;AAErD,UAAU,wBAAwB;IAC9B,MAAM,EAAE,UAAU,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvC,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;IACvC,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B;AA8DD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA0ZlE,CAAA"}
package/dist/index.esm.js CHANGED
@@ -4306,7 +4306,7 @@ const QuantifiableHabitsChart = ({ data, width = 800, height = 400, defaultViewT
4306
4306
  }, children: [jsxs("div", { className: styles$8.tooltipHeader, children: [jsx("span", { className: styles$8.tooltipEmoji, children: customHabitEmojis[tooltipData.habit] || '📊' }), jsx("span", { className: styles$8.tooltipDot, style: { backgroundColor: getColor(tooltipData.habit) } }), jsx("span", { children: tooltipData.habit })] }), jsxs("div", { className: styles$8.tooltipInfo, children: [jsx("div", { className: styles$8.tooltipDate, children: formatTooltipDate(tooltipData.date, viewType) }), jsxs("div", { className: styles$8.tooltipValue, children: [jsx("strong", { children: Math.round(tooltipData.value * 10) / 10 }), jsx("span", { style: { fontSize: '12px', fontWeight: 'normal', opacity: 0.6 }, children: "units" })] })] })] }))] }));
4307
4307
  };
4308
4308
 
4309
- var styles$7 = {"container":"HabitTimeOfDayChart-module_container__DCW3B","controls":"HabitTimeOfDayChart-module_controls__2p7mW","viewToggle":"HabitTimeOfDayChart-module_viewToggle__SSfDu","viewButton":"HabitTimeOfDayChart-module_viewButton__DENLF","active":"HabitTimeOfDayChart-module_active__VRrF1","viewIcon":"HabitTimeOfDayChart-module_viewIcon__MXqrp","viewLabel":"HabitTimeOfDayChart-module_viewLabel__XNKhi","legend":"HabitTimeOfDayChart-module_legend__y4Apu","compactLegend":"HabitTimeOfDayChart-module_compactLegend__Gsodv","legendItem":"HabitTimeOfDayChart-module_legendItem__QEXr4","legendEmoji":"HabitTimeOfDayChart-module_legendEmoji__T7zLH","legendLabel":"HabitTimeOfDayChart-module_legendLabel__TUT29","inactive":"HabitTimeOfDayChart-module_inactive__xVIwD","legendColor":"HabitTimeOfDayChart-module_legendColor__SzkAm","chart":"HabitTimeOfDayChart-module_chart__7Plpd","cell":"HabitTimeOfDayChart-module_cell__CBx4Z","cellEmpty":"HabitTimeOfDayChart-module_cellEmpty__8svdi","bar":"HabitTimeOfDayChart-module_bar__F0Rwy","gridLine":"HabitTimeOfDayChart-module_gridLine__waZrZ","xAxis":"HabitTimeOfDayChart-module_xAxis__pQGbi","yAxis":"HabitTimeOfDayChart-module_yAxis__fblot","tooltip":"HabitTimeOfDayChart-module_tooltip__8EPnz","visible":"HabitTimeOfDayChart-module_visible__3yEYR","tooltipHeader":"HabitTimeOfDayChart-module_tooltipHeader__1ywo5","tooltipInfo":"HabitTimeOfDayChart-module_tooltipInfo__xizGe","tooltipValue":"HabitTimeOfDayChart-module_tooltipValue__DcYfO","tooltipUnits":"HabitTimeOfDayChart-module_tooltipUnits__Um-EN","tooltipBreakdown":"HabitTimeOfDayChart-module_tooltipBreakdown__AQ27l","tooltipBreakdownRow":"HabitTimeOfDayChart-module_tooltipBreakdownRow__jHc6D","tooltipDot":"HabitTimeOfDayChart-module_tooltipDot__Khfwh","tooltipCount":"HabitTimeOfDayChart-module_tooltipCount__BRgaU"};
4309
+ var styles$7 = {"container":"HabitTimeOfDayChart-module_container__DCW3B","controls":"HabitTimeOfDayChart-module_controls__2p7mW","viewToggle":"HabitTimeOfDayChart-module_viewToggle__SSfDu","viewButton":"HabitTimeOfDayChart-module_viewButton__DENLF","active":"HabitTimeOfDayChart-module_active__VRrF1","viewIcon":"HabitTimeOfDayChart-module_viewIcon__MXqrp","viewLabel":"HabitTimeOfDayChart-module_viewLabel__XNKhi","legend":"HabitTimeOfDayChart-module_legend__y4Apu","compactLegend":"HabitTimeOfDayChart-module_compactLegend__Gsodv","legendItem":"HabitTimeOfDayChart-module_legendItem__QEXr4","legendEmoji":"HabitTimeOfDayChart-module_legendEmoji__T7zLH","legendLabel":"HabitTimeOfDayChart-module_legendLabel__TUT29","inactive":"HabitTimeOfDayChart-module_inactive__xVIwD","legendColor":"HabitTimeOfDayChart-module_legendColor__SzkAm","chart":"HabitTimeOfDayChart-module_chart__7Plpd","dot":"HabitTimeOfDayChart-module_dot__rxGpu","bar":"HabitTimeOfDayChart-module_bar__F0Rwy","gridLine":"HabitTimeOfDayChart-module_gridLine__waZrZ","xAxis":"HabitTimeOfDayChart-module_xAxis__pQGbi","yAxis":"HabitTimeOfDayChart-module_yAxis__fblot","tooltip":"HabitTimeOfDayChart-module_tooltip__8EPnz","visible":"HabitTimeOfDayChart-module_visible__3yEYR","tooltipHeader":"HabitTimeOfDayChart-module_tooltipHeader__1ywo5","tooltipInfo":"HabitTimeOfDayChart-module_tooltipInfo__xizGe","tooltipValue":"HabitTimeOfDayChart-module_tooltipValue__DcYfO","tooltipUnits":"HabitTimeOfDayChart-module_tooltipUnits__Um-EN","tooltipBreakdown":"HabitTimeOfDayChart-module_tooltipBreakdown__AQ27l","tooltipBreakdownRow":"HabitTimeOfDayChart-module_tooltipBreakdownRow__jHc6D","tooltipDot":"HabitTimeOfDayChart-module_tooltipDot__Khfwh","tooltipCount":"HabitTimeOfDayChart-module_tooltipCount__BRgaU"};
4310
4310
 
4311
4311
  const DEFAULT_HABIT_COLORS = {
4312
4312
  Exercise: '#6BCB77',
@@ -4325,12 +4325,12 @@ const getDateKey = (d) => {
4325
4325
  return `${y}-${m}-${day}`;
4326
4326
  };
4327
4327
  const formatHour = (hour) => {
4328
- const h = hour % 24;
4329
- if (h === 0)
4330
- return '12a';
4331
- if (h === 12)
4332
- return '12p';
4333
- return h < 12 ? `${h}a` : `${h - 12}p`;
4328
+ const h = ((hour % 24) + 24) % 24;
4329
+ return `${String(h).padStart(2, '0')}:00`;
4330
+ };
4331
+ const formatTime$1 = (hour, minute) => {
4332
+ const h = ((hour % 24) + 24) % 24;
4333
+ return `${String(h).padStart(2, '0')}:${String(minute).padStart(2, '0')}`;
4334
4334
  };
4335
4335
  const enumerateDates = (start, end) => {
4336
4336
  const dates = [];
@@ -4344,7 +4344,7 @@ const enumerateDates = (start, end) => {
4344
4344
  }
4345
4345
  return dates;
4346
4346
  };
4347
- const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, endDate, habitColors: customHabitColors = {}, habitEmojis: customHabitEmojis = {}, defaultView = 'heatmap', hideControls = false, compactLegend = false, }) => {
4347
+ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, endDate, habitColors: customHabitColors = {}, habitEmojis: customHabitEmojis = {}, defaultView = 'scatter', hideControls = false, compactLegend = false, }) => {
4348
4348
  const svgRef = useRef(null);
4349
4349
  const [view, setView] = useState(defaultView);
4350
4350
  const [activeHabits, setActiveHabits] = useState([]);
@@ -4364,7 +4364,16 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4364
4364
  const d = new Date(e.loggedAt);
4365
4365
  if (Number.isNaN(d.getTime()))
4366
4366
  return null;
4367
- return { habitKey: e.habitKey, hour: d.getHours(), date: getDateKey(d) };
4367
+ const hour = d.getHours();
4368
+ const minute = d.getMinutes();
4369
+ const second = d.getSeconds();
4370
+ return {
4371
+ habitKey: e.habitKey,
4372
+ date: getDateKey(d),
4373
+ hour,
4374
+ minute,
4375
+ hourFraction: hour + minute / 60 + second / 3600,
4376
+ };
4368
4377
  })
4369
4378
  .filter((e) => e !== null);
4370
4379
  }, [events]);
@@ -4393,22 +4402,6 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4393
4402
  const active = new Set(activeHabits);
4394
4403
  return parsed.filter(e => active.has(e.habitKey));
4395
4404
  }, [parsed, activeHabits]);
4396
- // Heatmap cell counts: key = `${date}|${hour}`, value = { total, byHabit }
4397
- const cellCounts = useMemo(() => {
4398
- const map = new Map();
4399
- filtered.forEach(e => {
4400
- const key = `${e.date}|${e.hour}`;
4401
- let cell = map.get(key);
4402
- if (!cell) {
4403
- cell = { total: 0, byHabit: new Map() };
4404
- map.set(key, cell);
4405
- }
4406
- cell.total += 1;
4407
- cell.byHabit.set(e.habitKey, (cell.byHabit.get(e.habitKey) || 0) + 1);
4408
- });
4409
- return map;
4410
- }, [filtered]);
4411
- // Hourly totals: array of { hour, total, byHabit }
4412
4405
  const hourlyTotals = useMemo(() => {
4413
4406
  const totals = Array.from({ length: 24 }, (_, hour) => ({
4414
4407
  hour,
@@ -4422,21 +4415,10 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4422
4415
  });
4423
4416
  return totals;
4424
4417
  }, [filtered]);
4425
- const maxCellCount = useMemo(() => {
4426
- let max = 0;
4427
- cellCounts.forEach(v => {
4428
- if (v.total > max)
4429
- max = v.total;
4430
- });
4431
- return max;
4432
- }, [cellCounts]);
4433
- const maxHourTotal = useMemo(() => {
4434
- return hourlyTotals.reduce((m, b) => Math.max(m, b.total), 0);
4435
- }, [hourlyTotals]);
4418
+ const maxHourTotal = useMemo(() => hourlyTotals.reduce((m, b) => Math.max(m, b.total), 0), [hourlyTotals]);
4436
4419
  const toggleHabit = (habit) => {
4437
4420
  setActiveHabits(prev => prev.includes(habit) ? prev.filter(h => h !== habit) : [...prev, habit]);
4438
4421
  };
4439
- // Render heatmap
4440
4422
  useEffect(() => {
4441
4423
  if (!svgRef.current)
4442
4424
  return;
@@ -4451,74 +4433,64 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4451
4433
  const g = svg
4452
4434
  .append('g')
4453
4435
  .attr('transform', `translate(${margin.left},${margin.top})`);
4454
- if (view === 'heatmap') {
4436
+ if (view === 'scatter') {
4455
4437
  if (dateRange.length === 0)
4456
4438
  return;
4457
- const xScale = d3.scaleBand()
4458
- .domain(d3.range(24))
4459
- .range([0, chartWidth])
4460
- .padding(0.08);
4439
+ const xScale = d3.scaleLinear()
4440
+ .domain([0, 24])
4441
+ .range([0, chartWidth]);
4461
4442
  const yScale = d3.scaleBand()
4462
4443
  .domain(dateRange)
4463
4444
  .range([0, chartHeight])
4464
- .padding(0.08);
4465
- const intensity = (count) => {
4466
- if (count === 0)
4467
- return 0;
4468
- const denom = Math.max(1, maxCellCount);
4469
- return 0.2 + 0.8 * (count / denom);
4470
- };
4471
- const cells = [];
4472
- dateRange.forEach(date => {
4473
- for (let hour = 0; hour < 24; hour++) {
4474
- const cell = cellCounts.get(`${date}|${hour}`);
4475
- cells.push({
4476
- date,
4477
- hour,
4478
- count: cell?.total ?? 0,
4479
- byHabit: cell?.byHabit ?? new Map(),
4480
- });
4481
- }
4482
- });
4483
- g.selectAll('rect.cell')
4484
- .data(cells)
4445
+ .padding(0.1);
4446
+ // Vertical grid lines per 3 hours
4447
+ g.selectAll('line.xgrid')
4448
+ .data([0, 3, 6, 9, 12, 15, 18, 21, 24])
4485
4449
  .enter()
4486
- .append('rect')
4487
- .attr('class', d => (d.count === 0 ? styles$7.cellEmpty : styles$7.cell))
4488
- .attr('x', d => xScale(d.hour) ?? 0)
4489
- .attr('y', d => yScale(d.date) ?? 0)
4490
- .attr('width', xScale.bandwidth())
4491
- .attr('height', yScale.bandwidth())
4492
- .attr('rx', 2)
4493
- .attr('opacity', d => (d.count === 0 ? 1 : intensity(d.count)))
4450
+ .append('line')
4451
+ .attr('class', styles$7.gridLine)
4452
+ .attr('x1', d => xScale(d))
4453
+ .attr('x2', d => xScale(d))
4454
+ .attr('y1', 0)
4455
+ .attr('y2', chartHeight);
4456
+ // Dots
4457
+ const rowHeight = yScale.bandwidth();
4458
+ const radius = Math.min(5, Math.max(2, rowHeight / 2));
4459
+ g.selectAll('circle.dot')
4460
+ .data(filtered)
4461
+ .enter()
4462
+ .append('circle')
4463
+ .attr('class', styles$7.dot)
4464
+ .attr('cx', d => xScale(d.hourFraction))
4465
+ .attr('cy', d => (yScale(d.date) ?? 0) + rowHeight / 2)
4466
+ .attr('r', radius)
4467
+ .attr('fill', d => getColor(d.habitKey))
4468
+ .attr('opacity', d => hoveredHabit && hoveredHabit !== d.habitKey ? 0.15 : 0.8)
4469
+ .style('cursor', 'pointer')
4494
4470
  .on('mouseenter', function (_event, d) {
4495
- if (d.count === 0)
4496
- return;
4497
4471
  const rect = svgRef.current?.getBoundingClientRect();
4498
4472
  if (!rect)
4499
4473
  return;
4500
4474
  setTooltipData({
4501
- x: (xScale(d.hour) ?? 0) + xScale.bandwidth() / 2 + margin.left + rect.left,
4475
+ x: xScale(d.hourFraction) + margin.left + rect.left,
4502
4476
  y: (yScale(d.date) ?? 0) + margin.top + rect.top,
4477
+ habit: d.habitKey,
4503
4478
  hour: d.hour,
4479
+ minute: d.minute,
4504
4480
  date: d.date,
4505
- count: d.count,
4506
- breakdown: Array.from(d.byHabit.entries())
4507
- .map(([habit, count]) => ({ habit, count }))
4508
- .sort((a, b) => b.count - a.count),
4481
+ count: 1,
4509
4482
  });
4510
4483
  })
4511
4484
  .on('mouseleave', () => setTooltipData(null));
4512
4485
  // X axis (hours)
4513
- const hourTicks = [0, 3, 6, 9, 12, 15, 18, 21];
4514
4486
  const xAxis = d3.axisBottom(xScale)
4515
- .tickValues(hourTicks)
4487
+ .tickValues([0, 3, 6, 9, 12, 15, 18, 21])
4516
4488
  .tickFormat(d => formatHour(d));
4517
4489
  g.append('g')
4518
4490
  .attr('class', styles$7.xAxis)
4519
4491
  .attr('transform', `translate(0,${chartHeight})`)
4520
4492
  .call(xAxis);
4521
- // Y axis (dates) — show only a few evenly spaced
4493
+ // Y axis (dates) — evenly spaced
4522
4494
  const yTickCount = Math.min(8, dateRange.length);
4523
4495
  const yStep = Math.max(1, Math.floor(dateRange.length / yTickCount));
4524
4496
  const yTickValues = dateRange.filter((_, i) => i % yStep === 0);
@@ -4531,7 +4503,7 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4531
4503
  g.append('g').attr('class', styles$7.yAxis).call(yAxis);
4532
4504
  }
4533
4505
  else {
4534
- // Totals view: bar chart of hour totals
4506
+ // Totals view: stacked bar by hour
4535
4507
  const xScale = d3.scaleBand()
4536
4508
  .domain(d3.range(24))
4537
4509
  .range([0, chartWidth])
@@ -4540,7 +4512,6 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4540
4512
  .domain([0, Math.max(1, maxHourTotal)])
4541
4513
  .nice()
4542
4514
  .range([chartHeight, 0]);
4543
- // Grid lines
4544
4515
  g.selectAll('line.grid')
4545
4516
  .data(yScale.ticks(5))
4546
4517
  .enter()
@@ -4550,7 +4521,6 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4550
4521
  .attr('x2', chartWidth)
4551
4522
  .attr('y1', d => yScale(d))
4552
4523
  .attr('y2', d => yScale(d));
4553
- // Stacked bars by habit
4554
4524
  hourlyTotals.forEach(bucket => {
4555
4525
  let cumulative = 0;
4556
4526
  const entries = Array.from(bucket.byHabit.entries()).sort(([a], [b]) => a.localeCompare(b));
@@ -4567,7 +4537,6 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4567
4537
  .attr('opacity', hoveredHabit && hoveredHabit !== habit ? 0.3 : 1);
4568
4538
  cumulative += count;
4569
4539
  });
4570
- // Invisible hover target for the whole bar
4571
4540
  if (bucket.total > 0) {
4572
4541
  g.append('rect')
4573
4542
  .attr('x', xScale(bucket.hour) ?? 0)
@@ -4593,7 +4562,6 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4593
4562
  .on('mouseleave', () => setTooltipData(null));
4594
4563
  }
4595
4564
  });
4596
- // X axis
4597
4565
  const xAxis = d3.axisBottom(xScale)
4598
4566
  .tickValues([0, 3, 6, 9, 12, 15, 18, 21])
4599
4567
  .tickFormat(d => formatHour(d));
@@ -4605,10 +4573,9 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4605
4573
  }
4606
4574
  }, [
4607
4575
  view,
4608
- cellCounts,
4576
+ filtered,
4609
4577
  hourlyTotals,
4610
4578
  dateRange,
4611
- maxCellCount,
4612
4579
  maxHourTotal,
4613
4580
  chartWidth,
4614
4581
  chartHeight,
@@ -4619,7 +4586,7 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4619
4586
  getColor,
4620
4587
  ]);
4621
4588
  const viewConfig = {
4622
- heatmap: { icon: '🗓️', label: 'Grid' },
4589
+ scatter: { icon: '•••', label: 'Scatter' },
4623
4590
  totals: { icon: '📊', label: 'Totals' },
4624
4591
  };
4625
4592
  const formatTooltipDate = (date) => {
@@ -4630,7 +4597,9 @@ const HabitTimeOfDayChart = ({ events, width = 800, height = 400, startDate, end
4630
4597
  day: 'numeric',
4631
4598
  });
4632
4599
  };
4633
- return (jsxs("div", { className: styles$7.container, children: [!hideControls && (jsx("div", { className: styles$7.controls, children: jsx("div", { className: styles$7.viewToggle, children: ['heatmap', 'totals'].map(type => (jsxs("button", { className: `${styles$7.viewButton} ${view === type ? styles$7.active : ''}`, onClick: () => setView(type), title: viewConfig[type].label, children: [jsx("span", { className: styles$7.viewIcon, children: viewConfig[type].icon }), jsx("span", { className: styles$7.viewLabel, children: viewConfig[type].label })] }, type))) }) })), habits.length > 0 && (jsx("div", { className: `${styles$7.legend}${compactLegend ? ` ${styles$7.compactLegend}` : ''}`, children: habits.map(habit => (jsxs("button", { className: `${styles$7.legendItem} ${!activeHabits.includes(habit) ? styles$7.inactive : ''}`, onClick: () => toggleHabit(habit), onMouseEnter: () => setHoveredHabit(habit), onMouseLeave: () => setHoveredHabit(null), children: [jsx("span", { className: styles$7.legendEmoji, children: customHabitEmojis[habit] || '📊' }), jsx("span", { className: styles$7.legendColor, style: { backgroundColor: getColor(habit) } }), jsx("span", { className: styles$7.legendLabel, children: habit })] }, habit))) })), jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "xMidYMid meet", className: styles$7.chart }), tooltipData && (jsxs("div", { className: `${styles$7.tooltip} ${styles$7.visible}`, style: { left: `${tooltipData.x}px`, top: `${tooltipData.y - 80}px` }, children: [jsx("div", { className: styles$7.tooltipHeader, children: jsxs("span", { children: [formatHour(tooltipData.hour), tooltipData.date ? ` · ${formatTooltipDate(tooltipData.date)}` : ''] }) }), jsxs("div", { className: styles$7.tooltipInfo, children: [jsxs("div", { className: styles$7.tooltipValue, children: [jsx("strong", { children: tooltipData.count }), jsxs("span", { className: styles$7.tooltipUnits, children: ["event", tooltipData.count === 1 ? '' : 's'] })] }), tooltipData.breakdown.length > 1 && (jsx("div", { className: styles$7.tooltipBreakdown, children: tooltipData.breakdown.map(({ habit, count }) => (jsxs("div", { className: styles$7.tooltipBreakdownRow, children: [jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(habit) } }), jsxs("span", { children: [customHabitEmojis[habit] || '', " ", habit] }), jsx("span", { className: styles$7.tooltipCount, children: count })] }, habit))) }))] })] }))] }));
4600
+ return (jsxs("div", { className: styles$7.container, children: [!hideControls && (jsx("div", { className: styles$7.controls, children: jsx("div", { className: styles$7.viewToggle, children: ['scatter', 'totals'].map(type => (jsxs("button", { className: `${styles$7.viewButton} ${view === type ? styles$7.active : ''}`, onClick: () => setView(type), title: viewConfig[type].label, children: [jsx("span", { className: styles$7.viewIcon, children: viewConfig[type].icon }), jsx("span", { className: styles$7.viewLabel, children: viewConfig[type].label })] }, type))) }) })), habits.length > 0 && (jsx("div", { className: `${styles$7.legend}${compactLegend ? ` ${styles$7.compactLegend}` : ''}`, children: habits.map(habit => (jsxs("button", { className: `${styles$7.legendItem} ${!activeHabits.includes(habit) ? styles$7.inactive : ''}`, onClick: () => toggleHabit(habit), onMouseEnter: () => setHoveredHabit(habit), onMouseLeave: () => setHoveredHabit(null), children: [jsx("span", { className: styles$7.legendEmoji, children: customHabitEmojis[habit] || '📊' }), jsx("span", { className: styles$7.legendColor, style: { backgroundColor: getColor(habit) } }), jsx("span", { className: styles$7.legendLabel, children: habit })] }, habit))) })), jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, preserveAspectRatio: "xMidYMid meet", className: styles$7.chart }), tooltipData && (jsx("div", { className: `${styles$7.tooltip} ${styles$7.visible}`, style: { left: `${tooltipData.x}px`, top: `${tooltipData.y - 70}px` }, children: tooltipData.habit ? (jsxs(Fragment, { children: [jsxs("div", { className: styles$7.tooltipHeader, children: [jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(tooltipData.habit) } }), jsxs("span", { children: [customHabitEmojis[tooltipData.habit] || '', " ", tooltipData.habit] })] }), jsx("div", { className: styles$7.tooltipInfo, children: jsxs("div", { className: styles$7.tooltipDate, children: [tooltipData.date ? formatTooltipDate(tooltipData.date) : '', tooltipData.minute !== undefined
4601
+ ? ` · ${formatTime$1(tooltipData.hour, tooltipData.minute)}`
4602
+ : ''] }) })] })) : (jsxs(Fragment, { children: [jsx("div", { className: styles$7.tooltipHeader, children: jsx("span", { children: formatHour(tooltipData.hour) }) }), jsxs("div", { className: styles$7.tooltipInfo, children: [jsxs("div", { className: styles$7.tooltipValue, children: [jsx("strong", { children: tooltipData.count }), jsxs("span", { className: styles$7.tooltipUnits, children: ["event", tooltipData.count === 1 ? '' : 's'] })] }), tooltipData.breakdown && tooltipData.breakdown.length > 1 && (jsx("div", { className: styles$7.tooltipBreakdown, children: tooltipData.breakdown.map(({ habit, count }) => (jsxs("div", { className: styles$7.tooltipBreakdownRow, children: [jsx("span", { className: styles$7.tooltipDot, style: { backgroundColor: getColor(habit) } }), jsxs("span", { children: [customHabitEmojis[habit] || '', " ", habit] }), jsx("span", { className: styles$7.tooltipCount, children: count })] }, habit))) }))] })] })) }))] }));
4634
4603
  };
4635
4604
 
4636
4605
  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"};