@stfrigerio/sito-template 0.1.44 → 0.1.49
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/organisms/charts/SunburstChart/SunburstChart.d.ts.map +1 -1
- package/dist/index.esm.js +113 -147
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +113 -147
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +2 -2
- package/storybook-static/assets/{ASCIIText.stories-BSKNvcoU.js → ASCIIText.stories-DpBtrb9i.js} +1 -1
- package/storybook-static/assets/{AllAtoms.stories-BheGtT2x.js → AllAtoms.stories-C2hvLJ8w.js} +1 -1
- package/storybook-static/assets/{AnimatedContent.stories-DHs1c0dV.js → AnimatedContent.stories-Di9Q7t9j.js} +1 -1
- package/storybook-static/assets/{AnimatedList.stories-DIfbjb22.js → AnimatedList.stories-BGyYB85Y.js} +1 -1
- package/storybook-static/assets/{Antigravity.stories-BsyCq_d_.js → Antigravity.stories-Do1dnEK_.js} +1 -1
- package/storybook-static/assets/{ArrayInput.stories-Vhl_2MiN.js → ArrayInput.stories-CNtTKUF0.js} +1 -1
- package/storybook-static/assets/{Aurora.stories-C7vxHFyZ.js → Aurora.stories-DHuVs0Nh.js} +1 -1
- package/storybook-static/assets/{Beams.stories-WmoAQdE2.js → Beams.stories-C0fr646Y.js} +1 -1
- package/storybook-static/assets/{BlobCursor.stories-Do76vl4q.js → BlobCursor.stories-CQmLI7VF.js} +1 -1
- package/storybook-static/assets/{BlurText.stories-CIsxOJyQ.js → BlurText.stories-Bqhf_75C.js} +1 -1
- package/storybook-static/assets/{BooleansHeatmap.stories-DIdVIPVH.js → BooleansHeatmap.stories-CSTfHU8X.js} +1 -1
- package/storybook-static/assets/{BorderGlow.stories-B88w6QLt.js → BorderGlow.stories-DllLrSOi.js} +1 -1
- package/storybook-static/assets/{BubbleMenu.stories-CjsSE6cs.js → BubbleMenu.stories-By8eacsb.js} +1 -1
- package/storybook-static/assets/{Button-C_YZ5gR4.js → Button-2CSvbnXB.js} +1 -1
- package/storybook-static/assets/{Button.stories-Mw6nstnk.js → Button.stories-CMFODsAR.js} +1 -1
- package/storybook-static/assets/Calendar-gAaU5NXk.css +1 -0
- package/storybook-static/assets/{Calendar.stories-Dxshyi2I.js → Calendar.stories-BPwP3WUJ.js} +6 -6
- package/storybook-static/assets/{Card-C1evZ1rT.js → Card-DZVLYsdd.js} +1 -1
- package/storybook-static/assets/{Card.stories-Cd8o0lJL.js → Card.stories-DisHmL7k.js} +1 -1
- package/storybook-static/assets/{CardNav.stories-CVCNllVh.js → CardNav.stories-e50-9J_A.js} +1 -1
- package/storybook-static/assets/{Carousel.stories-DXvKLxeO.js → Carousel.stories-B-rI6jNr.js} +1 -1
- package/storybook-static/assets/{Checkbox-tM16vTif.js → Checkbox-D7FUqeuB.js} +1 -1
- package/storybook-static/assets/{Checkbox.stories-dhEm8gbi.js → Checkbox.stories-CyIVTBxZ.js} +1 -1
- package/storybook-static/assets/{ChromaGrid.stories-_N6hSynZ.js → ChromaGrid.stories-S1cYuc5_.js} +1 -1
- package/storybook-static/assets/{CircularGallery.stories-c7BEdmTm.js → CircularGallery.stories-DRrEcX-Y.js} +1 -1
- package/storybook-static/assets/{CircularText.stories-BCoG12vU.js → CircularText.stories-CHoRy-lV.js} +1 -1
- package/storybook-static/assets/{ClickSpark.stories-BOypb8hM.js → ClickSpark.stories-DbPNmGUE.js} +1 -1
- package/storybook-static/assets/{Color-AVL7NMMY-iZX0v-MX.js → Color-AVL7NMMY-C-H2x7hU.js} +1 -1
- package/storybook-static/assets/{ColorBends.stories-DJVplB1e.js → ColorBends.stories-BVGGr3v3.js} +1 -1
- package/storybook-static/assets/{CountUp.stories-CZoxCmOS.js → CountUp.stories-Ofg9f0h2.js} +1 -1
- package/storybook-static/assets/{Counter.stories-CD2CN6Rs.js → Counter.stories-CsO7AtIx.js} +1 -1
- package/storybook-static/assets/{Crosshair.stories-pKH0CRjB.js → Crosshair.stories-kyfwqcvB.js} +1 -1
- package/storybook-static/assets/{Cubes.stories-CG6EoDFk.js → Cubes.stories-hA-HjWNO.js} +1 -1
- package/storybook-static/assets/{CurvedLoop.stories-2_6LGDBt.js → CurvedLoop.stories-CHdhTRmN.js} +1 -1
- package/storybook-static/assets/{DarkVeil.stories-NPy-IAdE.js → DarkVeil.stories-B68s8uCO.js} +1 -1
- package/storybook-static/assets/{DateInput-bEXupMbC.js → DateInput-DYaAr-pD.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-Di9xlwl-.js → DateInput.stories-D8DGjdAu.js} +1 -1
- package/storybook-static/assets/{DecayCard.stories-C_nLJJYv.js → DecayCard.stories-RASuy9DU.js} +1 -1
- package/storybook-static/assets/{DecryptedText.stories-B3nmn_C5.js → DecryptedText.stories-BYt96S4h.js} +1 -1
- package/storybook-static/assets/{Dither.stories-DYFkOPEa.js → Dither.stories-BoRhWSS3.js} +1 -1
- package/storybook-static/assets/{Dock.stories-D5xKRTwB.js → Dock.stories-HG_pJS3N.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-PQXLIZUC-qnjLy5zI.js → DocsRenderer-PQXLIZUC-DhsqOTVk.js} +4 -4
- package/storybook-static/assets/{EditFAB.stories-D7WePUUN.js → EditFAB.stories-CTGHZ2-N.js} +1 -1
- package/storybook-static/assets/{EvilEye.stories-Cov9VutU.js → EvilEye.stories-CIq_GN_B.js} +1 -1
- package/storybook-static/assets/{FadeContent.stories-mHhk3715.js → FadeContent.stories-D4XSUqNs.js} +1 -1
- package/storybook-static/assets/{FaultyTerminal.stories-DjKOHL4-.js → FaultyTerminal.stories-D47h3D9_.js} +1 -1
- package/storybook-static/assets/{Fbo-CDZq1mNj.js → Fbo-DJ3Mfipf.js} +1 -1
- package/storybook-static/assets/{FloatingLines.stories-B_dxBmBz.js → FloatingLines.stories-DwrsyJ8S.js} +1 -1
- package/storybook-static/assets/{FlowingMenu.stories-DdUqXTFx.js → FlowingMenu.stories-BQGeeDYk.js} +1 -1
- package/storybook-static/assets/{FluidGlass.stories-C6FrnI3D.js → FluidGlass.stories-BNEe11fE.js} +1 -1
- package/storybook-static/assets/{Folder.stories-Zb5rwe3k.js → Folder.stories-C34siiUF.js} +1 -1
- package/storybook-static/assets/{FuzzyText.stories-CoZEjZrD.js → FuzzyText.stories-DoRGPHuR.js} +1 -1
- package/storybook-static/assets/{Galaxy.stories-D8hfMx7x.js → Galaxy.stories-CoORoc2P.js} +1 -1
- package/storybook-static/assets/{GhostCursor.stories-DmAEHIj2.js → GhostCursor.stories-qUL8J6dR.js} +1 -1
- package/storybook-static/assets/{GlareHover.stories-C2pGThOS.js → GlareHover.stories-CCdco059.js} +1 -1
- package/storybook-static/assets/{GlassSurface.stories-Dt29DAS0.js → GlassSurface.stories-DZY8JTI_.js} +1 -1
- package/storybook-static/assets/{GlitchText.stories-sqo6Y5iu.js → GlitchText.stories-BOc2qtp8.js} +1 -1
- package/storybook-static/assets/{GooeyNav.stories-DxgFxo-U.js → GooeyNav.stories-AdVJ0HTE.js} +1 -1
- package/storybook-static/assets/{GradientBlinds.stories-BO3udAca.js → GradientBlinds.stories-CPMa1wbI.js} +1 -1
- package/storybook-static/assets/{GradientText.stories-DwqimEmN.js → GradientText.stories-DiQ4BiOA.js} +1 -1
- package/storybook-static/assets/{Grainient.stories-DrGFYn0A.js → Grainient.stories-6AktjTpR.js} +1 -1
- package/storybook-static/assets/{GridMotion.stories-Rbww9MSf.js → GridMotion.stories-CpUxov1L.js} +1 -1
- package/storybook-static/assets/{ImageSlideshow.stories-BOxjGf7e.js → ImageSlideshow.stories-BB_WEc_C.js} +1 -1
- package/storybook-static/assets/{Iridescence.stories-CTQo8feH.js → Iridescence.stories-DVY4Ad82.js} +1 -1
- package/storybook-static/assets/{LaserFlow.stories-DsHyOCT6.js → LaserFlow.stories-BIwcrTST.js} +1 -1
- package/storybook-static/assets/{LetterGlitch.stories-DYnbcxa2.js → LetterGlitch.stories-CYLP01fr.js} +1 -1
- package/storybook-static/assets/{LightPillar.stories-C0oLGh9j.js → LightPillar.stories-Op3-RL2H.js} +1 -1
- package/storybook-static/assets/{LightRays.stories-y4A3LO7i.js → LightRays.stories-BWfITZGs.js} +1 -1
- package/storybook-static/assets/{Lightning.stories-Bjuvt9ng.js → Lightning.stories-z3EqNFWs.js} +1 -1
- package/storybook-static/assets/{LineWaves.stories-DXHfmcAY.js → LineWaves.stories-CN-U2RZb.js} +1 -1
- package/storybook-static/assets/{LiquidChrome.stories-BIJKsALp.js → LiquidChrome.stories-CQunDA00.js} +1 -1
- package/storybook-static/assets/{LiquidEther.stories-Zn4y8_Dj.js → LiquidEther.stories-Dx5E22qa.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner-T2OjcR-z.js → LoadingSpinner-xoFPGq9a.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner.stories-YZPlVrIL.js → LoadingSpinner.stories-BXcLzSiN.js} +1 -1
- package/storybook-static/assets/{MagicRings.stories-B17cxZu8.js → MagicRings.stories-ChpUpgBm.js} +1 -1
- package/storybook-static/assets/{Magnet.stories-C6geVwXu.js → Magnet.stories-CUAsnJjx.js} +1 -1
- package/storybook-static/assets/{MagnetLines.stories-uCo-0xpG.js → MagnetLines.stories-BtKFg9_t.js} +1 -1
- package/storybook-static/assets/{Masonry.stories-BsaHuUl3.js → Masonry.stories-BfT7aonk.js} +1 -1
- package/storybook-static/assets/{MetaBalls.stories-CfS9YAYf.js → MetaBalls.stories-Bpx6y2Mq.js} +1 -1
- package/storybook-static/assets/{MetallicPaint.stories-CPnRKq8Y.js → MetallicPaint.stories-i_KuUoJ7.js} +1 -1
- package/storybook-static/assets/{MoodChart.stories-Bhzx-Mki.js → MoodChart.stories-BUrwIpbe.js} +1 -1
- package/storybook-static/assets/{MotionConfigContext-4uS6JRtS.js → MotionConfigContext-BdSKNtzx.js} +1 -1
- package/storybook-static/assets/{Navbar.stories-CTJisFgI.js → Navbar.stories-B5n2URGj.js} +1 -1
- package/storybook-static/assets/{Noise.stories-CV2ieqjl.js → Noise.stories-BiOgX5JV.js} +1 -1
- package/storybook-static/assets/{NumberStepper-0N2zZmLM.js → NumberStepper-DvLaVPaJ.js} +1 -1
- package/storybook-static/assets/{NumberStepper.stories-DO0SaXet.js → NumberStepper.stories-Tp2dyXJp.js} +1 -1
- package/storybook-static/assets/{Orb.stories-BO2G-id7.js → Orb.stories-B4ymfobF.js} +1 -1
- package/storybook-static/assets/{OrbitImages.stories-Dd0Un1zc.js → OrbitImages.stories-BOOJ2sLz.js} +1 -1
- package/storybook-static/assets/{PieChart.stories-YSBHUrlk.js → PieChart.stories-eN4T-LQ5.js} +1 -1
- package/storybook-static/assets/{PixelBlast.stories-DLOdQdBC.js → PixelBlast.stories-CKyxO1s-.js} +1 -1
- package/storybook-static/assets/{PixelCard.stories-DL1EW33U.js → PixelCard.stories-DNkvTz5j.js} +1 -1
- package/storybook-static/assets/{PixelSnow.stories-40ms3GpO.js → PixelSnow.stories-DDwr-w1I.js} +1 -1
- package/storybook-static/assets/{PixelTransition.stories-Ce0j1LoP.js → PixelTransition.stories-nLfk3vHv.js} +1 -1
- package/storybook-static/assets/{Plasma.stories-C-qYly6i.js → Plasma.stories-CiQrlhdr.js} +1 -1
- package/storybook-static/assets/{Prism.stories-BzLhe_ek.js → Prism.stories-DiUQJHSM.js} +1 -1
- package/storybook-static/assets/{PrismaticBurst.stories-DODqjw3j.js → PrismaticBurst.stories-CE1GpHYN.js} +1 -1
- package/storybook-static/assets/{ProfileCard.stories-DUyZIJ8A.js → ProfileCard.stories-CLCPDEvl.js} +1 -1
- package/storybook-static/assets/{QuantifiableHabitsChart.stories-DvgzevZP.js → QuantifiableHabitsChart.stories-qCi1Hwlz.js} +1 -1
- package/storybook-static/assets/{Radar.stories-2RPf1QSy.js → Radar.stories-DKY5fGUM.js} +1 -1
- package/storybook-static/assets/{Ribbons.stories-RmoPiIi9.js → Ribbons.stories-fdt7Dly3.js} +1 -1
- package/storybook-static/assets/{RippleGrid.stories-Otw1g2CJ.js → RippleGrid.stories-n5CU7uPT.js} +1 -1
- package/storybook-static/assets/{RotatingText.stories-NgYC0KMN.js → RotatingText.stories-D345b2IH.js} +1 -1
- package/storybook-static/assets/{ScrollFloat.stories-BFBCdW8h.js → ScrollFloat.stories-vqa9uxYG.js} +1 -1
- package/storybook-static/assets/{ScrollReveal.stories-JKNxxGAh.js → ScrollReveal.stories-dYbCWXJL.js} +1 -1
- package/storybook-static/assets/{ScrollVelocity.stories-C8kmHqS4.js → ScrollVelocity.stories-BNKZ-bfJ.js} +1 -1
- package/storybook-static/assets/{SearchBar.stories-C7Ba5BXp.js → SearchBar.stories-CXEYCYtx.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown-C_6nW_fM.js → SearchableDropdown-BTWjVlVv.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown.stories-Cr7zD259.js → SearchableDropdown.stories-BBXXroOM.js} +1 -1
- package/storybook-static/assets/{SelectInput-Cq1kd98Q.js → SelectInput-BhKBu2cI.js} +1 -1
- package/storybook-static/assets/{SelectInput.stories-BdpLeHVn.js → SelectInput.stories-W6PuLg-G.js} +1 -1
- package/storybook-static/assets/{ShapeBlur.stories-lRfZvgfc.js → ShapeBlur.stories-wsyTNDdI.js} +1 -1
- package/storybook-static/assets/{ShapeGrid.stories-CfjM9fjH.js → ShapeGrid.stories-BP0HTLmc.js} +1 -1
- package/storybook-static/assets/{ShinyText.stories-DKdXfhML.js → ShinyText.stories-2ZQhiBft.js} +1 -1
- package/storybook-static/assets/{Silk.stories-CjTLyn1c.js → Silk.stories-C973tELu.js} +1 -1
- package/storybook-static/assets/{SleepChart.stories-DJ12EHQj.js → SleepChart.stories-C-nic0Hg.js} +1 -1
- package/storybook-static/assets/{Slider-CjC8kTvA.js → Slider-Cj4NY5N0.js} +1 -1
- package/storybook-static/assets/{Slider.stories-8dOh6zEz.js → Slider.stories-DLEYO7pQ.js} +1 -1
- package/storybook-static/assets/{SoftAurora.stories-OVy3Uj5H.js → SoftAurora.stories-BwKGvWh1.js} +1 -1
- package/storybook-static/assets/{SoundDemo.stories-BMnOeJoJ.js → SoundDemo.stories-BBGMylUU.js} +1 -1
- package/storybook-static/assets/{SplashCursor.stories-D-l4tdFh.js → SplashCursor.stories-Nh-ONQGd.js} +1 -1
- package/storybook-static/assets/{SpotlightCard.stories-CGzh2DPl.js → SpotlightCard.stories-C7FUbVoM.js} +1 -1
- package/storybook-static/assets/{Stack.stories-CGsiQ3oD.js → Stack.stories-eXwEbGTy.js} +1 -1
- package/storybook-static/assets/{StaggeredMenu.stories-Bq5nvfqE.js → StaggeredMenu.stories-tgVDfUr0.js} +1 -1
- package/storybook-static/assets/{StarBorder.stories-CAGKcU-0.js → StarBorder.stories-D36zbc2N.js} +1 -1
- package/storybook-static/assets/SunburstChart-Cvr1OzgE.css +1 -0
- package/storybook-static/assets/SunburstChart.stories-CgCbkhG8.js +285 -0
- package/storybook-static/assets/{Table.stories-DNxjy4mw.js → Table.stories-BdABrDyr.js} +1 -1
- package/storybook-static/assets/Tabs-CLXu7F99.css +1 -0
- package/storybook-static/assets/{Tabs.stories-CujhnpzV.js → Tabs.stories-BwzAz5v_.js} +6 -6
- package/storybook-static/assets/{TargetCursor.stories-CjS6RpDB.js → TargetCursor.stories-D1M0ZV-S.js} +1 -1
- package/storybook-static/assets/{TextArea-DHBnvidn.js → TextArea-CMvPbRqQ.js} +1 -1
- package/storybook-static/assets/{TextArea.stories-CCC4mZkh.js → TextArea.stories-DmAuD1fB.js} +1 -1
- package/storybook-static/assets/{TextCursor.stories-DbbUKuuf.js → TextCursor.stories-CJmFUz8s.js} +1 -1
- package/storybook-static/assets/{TextInput-BRLXZRi0.js → TextInput-7QROD9Bu.js} +1 -1
- package/storybook-static/assets/{TextInput.stories-DzmoEdX3.js → TextInput.stories-Cwf2_Ika.js} +1 -1
- package/storybook-static/assets/{TextPressure.stories-BjGjNHuq.js → TextPressure.stories-CB8UIoN_.js} +1 -1
- package/storybook-static/assets/{TextType.stories-BCEjz-Zi.js → TextType.stories-D4ZEW3Fz.js} +1 -1
- package/storybook-static/assets/{ThemeSwitcher.stories-0T7fY3d_.js → ThemeSwitcher.stories-DHgVmIcC.js} +1 -1
- package/storybook-static/assets/{Threads.stories-DDlSfgD5.js → Threads.stories-P32yG4P8.js} +1 -1
- package/storybook-static/assets/{TimeInput.stories-CjV4ksEX.js → TimeInput.stories-Dkkdpsta.js} +1 -1
- package/storybook-static/assets/{Toggle-C26yCxt_.js → Toggle-DLu7xVQv.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-D5LQoJpm.js → Toggle.stories-BSS4Epfw.js} +1 -1
- package/storybook-static/assets/{ToggleButton-DKVqKQxZ.js → ToggleButton-Cq7dxxuH.js} +1 -1
- package/storybook-static/assets/{ToggleButton.stories-BfAEDMOR.js → ToggleButton.stories-BZvOkwfy.js} +1 -1
- package/storybook-static/assets/{TrueFocus.stories-DA9Ysraz.js → TrueFocus.stories-BMRj967B.js} +1 -1
- package/storybook-static/assets/{VariableProximity.stories-CN-Q4WDX.js → VariableProximity.stories-B6-tbs3n.js} +1 -1
- package/storybook-static/assets/{Waves.stories-W2IDhrZm.js → Waves.stories-CAJon3iL.js} +1 -1
- package/storybook-static/assets/{check-Bh0K2zJt.js → check-D8bWZLP6.js} +1 -1
- package/storybook-static/assets/{chevron-down-B26xHSrx.js → chevron-down-BZPtZoHS.js} +1 -1
- package/storybook-static/assets/{chevron-right-4NIYYZ8p.js → chevron-right-B4kqmwjo.js} +1 -1
- package/storybook-static/assets/client-er7qZ0kF.js +1 -0
- package/storybook-static/assets/{createLucideIcon-wa-8tr0c.js → createLucideIcon-Eaeny9Zi.js} +1 -1
- package/storybook-static/assets/{folder-OUDa6Ti7.js → folder-DNcKa6s5.js} +1 -1
- package/storybook-static/assets/{iconBase-fo9b9WAM.js → iconBase-CstVDnta.js} +1 -1
- package/storybook-static/assets/{iframe-2N7rjfXm.js → iframe-CvT6MryR.js} +4 -4
- package/storybook-static/assets/{index-IKMS7NhW.js → index-2ZuXCVEx.js} +1 -1
- package/storybook-static/assets/{index-DaJY9FlE.js → index-Cb6YhhUk.js} +1 -1
- package/storybook-static/assets/{index-BXmXrRij.js → index-KuyQzDCw.js} +1 -1
- package/storybook-static/assets/{layout-grid-DMX9O4XB.js → layout-grid-nUVet5Tw.js} +1 -1
- package/storybook-static/assets/{proxy-qiKixXs8.js → proxy-0exJiild.js} +1 -1
- package/storybook-static/assets/{react-18-DajuY7cH.js → react-18-KOo_VULj.js} +1 -1
- package/storybook-static/assets/{react-three-fiber.esm-pSSy_32K.js → react-three-fiber.esm-BbD9yVT_.js} +1 -1
- package/storybook-static/assets/{search-DBjUUDRM.js → search-Cfa-rwoK.js} +1 -1
- package/storybook-static/assets/{sun-WV9AmUvz.js → sun-BwQ2hAsY.js} +1 -1
- package/storybook-static/assets/{use-animation-frame-DNrI5vnP.js → use-animation-frame-BOMew7B2.js} +1 -1
- package/storybook-static/assets/{use-in-view-Dn2glBsV.js → use-in-view-BP3CscI2.js} +1 -1
- package/storybook-static/assets/{use-motion-value-w2f8nz4L.js → use-motion-value-DfJqnIZb.js} +1 -1
- package/storybook-static/assets/{use-spring-CDOZMwuR.js → use-spring-SHZiaDU4.js} +1 -1
- package/storybook-static/assets/{use-transform-DZyAm4Sp.js → use-transform-CATrWDJd.js} +1 -1
- package/storybook-static/assets/{useSound-BBLJ5Rjg.js → useSound-DyOR6GVH.js} +1 -1
- package/storybook-static/assets/{users-0pBe6bxm.js → users-CoCnAJkL.js} +1 -1
- package/storybook-static/assets/{x-k5o8Jl5E.js → x-D_m9a61B.js} +1 -1
- package/storybook-static/iframe.html +1 -1
- package/storybook-static/project.json +1 -1
- package/storybook-static/sb-addons/chromatic-com-storybook-4/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/docs-2/manager-bundle.js +2 -2
- package/storybook-static/sb-addons/links-3/manager-bundle.js +1 -1
- package/storybook-static/sb-addons/storybook-5/manager-bundle.js +1 -1
- package/storybook-static/assets/Calendar-zTw0ddxb.css +0 -1
- package/storybook-static/assets/SunburstChart-ChXvU9py.css +0 -1
- package/storybook-static/assets/SunburstChart.stories-ceDZ0sGS.js +0 -285
- package/storybook-static/assets/Tabs-BfJ7skOE.css +0 -1
- package/storybook-static/assets/client-CyPtLppF.js +0 -1
package/dist/index.js
CHANGED
|
@@ -4307,40 +4307,20 @@ const BooleansHeatmap = ({ data, habitName, width = 800, height = 200, habitColo
|
|
|
4307
4307
|
var styles$4 = {"container":"SunburstChart-module_container__w1ZYc","title":"SunburstChart-module_title__T6Ak7","chart":"SunburstChart-module_chart__BFM6E","tooltip":"SunburstChart-module_tooltip__TuTAN"};
|
|
4308
4308
|
|
|
4309
4309
|
const COLOR_PALETTE = [
|
|
4310
|
-
'#6366f1',
|
|
4311
|
-
'#
|
|
4312
|
-
'#
|
|
4310
|
+
'#6366f1',
|
|
4311
|
+
'#8b5cf6',
|
|
4312
|
+
'#06b6d4',
|
|
4313
|
+
'#10b981',
|
|
4314
|
+
'#f59e0b',
|
|
4315
|
+
'#ef4444',
|
|
4316
|
+
'#ec4899',
|
|
4317
|
+
'#84cc16',
|
|
4318
|
+
'#f97316',
|
|
4319
|
+
'#3b82f6',
|
|
4320
|
+
'#14b8a6',
|
|
4321
|
+
'#f59e0b',
|
|
4313
4322
|
];
|
|
4314
|
-
|
|
4315
|
-
const getTextColor$1 = (backgroundColor) => {
|
|
4316
|
-
const color = d3__namespace.color(backgroundColor);
|
|
4317
|
-
if (!color)
|
|
4318
|
-
return 'var(--text-primary)';
|
|
4319
|
-
const rgb = color.rgb();
|
|
4320
|
-
// Calculate relative luminance using WCAG formula
|
|
4321
|
-
// Normalize RGB values to 0-1 range for proper calculation
|
|
4322
|
-
const r = rgb.r / 255;
|
|
4323
|
-
const g = rgb.g / 255;
|
|
4324
|
-
const b = rgb.b / 255;
|
|
4325
|
-
// Apply gamma correction
|
|
4326
|
-
const rLinear = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);
|
|
4327
|
-
const gLinear = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);
|
|
4328
|
-
const bLinear = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);
|
|
4329
|
-
// Calculate relative luminance
|
|
4330
|
-
const luminance = 0.2126 * rLinear + 0.7152 * gLinear + 0.0722 * bLinear;
|
|
4331
|
-
// Use a threshold of 0.5 for better contrast
|
|
4332
|
-
return luminance > 0.5 ? '#000000' : '#ffffff';
|
|
4333
|
-
};
|
|
4334
|
-
// Helper to create an interpolated arc generator for transitions
|
|
4335
|
-
const createInterpolatedArc = (currX0, currX1, currY0, currY1, radius) => {
|
|
4336
|
-
return d3__namespace.arc()
|
|
4337
|
-
.startAngle(() => currX0)
|
|
4338
|
-
.endAngle(() => currX1)
|
|
4339
|
-
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4340
|
-
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4341
|
-
.cornerRadius(3);
|
|
4342
|
-
};
|
|
4343
|
-
const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Chart', tagColors = {}, unit = 'items', centerLabel }) => {
|
|
4323
|
+
const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Chart', tagColors = {}, unit = 'items', centerLabel, }) => {
|
|
4344
4324
|
const svgRef = React.useRef(null);
|
|
4345
4325
|
const colorMap = React.useRef(new Map()).current;
|
|
4346
4326
|
const colorIndex = React.useRef(0);
|
|
@@ -4352,7 +4332,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4352
4332
|
const color = d3__namespace.color(tagColors[name]);
|
|
4353
4333
|
if (color) {
|
|
4354
4334
|
// Darken for deeper levels
|
|
4355
|
-
return depth > 1
|
|
4335
|
+
return depth > 1
|
|
4336
|
+
? color.darker((depth - 1) * 0.3).toString()
|
|
4337
|
+
: color.toString();
|
|
4356
4338
|
}
|
|
4357
4339
|
}
|
|
4358
4340
|
// Fallback to color palette
|
|
@@ -4372,15 +4354,13 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4372
4354
|
return;
|
|
4373
4355
|
const svg = d3__namespace.select(svgRef.current);
|
|
4374
4356
|
svg.selectAll('*').remove();
|
|
4375
|
-
const g = svg.append('g')
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
.sum(d => d.size ?? 0)
|
|
4357
|
+
const g = svg.append('g').attr('transform', `translate(${width / 2},${height / 2})`);
|
|
4358
|
+
const root = d3__namespace
|
|
4359
|
+
.hierarchy(data)
|
|
4360
|
+
.sum((d) => d.size ?? 0)
|
|
4379
4361
|
.sort((a, b) => (b.value ?? 0) - (a.value ?? 0));
|
|
4380
|
-
const partition = d3__namespace.partition()
|
|
4381
|
-
.size([2 * Math.PI, radius * radius]);
|
|
4362
|
+
const partition = d3__namespace.partition().size([2 * Math.PI, radius * radius]);
|
|
4382
4363
|
const nodes = partition(root).descendants();
|
|
4383
|
-
// Store original positions for reset
|
|
4384
4364
|
nodes.forEach((d) => {
|
|
4385
4365
|
const node = d;
|
|
4386
4366
|
node.x0Original = d.x0;
|
|
@@ -4388,25 +4368,27 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4388
4368
|
node.y0Original = d.y0;
|
|
4389
4369
|
node.y1Original = d.y1;
|
|
4390
4370
|
});
|
|
4391
|
-
const arc = d3__namespace
|
|
4392
|
-
.
|
|
4393
|
-
.
|
|
4394
|
-
.
|
|
4395
|
-
.
|
|
4371
|
+
const arc = d3__namespace
|
|
4372
|
+
.arc()
|
|
4373
|
+
.startAngle((d) => d.x0)
|
|
4374
|
+
.endAngle((d) => d.x1)
|
|
4375
|
+
.innerRadius((d) => Math.sqrt(d.y0))
|
|
4376
|
+
.outerRadius((d) => Math.sqrt(d.y1))
|
|
4396
4377
|
.cornerRadius(3);
|
|
4397
|
-
const tooltip = d3__namespace
|
|
4378
|
+
const tooltip = d3__namespace
|
|
4379
|
+
.select('body')
|
|
4380
|
+
.append('div')
|
|
4398
4381
|
.attr('class', styles$4.tooltip)
|
|
4399
4382
|
.style('opacity', 0)
|
|
4400
4383
|
.style('position', 'absolute');
|
|
4401
4384
|
// Function to reset to original view
|
|
4402
4385
|
const resetView = () => {
|
|
4403
4386
|
focusedNodeRef.current = null;
|
|
4404
|
-
const transition = d3__namespace.transition()
|
|
4405
|
-
.duration(750)
|
|
4406
|
-
.ease(d3__namespace.easeCubicInOut);
|
|
4387
|
+
const transition = d3__namespace.transition().duration(750).ease(d3__namespace.easeCubicInOut);
|
|
4407
4388
|
// First show all elements
|
|
4408
4389
|
paths.style('opacity', 1);
|
|
4409
|
-
paths
|
|
4390
|
+
paths
|
|
4391
|
+
.transition(transition)
|
|
4410
4392
|
.attrTween('d', (d) => {
|
|
4411
4393
|
const node = d;
|
|
4412
4394
|
return (t) => {
|
|
@@ -4420,12 +4402,18 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4420
4402
|
node.x1 = currX1;
|
|
4421
4403
|
node.y0 = currY0;
|
|
4422
4404
|
node.y1 = currY1;
|
|
4423
|
-
const interpolatedArc =
|
|
4405
|
+
const interpolatedArc = d3__namespace
|
|
4406
|
+
.arc()
|
|
4407
|
+
.startAngle(() => currX0)
|
|
4408
|
+
.endAngle(() => currX1)
|
|
4409
|
+
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4410
|
+
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4411
|
+
.cornerRadius(3);
|
|
4424
4412
|
return interpolatedArc(node) || '';
|
|
4425
4413
|
};
|
|
4426
4414
|
});
|
|
4427
4415
|
// Restore cursor style based on whether nodes have children
|
|
4428
|
-
paths.style('cursor', d =>
|
|
4416
|
+
paths.style('cursor', (d) => !d.children || d.children.length === 0 ? 'default' : 'pointer');
|
|
4429
4417
|
// Reset center button cursor
|
|
4430
4418
|
centerResetButton.style('cursor', 'default');
|
|
4431
4419
|
// Update labels
|
|
@@ -4444,29 +4432,30 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4444
4432
|
return;
|
|
4445
4433
|
}
|
|
4446
4434
|
focusedNodeRef.current = clickedNode;
|
|
4447
|
-
const transition = d3__namespace.transition()
|
|
4448
|
-
.duration(750)
|
|
4449
|
-
.ease(d3__namespace.easeCubicInOut);
|
|
4435
|
+
const transition = d3__namespace.transition().duration(750).ease(d3__namespace.easeCubicInOut);
|
|
4450
4436
|
// Zoom to clicked node - scale to fill the entire circle
|
|
4451
4437
|
const clickedOriginal = clickedNode;
|
|
4452
4438
|
// Ensure we use the original x values for proper scaling
|
|
4453
4439
|
// The x-scale maps the clicked node's angular extent to the full circle
|
|
4454
|
-
const xScale = d3__namespace
|
|
4440
|
+
const xScale = d3__namespace
|
|
4441
|
+
.scaleLinear()
|
|
4455
4442
|
.domain([clickedOriginal.x0Original, clickedOriginal.x1Original])
|
|
4456
4443
|
.range([0, 2 * Math.PI])
|
|
4457
4444
|
.clamp(true); // Ensure values stay within bounds
|
|
4458
4445
|
// For the radial scale, always use the full radius available
|
|
4459
4446
|
// Find the deepest descendant to ensure all children fit
|
|
4460
|
-
const descendants = nodes.filter(d => isParentOf(clickedNode, d));
|
|
4461
|
-
const maxChildRadius = Math.max(...descendants.map(d => d.y1Original));
|
|
4447
|
+
const descendants = nodes.filter((d) => isParentOf(clickedNode, d));
|
|
4448
|
+
const maxChildRadius = Math.max(...descendants.map((d) => d.y1Original));
|
|
4462
4449
|
// Always scale to use the full radius, regardless of original size
|
|
4463
|
-
const yScale = d3__namespace
|
|
4450
|
+
const yScale = d3__namespace
|
|
4451
|
+
.scaleLinear()
|
|
4464
4452
|
.domain([clickedOriginal.y0Original, maxChildRadius])
|
|
4465
4453
|
.range([0, radius * radius])
|
|
4466
4454
|
.clamp(true); // Ensure values stay within bounds
|
|
4467
4455
|
// First, immediately hide elements that shouldn't be visible
|
|
4468
|
-
paths.style('opacity', (d) => isParentOf(clickedNode, d) ? 1 : 0);
|
|
4469
|
-
paths
|
|
4456
|
+
paths.style('opacity', (d) => (isParentOf(clickedNode, d) ? 1 : 0));
|
|
4457
|
+
paths
|
|
4458
|
+
.transition(transition)
|
|
4470
4459
|
.attrTween('d', (d) => {
|
|
4471
4460
|
const node = d;
|
|
4472
4461
|
// Only transform nodes that are descendants of the clicked node
|
|
@@ -4476,14 +4465,15 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4476
4465
|
}
|
|
4477
4466
|
// Calculate new positions based on the original positions
|
|
4478
4467
|
// ALWAYS scale to fill the full circle, no minimum size preservation
|
|
4479
|
-
|
|
4468
|
+
let newX0 = xScale(node.x0Original);
|
|
4480
4469
|
let newX1 = xScale(node.x1Original);
|
|
4481
4470
|
// Ensure proper scaling even for very small segments
|
|
4482
4471
|
// The clicked node's extent should always map to full circle
|
|
4483
4472
|
if (newX1 <= newX0) {
|
|
4484
4473
|
// Force proper angular extent based on proportion
|
|
4485
|
-
const proportion = (node.x1Original - node.x0Original) /
|
|
4486
|
-
|
|
4474
|
+
const proportion = (node.x1Original - node.x0Original) /
|
|
4475
|
+
(clickedOriginal.x1Original - clickedOriginal.x0Original);
|
|
4476
|
+
newX1 = newX0 + 2 * Math.PI * proportion;
|
|
4487
4477
|
}
|
|
4488
4478
|
// For radial positions, scale appropriately
|
|
4489
4479
|
let newY0, newY1;
|
|
@@ -4492,7 +4482,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4492
4482
|
newY0 = 0;
|
|
4493
4483
|
// If it has children, leave room for them; otherwise fill to edge
|
|
4494
4484
|
if (node.children && node.children.length > 0) {
|
|
4495
|
-
const childrenY0 = Math.min(...node.children.map(c => c.y0Original));
|
|
4485
|
+
const childrenY0 = Math.min(...node.children.map((c) => c.y0Original));
|
|
4496
4486
|
newY1 = yScale(childrenY0) * 0.98; // Very slight gap for visual separation
|
|
4497
4487
|
}
|
|
4498
4488
|
else {
|
|
@@ -4521,12 +4511,18 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4521
4511
|
node.x1 = currX1;
|
|
4522
4512
|
node.y0 = currY0;
|
|
4523
4513
|
node.y1 = currY1;
|
|
4524
|
-
const interpolatedArc =
|
|
4514
|
+
const interpolatedArc = d3__namespace
|
|
4515
|
+
.arc()
|
|
4516
|
+
.startAngle(() => currX0)
|
|
4517
|
+
.endAngle(() => currX1)
|
|
4518
|
+
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4519
|
+
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4520
|
+
.cornerRadius(3);
|
|
4525
4521
|
return interpolatedArc(node) || '';
|
|
4526
4522
|
};
|
|
4527
4523
|
});
|
|
4528
4524
|
// Update labels for zoomed view
|
|
4529
|
-
updateLabels(transition, nodes.filter(d => isParentOf(clickedNode, d)));
|
|
4525
|
+
updateLabels(transition, nodes.filter((d) => isParentOf(clickedNode, d)));
|
|
4530
4526
|
// Update cursor style to indicate segments are not clickable
|
|
4531
4527
|
paths.style('cursor', 'default');
|
|
4532
4528
|
// Update center button to be clickable
|
|
@@ -4544,11 +4540,13 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4544
4540
|
}
|
|
4545
4541
|
return false;
|
|
4546
4542
|
};
|
|
4547
|
-
const paths = g
|
|
4548
|
-
.
|
|
4549
|
-
.
|
|
4550
|
-
.
|
|
4551
|
-
.
|
|
4543
|
+
const paths = g
|
|
4544
|
+
.selectAll('path')
|
|
4545
|
+
.data(nodes.filter((d) => d.depth > 0 && d.value && d.value > 0))
|
|
4546
|
+
.enter()
|
|
4547
|
+
.append('path')
|
|
4548
|
+
.attr('d', arc)
|
|
4549
|
+
.attr('fill', (d) => {
|
|
4552
4550
|
let ancestor = d;
|
|
4553
4551
|
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4554
4552
|
ancestor = ancestor.parent;
|
|
@@ -4561,27 +4559,26 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4561
4559
|
return computedStyle.getPropertyValue('--color-border') || '#e2e8f0';
|
|
4562
4560
|
})
|
|
4563
4561
|
.attr('stroke-width', 2)
|
|
4564
|
-
.style('cursor', d =>
|
|
4562
|
+
.style('cursor', (d) => !d.children || d.children.length === 0 ? 'default' : 'pointer')
|
|
4565
4563
|
.on('click', handleClick)
|
|
4566
4564
|
.on('mouseover', function (event, d) {
|
|
4567
4565
|
// Don't show hover effect if already focused
|
|
4568
4566
|
if (focusedNodeRef.current) {
|
|
4569
4567
|
return;
|
|
4570
4568
|
}
|
|
4571
|
-
const hoveredElement =
|
|
4569
|
+
const hoveredElement = this;
|
|
4572
4570
|
// Show tooltip for all nodes
|
|
4573
|
-
tooltip.transition()
|
|
4574
|
-
.duration(200)
|
|
4575
|
-
.style('opacity', 1);
|
|
4571
|
+
tooltip.transition().duration(200).style('opacity', 1);
|
|
4576
4572
|
const value = d.value || 0;
|
|
4577
4573
|
const percentage = ((value / (root.value || 1)) * 100).toFixed(1);
|
|
4578
|
-
tooltip
|
|
4574
|
+
tooltip
|
|
4575
|
+
.html(`
|
|
4579
4576
|
<div><strong>${d.data.name}</strong></div>
|
|
4580
4577
|
<div>Value: ${value}</div>
|
|
4581
4578
|
<div>${percentage}% of total</div>
|
|
4582
4579
|
`)
|
|
4583
|
-
.style('left',
|
|
4584
|
-
.style('top',
|
|
4580
|
+
.style('left', event.pageX + 10 + 'px')
|
|
4581
|
+
.style('top', event.pageY - 28 + 'px');
|
|
4585
4582
|
// Apply blur to all other segments
|
|
4586
4583
|
paths.each(function () {
|
|
4587
4584
|
if (this !== hoveredElement) {
|
|
@@ -4602,21 +4599,15 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4602
4599
|
})
|
|
4603
4600
|
.on('mouseout', function () {
|
|
4604
4601
|
// Hide tooltip
|
|
4605
|
-
tooltip.transition()
|
|
4606
|
-
.duration(500)
|
|
4607
|
-
.style('opacity', 0);
|
|
4602
|
+
tooltip.transition().duration(500).style('opacity', 0);
|
|
4608
4603
|
// Reset all segments
|
|
4609
|
-
paths
|
|
4610
|
-
.transition()
|
|
4611
|
-
.duration(200)
|
|
4612
|
-
.style('opacity', 1)
|
|
4613
|
-
.style('filter', 'none');
|
|
4604
|
+
paths.transition().duration(200).style('opacity', 1).style('filter', 'none');
|
|
4614
4605
|
})
|
|
4615
4606
|
.on('mousemove', function (event) {
|
|
4616
4607
|
// Update tooltip position on mouse move
|
|
4617
4608
|
tooltip
|
|
4618
|
-
.style('left',
|
|
4619
|
-
.style('top',
|
|
4609
|
+
.style('left', event.pageX + 10 + 'px')
|
|
4610
|
+
.style('top', event.pageY - 28 + 'px');
|
|
4620
4611
|
});
|
|
4621
4612
|
const shouldDisplayLabel = (d) => {
|
|
4622
4613
|
const angle = d.x1 - d.x0;
|
|
@@ -4632,7 +4623,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4632
4623
|
// Wait for transition to complete before adding new labels
|
|
4633
4624
|
transition.on('end', () => {
|
|
4634
4625
|
// Filter out the focused node itself when zoomed (it's shown in center)
|
|
4635
|
-
const nodesToLabel = visibleNodes.filter(d => {
|
|
4626
|
+
const nodesToLabel = visibleNodes.filter((d) => {
|
|
4636
4627
|
if (focusedNodeRef.current && d === focusedNodeRef.current) {
|
|
4637
4628
|
return false; // Don't show label for the zoomed parent node
|
|
4638
4629
|
}
|
|
@@ -4640,9 +4631,10 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4640
4631
|
});
|
|
4641
4632
|
g.selectAll('text.segment-label')
|
|
4642
4633
|
.data(nodesToLabel)
|
|
4643
|
-
.enter()
|
|
4634
|
+
.enter()
|
|
4635
|
+
.append('text')
|
|
4644
4636
|
.attr('class', 'segment-label')
|
|
4645
|
-
.attr('transform', d => {
|
|
4637
|
+
.attr('transform', (d) => {
|
|
4646
4638
|
const angle = (d.x0 + d.x1) / 2;
|
|
4647
4639
|
const radiusVal = (Math.sqrt(d.y0) + Math.sqrt(d.y1)) / 2;
|
|
4648
4640
|
const x = Math.cos(angle - Math.PI / 2) * radiusVal;
|
|
@@ -4651,29 +4643,12 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4651
4643
|
})
|
|
4652
4644
|
.attr('text-anchor', 'middle')
|
|
4653
4645
|
.attr('alignment-baseline', 'middle')
|
|
4654
|
-
.attr('font-size', d => d.depth === 1 ? '
|
|
4655
|
-
.attr('fill',
|
|
4656
|
-
|
|
4657
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4658
|
-
ancestor = ancestor.parent;
|
|
4659
|
-
}
|
|
4660
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4661
|
-
return getTextColor$1(segmentColor);
|
|
4662
|
-
})
|
|
4663
|
-
.attr('font-weight', '600')
|
|
4646
|
+
.attr('font-size', (d) => (d.depth === 1 ? '14px' : '12px'))
|
|
4647
|
+
.attr('fill', 'var(--color-text)')
|
|
4648
|
+
.attr('font-weight', '700')
|
|
4664
4649
|
.style('pointer-events', 'none')
|
|
4665
|
-
.style('text-shadow',
|
|
4666
|
-
|
|
4667
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4668
|
-
ancestor = ancestor.parent;
|
|
4669
|
-
}
|
|
4670
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4671
|
-
const textColor = getTextColor$1(segmentColor);
|
|
4672
|
-
// Add subtle shadow for better readability
|
|
4673
|
-
const shadowColor = textColor === '#ffffff' ? 'rgba(0,0,0,0.3)' : 'rgba(255,255,255,0.3)';
|
|
4674
|
-
return `0 1px 1px ${shadowColor}`;
|
|
4675
|
-
})
|
|
4676
|
-
.text(d => {
|
|
4650
|
+
.style('text-shadow', 'none')
|
|
4651
|
+
.text((d) => {
|
|
4677
4652
|
const maxLength = d.depth === 1 ? 12 : 8;
|
|
4678
4653
|
return d.data.name.substring(0, maxLength);
|
|
4679
4654
|
})
|
|
@@ -4686,7 +4661,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4686
4661
|
const computedStyle = window.getComputedStyle(svgRef.current);
|
|
4687
4662
|
const centerTextColor = computedStyle.getPropertyValue('--text-primary') ||
|
|
4688
4663
|
(computedStyle.getPropertyValue('--bg-primary') === '#000000' ||
|
|
4689
|
-
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4664
|
+
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4665
|
+
? '#ffffff'
|
|
4666
|
+
: '#000000');
|
|
4690
4667
|
g.append('text')
|
|
4691
4668
|
.attr('class', 'center-label')
|
|
4692
4669
|
.attr('text-anchor', 'middle')
|
|
@@ -4695,7 +4672,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4695
4672
|
.attr('font-weight', 'bold')
|
|
4696
4673
|
.attr('fill', centerTextColor)
|
|
4697
4674
|
.style('pointer-events', 'none')
|
|
4698
|
-
.text(currentNode === root
|
|
4675
|
+
.text(currentNode === root
|
|
4676
|
+
? centerLabel || data.name || 'Total'
|
|
4677
|
+
: currentNode.data.name)
|
|
4699
4678
|
.style('opacity', 0)
|
|
4700
4679
|
.transition()
|
|
4701
4680
|
.duration(200)
|
|
@@ -4718,7 +4697,8 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4718
4697
|
};
|
|
4719
4698
|
// Add invisible center reset button (circle in the middle)
|
|
4720
4699
|
const centerRadius = Math.sqrt(nodes[0].y0) || radius * 0.3;
|
|
4721
|
-
const centerResetButton = g
|
|
4700
|
+
const centerResetButton = g
|
|
4701
|
+
.append('circle')
|
|
4722
4702
|
.attr('class', 'center-reset-button')
|
|
4723
4703
|
.attr('r', centerRadius)
|
|
4724
4704
|
.attr('fill', 'transparent')
|
|
@@ -4751,7 +4731,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4751
4731
|
const computedStyle = window.getComputedStyle(svgRef.current);
|
|
4752
4732
|
const centerTextColor = computedStyle.getPropertyValue('--text-primary') ||
|
|
4753
4733
|
(computedStyle.getPropertyValue('--bg-primary') === '#000000' ||
|
|
4754
|
-
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4734
|
+
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4735
|
+
? '#ffffff'
|
|
4736
|
+
: '#000000');
|
|
4755
4737
|
// Add center text
|
|
4756
4738
|
g.append('text')
|
|
4757
4739
|
.attr('class', 'center-label')
|
|
@@ -4773,10 +4755,11 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4773
4755
|
.style('pointer-events', 'none')
|
|
4774
4756
|
.text(`${(root.value || 0).toLocaleString()} ${unit}`);
|
|
4775
4757
|
g.selectAll('text.segment-label')
|
|
4776
|
-
.data(nodes.filter(d => d.depth > 0 && d.value && d.value > 0 && shouldDisplayLabel(d)))
|
|
4777
|
-
.enter()
|
|
4758
|
+
.data(nodes.filter((d) => d.depth > 0 && d.value && d.value > 0 && shouldDisplayLabel(d)))
|
|
4759
|
+
.enter()
|
|
4760
|
+
.append('text')
|
|
4778
4761
|
.attr('class', 'segment-label')
|
|
4779
|
-
.attr('transform', d => {
|
|
4762
|
+
.attr('transform', (d) => {
|
|
4780
4763
|
const angle = (d.x0 + d.x1) / 2;
|
|
4781
4764
|
const radiusVal = (Math.sqrt(d.y0) + Math.sqrt(d.y1)) / 2;
|
|
4782
4765
|
const x = Math.cos(angle - Math.PI / 2) * radiusVal;
|
|
@@ -4785,37 +4768,20 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4785
4768
|
})
|
|
4786
4769
|
.attr('text-anchor', 'middle')
|
|
4787
4770
|
.attr('alignment-baseline', 'middle')
|
|
4788
|
-
.attr('font-size', d => d.depth === 1 ? '
|
|
4789
|
-
.attr('fill',
|
|
4790
|
-
|
|
4791
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4792
|
-
ancestor = ancestor.parent;
|
|
4793
|
-
}
|
|
4794
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4795
|
-
return getTextColor$1(segmentColor);
|
|
4796
|
-
})
|
|
4797
|
-
.attr('font-weight', '600')
|
|
4771
|
+
.attr('font-size', (d) => (d.depth === 1 ? '14px' : '12px'))
|
|
4772
|
+
.attr('fill', 'var(--color-text)')
|
|
4773
|
+
.attr('font-weight', '700')
|
|
4798
4774
|
.style('pointer-events', 'none')
|
|
4799
|
-
.style('text-shadow',
|
|
4800
|
-
|
|
4801
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4802
|
-
ancestor = ancestor.parent;
|
|
4803
|
-
}
|
|
4804
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4805
|
-
const textColor = getTextColor$1(segmentColor);
|
|
4806
|
-
// Add subtle shadow for better readability
|
|
4807
|
-
const shadowColor = textColor === '#ffffff' ? 'rgba(0,0,0,0.3)' : 'rgba(255,255,255,0.3)';
|
|
4808
|
-
return `0 1px 1px ${shadowColor}`;
|
|
4809
|
-
})
|
|
4810
|
-
.text(d => {
|
|
4775
|
+
.style('text-shadow', 'none')
|
|
4776
|
+
.text((d) => {
|
|
4811
4777
|
const maxLength = d.depth === 1 ? 12 : 8;
|
|
4812
4778
|
return d.data.name.substring(0, maxLength);
|
|
4813
4779
|
});
|
|
4814
4780
|
return () => {
|
|
4815
4781
|
tooltip.remove();
|
|
4816
4782
|
};
|
|
4817
|
-
}, [data, width, height, colorMap, radius, tagColors, unit, centerLabel
|
|
4818
|
-
return (jsxRuntime.jsxs("div", { className: styles$4.container, children: [jsxRuntime.jsx("h3", { className: styles$4.title, children: title }), jsxRuntime.jsx("svg", { ref: svgRef,
|
|
4783
|
+
}, [data, width, height, colorMap, radius, tagColors, unit, centerLabel]);
|
|
4784
|
+
return (jsxRuntime.jsxs("div", { className: styles$4.container, children: [jsxRuntime.jsx("h3", { className: styles$4.title, children: title }), jsxRuntime.jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, className: styles$4.chart })] }));
|
|
4819
4785
|
};
|
|
4820
4786
|
|
|
4821
4787
|
var styles$3 = {"container":"PieChart-module_container__tXjbe","title":"PieChart-module_title__61o0R","chartContainer":"PieChart-module_chartContainer__uLmOz","chart":"PieChart-module_chart__3nqON","legend":"PieChart-module_legend__rAWgh","legendItem":"PieChart-module_legendItem__Nb031","legendColor":"PieChart-module_legendColor__fLuv9","legendLabel":"PieChart-module_legendLabel__xbjBr","legendValue":"PieChart-module_legendValue__h2WS2","tooltip":"PieChart-module_tooltip__140RU"};
|