@stfrigerio/sito-template 0.1.39 → 0.1.48
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 +6 -3
- package/storybook-static/assets/{ASCIIText.stories-C2xDENP3.js → ASCIIText.stories-DpBtrb9i.js} +1 -1
- package/storybook-static/assets/{AllAtoms.stories-B6sDWol9.js → AllAtoms.stories-C2hvLJ8w.js} +1 -1
- package/storybook-static/assets/{AnimatedContent.stories-BsmULV3s.js → AnimatedContent.stories-Di9Q7t9j.js} +1 -1
- package/storybook-static/assets/{AnimatedList.stories-CpaOS5Tg.js → AnimatedList.stories-BGyYB85Y.js} +1 -1
- package/storybook-static/assets/{Antigravity.stories-Bt6bMzsu.js → Antigravity.stories-Do1dnEK_.js} +1 -1
- package/storybook-static/assets/{ArrayInput.stories-DWAGBtBK.js → ArrayInput.stories-CNtTKUF0.js} +1 -1
- package/storybook-static/assets/{Aurora.stories-D2saYiRk.js → Aurora.stories-DHuVs0Nh.js} +1 -1
- package/storybook-static/assets/{Beams.stories-BnM_wPsm.js → Beams.stories-C0fr646Y.js} +1 -1
- package/storybook-static/assets/{BlobCursor.stories-DDxFJs49.js → BlobCursor.stories-CQmLI7VF.js} +1 -1
- package/storybook-static/assets/{BlurText.stories-Bpt2Pxty.js → BlurText.stories-Bqhf_75C.js} +1 -1
- package/storybook-static/assets/{BooleansHeatmap.stories-3npXygec.js → BooleansHeatmap.stories-CSTfHU8X.js} +1 -1
- package/storybook-static/assets/{BorderGlow.stories-Ctdci-vM.js → BorderGlow.stories-DllLrSOi.js} +1 -1
- package/storybook-static/assets/{BubbleMenu.stories-D0BfU9Sn.js → BubbleMenu.stories-By8eacsb.js} +1 -1
- package/storybook-static/assets/{Button-Bkr9S309.js → Button-2CSvbnXB.js} +1 -1
- package/storybook-static/assets/{Button.stories-9jnfGkHf.js → Button.stories-CMFODsAR.js} +1 -1
- package/storybook-static/assets/Calendar-gAaU5NXk.css +1 -0
- package/storybook-static/assets/{Calendar.stories-Bv76X2vb.js → Calendar.stories-BPwP3WUJ.js} +8 -8
- package/storybook-static/assets/{Card-BLzDBn78.js → Card-DZVLYsdd.js} +1 -1
- package/storybook-static/assets/{Card.stories-BbHJW4z7.js → Card.stories-DisHmL7k.js} +1 -1
- package/storybook-static/assets/{CardNav.stories-0AGDiezF.js → CardNav.stories-e50-9J_A.js} +1 -1
- package/storybook-static/assets/{Carousel.stories-TJ2kpedN.js → Carousel.stories-B-rI6jNr.js} +1 -1
- package/storybook-static/assets/{Checkbox-CpADrZij.js → Checkbox-D7FUqeuB.js} +1 -1
- package/storybook-static/assets/{Checkbox.stories-RTwjfwnG.js → Checkbox.stories-CyIVTBxZ.js} +1 -1
- package/storybook-static/assets/{ChromaGrid.stories-BQ3E28Hi.js → ChromaGrid.stories-S1cYuc5_.js} +1 -1
- package/storybook-static/assets/{CircularGallery.stories-DJqMMKX-.js → CircularGallery.stories-DRrEcX-Y.js} +1 -1
- package/storybook-static/assets/{CircularText.stories-BFdO2vvu.js → CircularText.stories-CHoRy-lV.js} +1 -1
- package/storybook-static/assets/{ClickSpark.stories-C9eRAhrL.js → ClickSpark.stories-DbPNmGUE.js} +1 -1
- package/storybook-static/assets/{Color-AVL7NMMY-_tP8XmFH.js → Color-AVL7NMMY-C-H2x7hU.js} +1 -1
- package/storybook-static/assets/{ColorBends.stories-BzjHvboa.js → ColorBends.stories-BVGGr3v3.js} +1 -1
- package/storybook-static/assets/{CountUp.stories-C4KGivWd.js → CountUp.stories-Ofg9f0h2.js} +1 -1
- package/storybook-static/assets/{Counter.stories-D0YBBEvJ.js → Counter.stories-CsO7AtIx.js} +1 -1
- package/storybook-static/assets/{Crosshair.stories-DM0VkVrQ.js → Crosshair.stories-kyfwqcvB.js} +1 -1
- package/storybook-static/assets/{Cubes.stories-CDK6pjAy.js → Cubes.stories-hA-HjWNO.js} +1 -1
- package/storybook-static/assets/{CurvedLoop.stories-gsnw1c_E.js → CurvedLoop.stories-CHdhTRmN.js} +1 -1
- package/storybook-static/assets/{DarkVeil.stories-C5L7QoIF.js → DarkVeil.stories-B68s8uCO.js} +1 -1
- package/storybook-static/assets/{DateInput-DDPZqyBR.js → DateInput-DYaAr-pD.js} +1 -1
- package/storybook-static/assets/{DateInput.stories-B2N9buuW.js → DateInput.stories-D8DGjdAu.js} +1 -1
- package/storybook-static/assets/{DecayCard.stories-YGHrmyBt.js → DecayCard.stories-RASuy9DU.js} +1 -1
- package/storybook-static/assets/{DecryptedText.stories-B5x1eEwu.js → DecryptedText.stories-BYt96S4h.js} +1 -1
- package/storybook-static/assets/{Dither.stories-1NJxvHAv.js → Dither.stories-BoRhWSS3.js} +1 -1
- package/storybook-static/assets/{Dock.stories-BkL_Ddtn.js → Dock.stories-HG_pJS3N.js} +1 -1
- package/storybook-static/assets/{DocsRenderer-PQXLIZUC-e7izZ1Ax.js → DocsRenderer-PQXLIZUC-DhsqOTVk.js} +4 -4
- package/storybook-static/assets/{EditFAB.stories-CHva2s7W.js → EditFAB.stories-CTGHZ2-N.js} +1 -1
- package/storybook-static/assets/{EvilEye.stories-QosS4nGr.js → EvilEye.stories-CIq_GN_B.js} +1 -1
- package/storybook-static/assets/{FadeContent.stories-CQDQC3hl.js → FadeContent.stories-D4XSUqNs.js} +1 -1
- package/storybook-static/assets/{FaultyTerminal.stories-CPrObG0w.js → FaultyTerminal.stories-D47h3D9_.js} +1 -1
- package/storybook-static/assets/{Fbo-CjO1EXQj.js → Fbo-DJ3Mfipf.js} +1 -1
- package/storybook-static/assets/{FloatingLines.stories-D3I_iw-g.js → FloatingLines.stories-DwrsyJ8S.js} +1 -1
- package/storybook-static/assets/{FlowingMenu.stories-BmR27_hE.js → FlowingMenu.stories-BQGeeDYk.js} +1 -1
- package/storybook-static/assets/{FluidGlass.stories-CrjfBTV6.js → FluidGlass.stories-BNEe11fE.js} +1 -1
- package/storybook-static/assets/{Folder.stories-DQJN6c0j.js → Folder.stories-C34siiUF.js} +1 -1
- package/storybook-static/assets/{FuzzyText.stories-zdwwY1Eh.js → FuzzyText.stories-DoRGPHuR.js} +1 -1
- package/storybook-static/assets/{Galaxy.stories-B3moXy9j.js → Galaxy.stories-CoORoc2P.js} +1 -1
- package/storybook-static/assets/{GhostCursor.stories-l58_4Z7e.js → GhostCursor.stories-qUL8J6dR.js} +1 -1
- package/storybook-static/assets/{GlareHover.stories-BRGDypMB.js → GlareHover.stories-CCdco059.js} +1 -1
- package/storybook-static/assets/{GlassSurface.stories-BghO_KVP.js → GlassSurface.stories-DZY8JTI_.js} +1 -1
- package/storybook-static/assets/{GlitchText.stories-rGZAjXwr.js → GlitchText.stories-BOc2qtp8.js} +1 -1
- package/storybook-static/assets/{GooeyNav.stories-Ca-d0UXQ.js → GooeyNav.stories-AdVJ0HTE.js} +1 -1
- package/storybook-static/assets/{GradientBlinds.stories-BQDyziZr.js → GradientBlinds.stories-CPMa1wbI.js} +1 -1
- package/storybook-static/assets/{GradientText.stories-DgmckSCu.js → GradientText.stories-DiQ4BiOA.js} +1 -1
- package/storybook-static/assets/{Grainient.stories-8y3SuU8n.js → Grainient.stories-6AktjTpR.js} +1 -1
- package/storybook-static/assets/{GridMotion.stories-DbXQdTvS.js → GridMotion.stories-CpUxov1L.js} +1 -1
- package/storybook-static/assets/{ImageSlideshow.stories-BXFPrrNl.js → ImageSlideshow.stories-BB_WEc_C.js} +1 -1
- package/storybook-static/assets/{Iridescence.stories-DuPTQ9Fo.js → Iridescence.stories-DVY4Ad82.js} +1 -1
- package/storybook-static/assets/{LaserFlow.stories-DkwNBv4p.js → LaserFlow.stories-BIwcrTST.js} +1 -1
- package/storybook-static/assets/{LetterGlitch.stories-BqwpeJRY.js → LetterGlitch.stories-CYLP01fr.js} +1 -1
- package/storybook-static/assets/{LightPillar.stories-BR4beWO5.js → LightPillar.stories-Op3-RL2H.js} +1 -1
- package/storybook-static/assets/{LightRays.stories-B3LIIkr4.js → LightRays.stories-BWfITZGs.js} +1 -1
- package/storybook-static/assets/{Lightning.stories-DMfFw1rE.js → Lightning.stories-z3EqNFWs.js} +1 -1
- package/storybook-static/assets/{LineWaves.stories-1wQVWsio.js → LineWaves.stories-CN-U2RZb.js} +1 -1
- package/storybook-static/assets/{LiquidChrome.stories-DjaXtUK6.js → LiquidChrome.stories-CQunDA00.js} +1 -1
- package/storybook-static/assets/{LiquidEther.stories-CBrhorPT.js → LiquidEther.stories-Dx5E22qa.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner-Cz1P0luX.js → LoadingSpinner-xoFPGq9a.js} +1 -1
- package/storybook-static/assets/{LoadingSpinner.stories-Es0dDszY.js → LoadingSpinner.stories-BXcLzSiN.js} +1 -1
- package/storybook-static/assets/{MagicRings.stories-BeLXvBv9.js → MagicRings.stories-ChpUpgBm.js} +1 -1
- package/storybook-static/assets/{Magnet.stories-CICXGf2j.js → Magnet.stories-CUAsnJjx.js} +1 -1
- package/storybook-static/assets/{MagnetLines.stories-D6mS1H0S.js → MagnetLines.stories-BtKFg9_t.js} +1 -1
- package/storybook-static/assets/{Masonry.stories-DeNkhLqR.js → Masonry.stories-BfT7aonk.js} +1 -1
- package/storybook-static/assets/{MetaBalls.stories-CJw3g9l_.js → MetaBalls.stories-Bpx6y2Mq.js} +1 -1
- package/storybook-static/assets/{MetallicPaint.stories-DXrEd8Sz.js → MetallicPaint.stories-i_KuUoJ7.js} +1 -1
- package/storybook-static/assets/{MoodChart.stories-DYRAoHr7.js → MoodChart.stories-BUrwIpbe.js} +1 -1
- package/storybook-static/assets/{MotionConfigContext-C_Ro_xsO.js → MotionConfigContext-BdSKNtzx.js} +1 -1
- package/storybook-static/assets/{Navbar.stories-B0_sa2Hr.js → Navbar.stories-B5n2URGj.js} +1 -1
- package/storybook-static/assets/{Noise.stories-CFYN81ep.js → Noise.stories-BiOgX5JV.js} +1 -1
- package/storybook-static/assets/{NumberStepper-CWsYbCdm.js → NumberStepper-DvLaVPaJ.js} +1 -1
- package/storybook-static/assets/{NumberStepper.stories-DtsWeT0-.js → NumberStepper.stories-Tp2dyXJp.js} +1 -1
- package/storybook-static/assets/{Orb.stories-CDw4x9GM.js → Orb.stories-B4ymfobF.js} +1 -1
- package/storybook-static/assets/{OrbitImages.stories-DLeS6BKi.js → OrbitImages.stories-BOOJ2sLz.js} +1 -1
- package/storybook-static/assets/{PieChart.stories-ByeJD3jM.js → PieChart.stories-eN4T-LQ5.js} +1 -1
- package/storybook-static/assets/{PixelBlast.stories-DZHlNBbC.js → PixelBlast.stories-CKyxO1s-.js} +1 -1
- package/storybook-static/assets/{PixelCard.stories-DD3uedTX.js → PixelCard.stories-DNkvTz5j.js} +1 -1
- package/storybook-static/assets/{PixelSnow.stories-GOOKq9Jo.js → PixelSnow.stories-DDwr-w1I.js} +1 -1
- package/storybook-static/assets/{PixelTransition.stories-7l0r4CEg.js → PixelTransition.stories-nLfk3vHv.js} +1 -1
- package/storybook-static/assets/{Plasma.stories-BNQMi2qs.js → Plasma.stories-CiQrlhdr.js} +1 -1
- package/storybook-static/assets/{Prism.stories-DD-1CeHx.js → Prism.stories-DiUQJHSM.js} +1 -1
- package/storybook-static/assets/{PrismaticBurst.stories-Bgr0PBrA.js → PrismaticBurst.stories-CE1GpHYN.js} +1 -1
- package/storybook-static/assets/{ProfileCard.stories-DAHKcZT1.js → ProfileCard.stories-CLCPDEvl.js} +1 -1
- package/storybook-static/assets/{QuantifiableHabitsChart.stories-6RkqSLP7.js → QuantifiableHabitsChart.stories-qCi1Hwlz.js} +1 -1
- package/storybook-static/assets/{Radar.stories-BFyFeDmo.js → Radar.stories-DKY5fGUM.js} +1 -1
- package/storybook-static/assets/{Ribbons.stories-D20uKPGq.js → Ribbons.stories-fdt7Dly3.js} +1 -1
- package/storybook-static/assets/{RippleGrid.stories-BKV-9TCI.js → RippleGrid.stories-n5CU7uPT.js} +1 -1
- package/storybook-static/assets/{RotatingText.stories-BnBClUQv.js → RotatingText.stories-D345b2IH.js} +1 -1
- package/storybook-static/assets/{ScrollFloat.stories-tzqiOgHH.js → ScrollFloat.stories-vqa9uxYG.js} +1 -1
- package/storybook-static/assets/{ScrollReveal.stories-4a1gyKmu.js → ScrollReveal.stories-dYbCWXJL.js} +1 -1
- package/storybook-static/assets/{ScrollVelocity.stories-1YFBGtbZ.js → ScrollVelocity.stories-BNKZ-bfJ.js} +1 -1
- package/storybook-static/assets/{SearchBar.stories-T1tR-GmV.js → SearchBar.stories-CXEYCYtx.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown-DhEHRY6d.js → SearchableDropdown-BTWjVlVv.js} +1 -1
- package/storybook-static/assets/{SearchableDropdown.stories-E1pMIVn_.js → SearchableDropdown.stories-BBXXroOM.js} +1 -1
- package/storybook-static/assets/{SelectInput-BrdH7gJ5.js → SelectInput-BhKBu2cI.js} +1 -1
- package/storybook-static/assets/{SelectInput.stories-BJ8-v1VC.js → SelectInput.stories-W6PuLg-G.js} +1 -1
- package/storybook-static/assets/{ShapeBlur.stories-BD9LHX3y.js → ShapeBlur.stories-wsyTNDdI.js} +1 -1
- package/storybook-static/assets/{ShapeGrid.stories-MtqpqIIh.js → ShapeGrid.stories-BP0HTLmc.js} +1 -1
- package/storybook-static/assets/{ShinyText.stories-qP5FdChR.js → ShinyText.stories-2ZQhiBft.js} +1 -1
- package/storybook-static/assets/{Silk.stories-BHYeNKYP.js → Silk.stories-C973tELu.js} +1 -1
- package/storybook-static/assets/{SleepChart.stories-BcwHExRn.js → SleepChart.stories-C-nic0Hg.js} +1 -1
- package/storybook-static/assets/{Slider-A51SjNTF.js → Slider-Cj4NY5N0.js} +1 -1
- package/storybook-static/assets/{Slider.stories-lOqz9gMz.js → Slider.stories-DLEYO7pQ.js} +1 -1
- package/storybook-static/assets/{SoftAurora.stories-sSXHgJo6.js → SoftAurora.stories-BwKGvWh1.js} +1 -1
- package/storybook-static/assets/{SoundDemo.stories-tUFyk4lU.js → SoundDemo.stories-BBGMylUU.js} +1 -1
- package/storybook-static/assets/{SplashCursor.stories-DerGqkHm.js → SplashCursor.stories-Nh-ONQGd.js} +1 -1
- package/storybook-static/assets/{SpotlightCard.stories-DBsgFOws.js → SpotlightCard.stories-C7FUbVoM.js} +1 -1
- package/storybook-static/assets/{Stack.stories-DAcB1tOU.js → Stack.stories-eXwEbGTy.js} +1 -1
- package/storybook-static/assets/{StaggeredMenu.stories-goFBD6nv.js → StaggeredMenu.stories-tgVDfUr0.js} +1 -1
- package/storybook-static/assets/{StarBorder.stories-DBM6IkZW.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-rAe1I70z.js → Table.stories-BdABrDyr.js} +1 -1
- package/storybook-static/assets/Tabs-CLXu7F99.css +1 -0
- package/storybook-static/assets/{Tabs.stories-D3bsFZfU.js → Tabs.stories-BwzAz5v_.js} +6 -6
- package/storybook-static/assets/{TargetCursor.stories-uvcMTfQh.js → TargetCursor.stories-D1M0ZV-S.js} +1 -1
- package/storybook-static/assets/{TextArea-CbqMjFCN.js → TextArea-CMvPbRqQ.js} +1 -1
- package/storybook-static/assets/{TextArea.stories-CuMypTf4.js → TextArea.stories-DmAuD1fB.js} +1 -1
- package/storybook-static/assets/{TextCursor.stories-Bu6iMunU.js → TextCursor.stories-CJmFUz8s.js} +1 -1
- package/storybook-static/assets/{TextInput-BpsPIO3D.js → TextInput-7QROD9Bu.js} +1 -1
- package/storybook-static/assets/{TextInput.stories-C0oXgEQ2.js → TextInput.stories-Cwf2_Ika.js} +1 -1
- package/storybook-static/assets/{TextPressure.stories-DNGUmrTD.js → TextPressure.stories-CB8UIoN_.js} +1 -1
- package/storybook-static/assets/{TextType.stories-BKNycUNL.js → TextType.stories-D4ZEW3Fz.js} +1 -1
- package/storybook-static/assets/{ThemeSwitcher.stories-D5lsOFPy.js → ThemeSwitcher.stories-DHgVmIcC.js} +1 -1
- package/storybook-static/assets/{Threads.stories-VyvPNiLc.js → Threads.stories-P32yG4P8.js} +1 -1
- package/storybook-static/assets/{TimeInput.stories-BC5vDv_Y.js → TimeInput.stories-Dkkdpsta.js} +1 -1
- package/storybook-static/assets/{Toggle-BZxwy2el.js → Toggle-DLu7xVQv.js} +1 -1
- package/storybook-static/assets/{Toggle.stories-VQMzqzt7.js → Toggle.stories-BSS4Epfw.js} +1 -1
- package/storybook-static/assets/{ToggleButton-CijvK4iQ.js → ToggleButton-Cq7dxxuH.js} +1 -1
- package/storybook-static/assets/{ToggleButton.stories-DY0c1Gny.js → ToggleButton.stories-BZvOkwfy.js} +1 -1
- package/storybook-static/assets/{TrueFocus.stories-DEScRjfz.js → TrueFocus.stories-BMRj967B.js} +1 -1
- package/storybook-static/assets/{VariableProximity.stories-DbTKbjW_.js → VariableProximity.stories-B6-tbs3n.js} +1 -1
- package/storybook-static/assets/{Waves.stories-tLQsX0Mg.js → Waves.stories-CAJon3iL.js} +1 -1
- package/storybook-static/assets/{check-CAskjz10.js → check-D8bWZLP6.js} +1 -1
- package/storybook-static/assets/{chevron-down-BI8IU4ZZ.js → chevron-down-BZPtZoHS.js} +1 -1
- package/storybook-static/assets/{chevron-right-DUHx58vO.js → chevron-right-B4kqmwjo.js} +1 -1
- package/storybook-static/assets/client-er7qZ0kF.js +1 -0
- package/storybook-static/assets/{createLucideIcon-C7zEcVM7.js → createLucideIcon-Eaeny9Zi.js} +1 -1
- package/storybook-static/assets/{folder-CR6tETf-.js → folder-DNcKa6s5.js} +1 -1
- package/storybook-static/assets/{iconBase-AISesxwq.js → iconBase-CstVDnta.js} +1 -1
- package/storybook-static/assets/{iframe-Cz1R6gKZ.js → iframe-CvT6MryR.js} +4 -4
- package/storybook-static/assets/{index-CIvCfZMj.js → index-2ZuXCVEx.js} +1 -1
- package/storybook-static/assets/{index-jFY_uKTI.js → index-Cb6YhhUk.js} +1 -1
- package/storybook-static/assets/{index-C2Ys00st.js → index-KuyQzDCw.js} +1 -1
- package/storybook-static/assets/{layout-grid-CE52it1h.js → layout-grid-nUVet5Tw.js} +1 -1
- package/storybook-static/assets/{proxy-CAwOFzsk.js → proxy-0exJiild.js} +1 -1
- package/storybook-static/assets/{react-18-DoKaDswt.js → react-18-KOo_VULj.js} +1 -1
- package/storybook-static/assets/{react-three-fiber.esm-t8sCLCER.js → react-three-fiber.esm-BbD9yVT_.js} +1 -1
- package/storybook-static/assets/{search-DcwY6Xta.js → search-Cfa-rwoK.js} +1 -1
- package/storybook-static/assets/{sun-DeCJTUMz.js → sun-BwQ2hAsY.js} +1 -1
- package/storybook-static/assets/{use-animation-frame-DhanRv3Z.js → use-animation-frame-BOMew7B2.js} +1 -1
- package/storybook-static/assets/{use-in-view-D50EZJ4s.js → use-in-view-BP3CscI2.js} +1 -1
- package/storybook-static/assets/{use-motion-value-BgGWOnBX.js → use-motion-value-DfJqnIZb.js} +1 -1
- package/storybook-static/assets/{use-spring-CKPLi_a5.js → use-spring-SHZiaDU4.js} +1 -1
- package/storybook-static/assets/{use-transform-CJxjUEuh.js → use-transform-CATrWDJd.js} +1 -1
- package/storybook-static/assets/{useSound-DOpt9DfD.js → useSound-DyOR6GVH.js} +1 -1
- package/storybook-static/assets/{users-C7jpE6gP.js → users-CoCnAJkL.js} +1 -1
- package/storybook-static/assets/{x-CP8OMUcV.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-BSjjdOp3.css +0 -1
- package/storybook-static/assets/SunburstChart-ChXvU9py.css +0 -1
- package/storybook-static/assets/SunburstChart.stories-cY39K-7Q.js +0 -285
- package/storybook-static/assets/Tabs-BfJ7skOE.css +0 -1
- package/storybook-static/assets/client-DFRPWCQR.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SunburstChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/charts/SunburstChart/SunburstChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"SunburstChart.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/charts/SunburstChart/SunburstChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAI9D,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAiBD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAklBtD,CAAC"}
|
package/dist/index.esm.js
CHANGED
|
@@ -4286,40 +4286,20 @@ const BooleansHeatmap = ({ data, habitName, width = 800, height = 200, habitColo
|
|
|
4286
4286
|
var styles$4 = {"container":"SunburstChart-module_container__w1ZYc","title":"SunburstChart-module_title__T6Ak7","chart":"SunburstChart-module_chart__BFM6E","tooltip":"SunburstChart-module_tooltip__TuTAN"};
|
|
4287
4287
|
|
|
4288
4288
|
const COLOR_PALETTE = [
|
|
4289
|
-
'#6366f1',
|
|
4290
|
-
'#
|
|
4291
|
-
'#
|
|
4289
|
+
'#6366f1',
|
|
4290
|
+
'#8b5cf6',
|
|
4291
|
+
'#06b6d4',
|
|
4292
|
+
'#10b981',
|
|
4293
|
+
'#f59e0b',
|
|
4294
|
+
'#ef4444',
|
|
4295
|
+
'#ec4899',
|
|
4296
|
+
'#84cc16',
|
|
4297
|
+
'#f97316',
|
|
4298
|
+
'#3b82f6',
|
|
4299
|
+
'#14b8a6',
|
|
4300
|
+
'#f59e0b',
|
|
4292
4301
|
];
|
|
4293
|
-
|
|
4294
|
-
const getTextColor$1 = (backgroundColor) => {
|
|
4295
|
-
const color = d3.color(backgroundColor);
|
|
4296
|
-
if (!color)
|
|
4297
|
-
return 'var(--text-primary)';
|
|
4298
|
-
const rgb = color.rgb();
|
|
4299
|
-
// Calculate relative luminance using WCAG formula
|
|
4300
|
-
// Normalize RGB values to 0-1 range for proper calculation
|
|
4301
|
-
const r = rgb.r / 255;
|
|
4302
|
-
const g = rgb.g / 255;
|
|
4303
|
-
const b = rgb.b / 255;
|
|
4304
|
-
// Apply gamma correction
|
|
4305
|
-
const rLinear = r <= 0.03928 ? r / 12.92 : Math.pow((r + 0.055) / 1.055, 2.4);
|
|
4306
|
-
const gLinear = g <= 0.03928 ? g / 12.92 : Math.pow((g + 0.055) / 1.055, 2.4);
|
|
4307
|
-
const bLinear = b <= 0.03928 ? b / 12.92 : Math.pow((b + 0.055) / 1.055, 2.4);
|
|
4308
|
-
// Calculate relative luminance
|
|
4309
|
-
const luminance = 0.2126 * rLinear + 0.7152 * gLinear + 0.0722 * bLinear;
|
|
4310
|
-
// Use a threshold of 0.5 for better contrast
|
|
4311
|
-
return luminance > 0.5 ? '#000000' : '#ffffff';
|
|
4312
|
-
};
|
|
4313
|
-
// Helper to create an interpolated arc generator for transitions
|
|
4314
|
-
const createInterpolatedArc = (currX0, currX1, currY0, currY1, radius) => {
|
|
4315
|
-
return d3.arc()
|
|
4316
|
-
.startAngle(() => currX0)
|
|
4317
|
-
.endAngle(() => currX1)
|
|
4318
|
-
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4319
|
-
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4320
|
-
.cornerRadius(3);
|
|
4321
|
-
};
|
|
4322
|
-
const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Chart', tagColors = {}, unit = 'items', centerLabel }) => {
|
|
4302
|
+
const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Chart', tagColors = {}, unit = 'items', centerLabel, }) => {
|
|
4323
4303
|
const svgRef = useRef(null);
|
|
4324
4304
|
const colorMap = useRef(new Map()).current;
|
|
4325
4305
|
const colorIndex = useRef(0);
|
|
@@ -4331,7 +4311,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4331
4311
|
const color = d3.color(tagColors[name]);
|
|
4332
4312
|
if (color) {
|
|
4333
4313
|
// Darken for deeper levels
|
|
4334
|
-
return depth > 1
|
|
4314
|
+
return depth > 1
|
|
4315
|
+
? color.darker((depth - 1) * 0.3).toString()
|
|
4316
|
+
: color.toString();
|
|
4335
4317
|
}
|
|
4336
4318
|
}
|
|
4337
4319
|
// Fallback to color palette
|
|
@@ -4351,15 +4333,13 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4351
4333
|
return;
|
|
4352
4334
|
const svg = d3.select(svgRef.current);
|
|
4353
4335
|
svg.selectAll('*').remove();
|
|
4354
|
-
const g = svg.append('g')
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
.sum(d => d.size ?? 0)
|
|
4336
|
+
const g = svg.append('g').attr('transform', `translate(${width / 2},${height / 2})`);
|
|
4337
|
+
const root = d3
|
|
4338
|
+
.hierarchy(data)
|
|
4339
|
+
.sum((d) => d.size ?? 0)
|
|
4358
4340
|
.sort((a, b) => (b.value ?? 0) - (a.value ?? 0));
|
|
4359
|
-
const partition = d3.partition()
|
|
4360
|
-
.size([2 * Math.PI, radius * radius]);
|
|
4341
|
+
const partition = d3.partition().size([2 * Math.PI, radius * radius]);
|
|
4361
4342
|
const nodes = partition(root).descendants();
|
|
4362
|
-
// Store original positions for reset
|
|
4363
4343
|
nodes.forEach((d) => {
|
|
4364
4344
|
const node = d;
|
|
4365
4345
|
node.x0Original = d.x0;
|
|
@@ -4367,25 +4347,27 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4367
4347
|
node.y0Original = d.y0;
|
|
4368
4348
|
node.y1Original = d.y1;
|
|
4369
4349
|
});
|
|
4370
|
-
const arc = d3
|
|
4371
|
-
.
|
|
4372
|
-
.
|
|
4373
|
-
.
|
|
4374
|
-
.
|
|
4350
|
+
const arc = d3
|
|
4351
|
+
.arc()
|
|
4352
|
+
.startAngle((d) => d.x0)
|
|
4353
|
+
.endAngle((d) => d.x1)
|
|
4354
|
+
.innerRadius((d) => Math.sqrt(d.y0))
|
|
4355
|
+
.outerRadius((d) => Math.sqrt(d.y1))
|
|
4375
4356
|
.cornerRadius(3);
|
|
4376
|
-
const tooltip = d3
|
|
4357
|
+
const tooltip = d3
|
|
4358
|
+
.select('body')
|
|
4359
|
+
.append('div')
|
|
4377
4360
|
.attr('class', styles$4.tooltip)
|
|
4378
4361
|
.style('opacity', 0)
|
|
4379
4362
|
.style('position', 'absolute');
|
|
4380
4363
|
// Function to reset to original view
|
|
4381
4364
|
const resetView = () => {
|
|
4382
4365
|
focusedNodeRef.current = null;
|
|
4383
|
-
const transition = d3.transition()
|
|
4384
|
-
.duration(750)
|
|
4385
|
-
.ease(d3.easeCubicInOut);
|
|
4366
|
+
const transition = d3.transition().duration(750).ease(d3.easeCubicInOut);
|
|
4386
4367
|
// First show all elements
|
|
4387
4368
|
paths.style('opacity', 1);
|
|
4388
|
-
paths
|
|
4369
|
+
paths
|
|
4370
|
+
.transition(transition)
|
|
4389
4371
|
.attrTween('d', (d) => {
|
|
4390
4372
|
const node = d;
|
|
4391
4373
|
return (t) => {
|
|
@@ -4399,12 +4381,18 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4399
4381
|
node.x1 = currX1;
|
|
4400
4382
|
node.y0 = currY0;
|
|
4401
4383
|
node.y1 = currY1;
|
|
4402
|
-
const interpolatedArc =
|
|
4384
|
+
const interpolatedArc = d3
|
|
4385
|
+
.arc()
|
|
4386
|
+
.startAngle(() => currX0)
|
|
4387
|
+
.endAngle(() => currX1)
|
|
4388
|
+
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4389
|
+
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4390
|
+
.cornerRadius(3);
|
|
4403
4391
|
return interpolatedArc(node) || '';
|
|
4404
4392
|
};
|
|
4405
4393
|
});
|
|
4406
4394
|
// Restore cursor style based on whether nodes have children
|
|
4407
|
-
paths.style('cursor', d =>
|
|
4395
|
+
paths.style('cursor', (d) => !d.children || d.children.length === 0 ? 'default' : 'pointer');
|
|
4408
4396
|
// Reset center button cursor
|
|
4409
4397
|
centerResetButton.style('cursor', 'default');
|
|
4410
4398
|
// Update labels
|
|
@@ -4423,29 +4411,30 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4423
4411
|
return;
|
|
4424
4412
|
}
|
|
4425
4413
|
focusedNodeRef.current = clickedNode;
|
|
4426
|
-
const transition = d3.transition()
|
|
4427
|
-
.duration(750)
|
|
4428
|
-
.ease(d3.easeCubicInOut);
|
|
4414
|
+
const transition = d3.transition().duration(750).ease(d3.easeCubicInOut);
|
|
4429
4415
|
// Zoom to clicked node - scale to fill the entire circle
|
|
4430
4416
|
const clickedOriginal = clickedNode;
|
|
4431
4417
|
// Ensure we use the original x values for proper scaling
|
|
4432
4418
|
// The x-scale maps the clicked node's angular extent to the full circle
|
|
4433
|
-
const xScale = d3
|
|
4419
|
+
const xScale = d3
|
|
4420
|
+
.scaleLinear()
|
|
4434
4421
|
.domain([clickedOriginal.x0Original, clickedOriginal.x1Original])
|
|
4435
4422
|
.range([0, 2 * Math.PI])
|
|
4436
4423
|
.clamp(true); // Ensure values stay within bounds
|
|
4437
4424
|
// For the radial scale, always use the full radius available
|
|
4438
4425
|
// Find the deepest descendant to ensure all children fit
|
|
4439
|
-
const descendants = nodes.filter(d => isParentOf(clickedNode, d));
|
|
4440
|
-
const maxChildRadius = Math.max(...descendants.map(d => d.y1Original));
|
|
4426
|
+
const descendants = nodes.filter((d) => isParentOf(clickedNode, d));
|
|
4427
|
+
const maxChildRadius = Math.max(...descendants.map((d) => d.y1Original));
|
|
4441
4428
|
// Always scale to use the full radius, regardless of original size
|
|
4442
|
-
const yScale = d3
|
|
4429
|
+
const yScale = d3
|
|
4430
|
+
.scaleLinear()
|
|
4443
4431
|
.domain([clickedOriginal.y0Original, maxChildRadius])
|
|
4444
4432
|
.range([0, radius * radius])
|
|
4445
4433
|
.clamp(true); // Ensure values stay within bounds
|
|
4446
4434
|
// First, immediately hide elements that shouldn't be visible
|
|
4447
|
-
paths.style('opacity', (d) => isParentOf(clickedNode, d) ? 1 : 0);
|
|
4448
|
-
paths
|
|
4435
|
+
paths.style('opacity', (d) => (isParentOf(clickedNode, d) ? 1 : 0));
|
|
4436
|
+
paths
|
|
4437
|
+
.transition(transition)
|
|
4449
4438
|
.attrTween('d', (d) => {
|
|
4450
4439
|
const node = d;
|
|
4451
4440
|
// Only transform nodes that are descendants of the clicked node
|
|
@@ -4455,14 +4444,15 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4455
4444
|
}
|
|
4456
4445
|
// Calculate new positions based on the original positions
|
|
4457
4446
|
// ALWAYS scale to fill the full circle, no minimum size preservation
|
|
4458
|
-
|
|
4447
|
+
let newX0 = xScale(node.x0Original);
|
|
4459
4448
|
let newX1 = xScale(node.x1Original);
|
|
4460
4449
|
// Ensure proper scaling even for very small segments
|
|
4461
4450
|
// The clicked node's extent should always map to full circle
|
|
4462
4451
|
if (newX1 <= newX0) {
|
|
4463
4452
|
// Force proper angular extent based on proportion
|
|
4464
|
-
const proportion = (node.x1Original - node.x0Original) /
|
|
4465
|
-
|
|
4453
|
+
const proportion = (node.x1Original - node.x0Original) /
|
|
4454
|
+
(clickedOriginal.x1Original - clickedOriginal.x0Original);
|
|
4455
|
+
newX1 = newX0 + 2 * Math.PI * proportion;
|
|
4466
4456
|
}
|
|
4467
4457
|
// For radial positions, scale appropriately
|
|
4468
4458
|
let newY0, newY1;
|
|
@@ -4471,7 +4461,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4471
4461
|
newY0 = 0;
|
|
4472
4462
|
// If it has children, leave room for them; otherwise fill to edge
|
|
4473
4463
|
if (node.children && node.children.length > 0) {
|
|
4474
|
-
const childrenY0 = Math.min(...node.children.map(c => c.y0Original));
|
|
4464
|
+
const childrenY0 = Math.min(...node.children.map((c) => c.y0Original));
|
|
4475
4465
|
newY1 = yScale(childrenY0) * 0.98; // Very slight gap for visual separation
|
|
4476
4466
|
}
|
|
4477
4467
|
else {
|
|
@@ -4500,12 +4490,18 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4500
4490
|
node.x1 = currX1;
|
|
4501
4491
|
node.y0 = currY0;
|
|
4502
4492
|
node.y1 = currY1;
|
|
4503
|
-
const interpolatedArc =
|
|
4493
|
+
const interpolatedArc = d3
|
|
4494
|
+
.arc()
|
|
4495
|
+
.startAngle(() => currX0)
|
|
4496
|
+
.endAngle(() => currX1)
|
|
4497
|
+
.innerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY0))))
|
|
4498
|
+
.outerRadius(() => Math.min(radius, Math.sqrt(Math.max(0, currY1))))
|
|
4499
|
+
.cornerRadius(3);
|
|
4504
4500
|
return interpolatedArc(node) || '';
|
|
4505
4501
|
};
|
|
4506
4502
|
});
|
|
4507
4503
|
// Update labels for zoomed view
|
|
4508
|
-
updateLabels(transition, nodes.filter(d => isParentOf(clickedNode, d)));
|
|
4504
|
+
updateLabels(transition, nodes.filter((d) => isParentOf(clickedNode, d)));
|
|
4509
4505
|
// Update cursor style to indicate segments are not clickable
|
|
4510
4506
|
paths.style('cursor', 'default');
|
|
4511
4507
|
// Update center button to be clickable
|
|
@@ -4523,11 +4519,13 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4523
4519
|
}
|
|
4524
4520
|
return false;
|
|
4525
4521
|
};
|
|
4526
|
-
const paths = g
|
|
4527
|
-
.
|
|
4528
|
-
.
|
|
4529
|
-
.
|
|
4530
|
-
.
|
|
4522
|
+
const paths = g
|
|
4523
|
+
.selectAll('path')
|
|
4524
|
+
.data(nodes.filter((d) => d.depth > 0 && d.value && d.value > 0))
|
|
4525
|
+
.enter()
|
|
4526
|
+
.append('path')
|
|
4527
|
+
.attr('d', arc)
|
|
4528
|
+
.attr('fill', (d) => {
|
|
4531
4529
|
let ancestor = d;
|
|
4532
4530
|
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4533
4531
|
ancestor = ancestor.parent;
|
|
@@ -4540,27 +4538,26 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4540
4538
|
return computedStyle.getPropertyValue('--color-border') || '#e2e8f0';
|
|
4541
4539
|
})
|
|
4542
4540
|
.attr('stroke-width', 2)
|
|
4543
|
-
.style('cursor', d =>
|
|
4541
|
+
.style('cursor', (d) => !d.children || d.children.length === 0 ? 'default' : 'pointer')
|
|
4544
4542
|
.on('click', handleClick)
|
|
4545
4543
|
.on('mouseover', function (event, d) {
|
|
4546
4544
|
// Don't show hover effect if already focused
|
|
4547
4545
|
if (focusedNodeRef.current) {
|
|
4548
4546
|
return;
|
|
4549
4547
|
}
|
|
4550
|
-
const hoveredElement =
|
|
4548
|
+
const hoveredElement = this;
|
|
4551
4549
|
// Show tooltip for all nodes
|
|
4552
|
-
tooltip.transition()
|
|
4553
|
-
.duration(200)
|
|
4554
|
-
.style('opacity', 1);
|
|
4550
|
+
tooltip.transition().duration(200).style('opacity', 1);
|
|
4555
4551
|
const value = d.value || 0;
|
|
4556
4552
|
const percentage = ((value / (root.value || 1)) * 100).toFixed(1);
|
|
4557
|
-
tooltip
|
|
4553
|
+
tooltip
|
|
4554
|
+
.html(`
|
|
4558
4555
|
<div><strong>${d.data.name}</strong></div>
|
|
4559
4556
|
<div>Value: ${value}</div>
|
|
4560
4557
|
<div>${percentage}% of total</div>
|
|
4561
4558
|
`)
|
|
4562
|
-
.style('left',
|
|
4563
|
-
.style('top',
|
|
4559
|
+
.style('left', event.pageX + 10 + 'px')
|
|
4560
|
+
.style('top', event.pageY - 28 + 'px');
|
|
4564
4561
|
// Apply blur to all other segments
|
|
4565
4562
|
paths.each(function () {
|
|
4566
4563
|
if (this !== hoveredElement) {
|
|
@@ -4581,21 +4578,15 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4581
4578
|
})
|
|
4582
4579
|
.on('mouseout', function () {
|
|
4583
4580
|
// Hide tooltip
|
|
4584
|
-
tooltip.transition()
|
|
4585
|
-
.duration(500)
|
|
4586
|
-
.style('opacity', 0);
|
|
4581
|
+
tooltip.transition().duration(500).style('opacity', 0);
|
|
4587
4582
|
// Reset all segments
|
|
4588
|
-
paths
|
|
4589
|
-
.transition()
|
|
4590
|
-
.duration(200)
|
|
4591
|
-
.style('opacity', 1)
|
|
4592
|
-
.style('filter', 'none');
|
|
4583
|
+
paths.transition().duration(200).style('opacity', 1).style('filter', 'none');
|
|
4593
4584
|
})
|
|
4594
4585
|
.on('mousemove', function (event) {
|
|
4595
4586
|
// Update tooltip position on mouse move
|
|
4596
4587
|
tooltip
|
|
4597
|
-
.style('left',
|
|
4598
|
-
.style('top',
|
|
4588
|
+
.style('left', event.pageX + 10 + 'px')
|
|
4589
|
+
.style('top', event.pageY - 28 + 'px');
|
|
4599
4590
|
});
|
|
4600
4591
|
const shouldDisplayLabel = (d) => {
|
|
4601
4592
|
const angle = d.x1 - d.x0;
|
|
@@ -4611,7 +4602,7 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4611
4602
|
// Wait for transition to complete before adding new labels
|
|
4612
4603
|
transition.on('end', () => {
|
|
4613
4604
|
// Filter out the focused node itself when zoomed (it's shown in center)
|
|
4614
|
-
const nodesToLabel = visibleNodes.filter(d => {
|
|
4605
|
+
const nodesToLabel = visibleNodes.filter((d) => {
|
|
4615
4606
|
if (focusedNodeRef.current && d === focusedNodeRef.current) {
|
|
4616
4607
|
return false; // Don't show label for the zoomed parent node
|
|
4617
4608
|
}
|
|
@@ -4619,9 +4610,10 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4619
4610
|
});
|
|
4620
4611
|
g.selectAll('text.segment-label')
|
|
4621
4612
|
.data(nodesToLabel)
|
|
4622
|
-
.enter()
|
|
4613
|
+
.enter()
|
|
4614
|
+
.append('text')
|
|
4623
4615
|
.attr('class', 'segment-label')
|
|
4624
|
-
.attr('transform', d => {
|
|
4616
|
+
.attr('transform', (d) => {
|
|
4625
4617
|
const angle = (d.x0 + d.x1) / 2;
|
|
4626
4618
|
const radiusVal = (Math.sqrt(d.y0) + Math.sqrt(d.y1)) / 2;
|
|
4627
4619
|
const x = Math.cos(angle - Math.PI / 2) * radiusVal;
|
|
@@ -4630,29 +4622,12 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4630
4622
|
})
|
|
4631
4623
|
.attr('text-anchor', 'middle')
|
|
4632
4624
|
.attr('alignment-baseline', 'middle')
|
|
4633
|
-
.attr('font-size', d => d.depth === 1 ? '
|
|
4634
|
-
.attr('fill',
|
|
4635
|
-
|
|
4636
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4637
|
-
ancestor = ancestor.parent;
|
|
4638
|
-
}
|
|
4639
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4640
|
-
return getTextColor$1(segmentColor);
|
|
4641
|
-
})
|
|
4642
|
-
.attr('font-weight', '600')
|
|
4625
|
+
.attr('font-size', (d) => (d.depth === 1 ? '14px' : '12px'))
|
|
4626
|
+
.attr('fill', 'var(--color-text)')
|
|
4627
|
+
.attr('font-weight', '700')
|
|
4643
4628
|
.style('pointer-events', 'none')
|
|
4644
|
-
.style('text-shadow',
|
|
4645
|
-
|
|
4646
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4647
|
-
ancestor = ancestor.parent;
|
|
4648
|
-
}
|
|
4649
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4650
|
-
const textColor = getTextColor$1(segmentColor);
|
|
4651
|
-
// Add subtle shadow for better readability
|
|
4652
|
-
const shadowColor = textColor === '#ffffff' ? 'rgba(0,0,0,0.3)' : 'rgba(255,255,255,0.3)';
|
|
4653
|
-
return `0 1px 1px ${shadowColor}`;
|
|
4654
|
-
})
|
|
4655
|
-
.text(d => {
|
|
4629
|
+
.style('text-shadow', 'none')
|
|
4630
|
+
.text((d) => {
|
|
4656
4631
|
const maxLength = d.depth === 1 ? 12 : 8;
|
|
4657
4632
|
return d.data.name.substring(0, maxLength);
|
|
4658
4633
|
})
|
|
@@ -4665,7 +4640,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4665
4640
|
const computedStyle = window.getComputedStyle(svgRef.current);
|
|
4666
4641
|
const centerTextColor = computedStyle.getPropertyValue('--text-primary') ||
|
|
4667
4642
|
(computedStyle.getPropertyValue('--bg-primary') === '#000000' ||
|
|
4668
|
-
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4643
|
+
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4644
|
+
? '#ffffff'
|
|
4645
|
+
: '#000000');
|
|
4669
4646
|
g.append('text')
|
|
4670
4647
|
.attr('class', 'center-label')
|
|
4671
4648
|
.attr('text-anchor', 'middle')
|
|
@@ -4674,7 +4651,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4674
4651
|
.attr('font-weight', 'bold')
|
|
4675
4652
|
.attr('fill', centerTextColor)
|
|
4676
4653
|
.style('pointer-events', 'none')
|
|
4677
|
-
.text(currentNode === root
|
|
4654
|
+
.text(currentNode === root
|
|
4655
|
+
? centerLabel || data.name || 'Total'
|
|
4656
|
+
: currentNode.data.name)
|
|
4678
4657
|
.style('opacity', 0)
|
|
4679
4658
|
.transition()
|
|
4680
4659
|
.duration(200)
|
|
@@ -4697,7 +4676,8 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4697
4676
|
};
|
|
4698
4677
|
// Add invisible center reset button (circle in the middle)
|
|
4699
4678
|
const centerRadius = Math.sqrt(nodes[0].y0) || radius * 0.3;
|
|
4700
|
-
const centerResetButton = g
|
|
4679
|
+
const centerResetButton = g
|
|
4680
|
+
.append('circle')
|
|
4701
4681
|
.attr('class', 'center-reset-button')
|
|
4702
4682
|
.attr('r', centerRadius)
|
|
4703
4683
|
.attr('fill', 'transparent')
|
|
@@ -4730,7 +4710,9 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4730
4710
|
const computedStyle = window.getComputedStyle(svgRef.current);
|
|
4731
4711
|
const centerTextColor = computedStyle.getPropertyValue('--text-primary') ||
|
|
4732
4712
|
(computedStyle.getPropertyValue('--bg-primary') === '#000000' ||
|
|
4733
|
-
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4713
|
+
computedStyle.getPropertyValue('color-scheme') === 'dark'
|
|
4714
|
+
? '#ffffff'
|
|
4715
|
+
: '#000000');
|
|
4734
4716
|
// Add center text
|
|
4735
4717
|
g.append('text')
|
|
4736
4718
|
.attr('class', 'center-label')
|
|
@@ -4752,10 +4734,11 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4752
4734
|
.style('pointer-events', 'none')
|
|
4753
4735
|
.text(`${(root.value || 0).toLocaleString()} ${unit}`);
|
|
4754
4736
|
g.selectAll('text.segment-label')
|
|
4755
|
-
.data(nodes.filter(d => d.depth > 0 && d.value && d.value > 0 && shouldDisplayLabel(d)))
|
|
4756
|
-
.enter()
|
|
4737
|
+
.data(nodes.filter((d) => d.depth > 0 && d.value && d.value > 0 && shouldDisplayLabel(d)))
|
|
4738
|
+
.enter()
|
|
4739
|
+
.append('text')
|
|
4757
4740
|
.attr('class', 'segment-label')
|
|
4758
|
-
.attr('transform', d => {
|
|
4741
|
+
.attr('transform', (d) => {
|
|
4759
4742
|
const angle = (d.x0 + d.x1) / 2;
|
|
4760
4743
|
const radiusVal = (Math.sqrt(d.y0) + Math.sqrt(d.y1)) / 2;
|
|
4761
4744
|
const x = Math.cos(angle - Math.PI / 2) * radiusVal;
|
|
@@ -4764,37 +4747,20 @@ const SunburstChart = ({ data, width = 500, height = 500, title = 'Sunburst Char
|
|
|
4764
4747
|
})
|
|
4765
4748
|
.attr('text-anchor', 'middle')
|
|
4766
4749
|
.attr('alignment-baseline', 'middle')
|
|
4767
|
-
.attr('font-size', d => d.depth === 1 ? '
|
|
4768
|
-
.attr('fill',
|
|
4769
|
-
|
|
4770
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4771
|
-
ancestor = ancestor.parent;
|
|
4772
|
-
}
|
|
4773
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4774
|
-
return getTextColor$1(segmentColor);
|
|
4775
|
-
})
|
|
4776
|
-
.attr('font-weight', '600')
|
|
4750
|
+
.attr('font-size', (d) => (d.depth === 1 ? '14px' : '12px'))
|
|
4751
|
+
.attr('fill', 'var(--color-text)')
|
|
4752
|
+
.attr('font-weight', '700')
|
|
4777
4753
|
.style('pointer-events', 'none')
|
|
4778
|
-
.style('text-shadow',
|
|
4779
|
-
|
|
4780
|
-
while (ancestor.depth > 1 && ancestor.parent) {
|
|
4781
|
-
ancestor = ancestor.parent;
|
|
4782
|
-
}
|
|
4783
|
-
const segmentColor = getColor(ancestor.data.name, d.depth);
|
|
4784
|
-
const textColor = getTextColor$1(segmentColor);
|
|
4785
|
-
// Add subtle shadow for better readability
|
|
4786
|
-
const shadowColor = textColor === '#ffffff' ? 'rgba(0,0,0,0.3)' : 'rgba(255,255,255,0.3)';
|
|
4787
|
-
return `0 1px 1px ${shadowColor}`;
|
|
4788
|
-
})
|
|
4789
|
-
.text(d => {
|
|
4754
|
+
.style('text-shadow', 'none')
|
|
4755
|
+
.text((d) => {
|
|
4790
4756
|
const maxLength = d.depth === 1 ? 12 : 8;
|
|
4791
4757
|
return d.data.name.substring(0, maxLength);
|
|
4792
4758
|
});
|
|
4793
4759
|
return () => {
|
|
4794
4760
|
tooltip.remove();
|
|
4795
4761
|
};
|
|
4796
|
-
}, [data, width, height, colorMap, radius, tagColors, unit, centerLabel
|
|
4797
|
-
return (jsxs("div", { className: styles$4.container, children: [jsx("h3", { className: styles$4.title, children: title }), jsx("svg", { ref: svgRef,
|
|
4762
|
+
}, [data, width, height, colorMap, radius, tagColors, unit, centerLabel]);
|
|
4763
|
+
return (jsxs("div", { className: styles$4.container, children: [jsx("h3", { className: styles$4.title, children: title }), jsx("svg", { ref: svgRef, viewBox: `0 0 ${width} ${height}`, className: styles$4.chart })] }));
|
|
4798
4764
|
};
|
|
4799
4765
|
|
|
4800
4766
|
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"};
|