@plenustech/design-system 0.2.1 → 0.2.3
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/actions/Button/Button.cjs +2 -0
- package/dist/components/actions/Button/Button.cjs.map +1 -0
- package/dist/components/actions/Button/Button.js +47 -0
- package/dist/components/actions/Button/Button.js.map +1 -0
- package/dist/components/actions/Button/Button.module.css.cjs +2 -0
- package/dist/components/actions/Button/Button.module.css.cjs.map +1 -0
- package/dist/components/actions/Button/Button.module.css.js +24 -0
- package/dist/components/actions/Button/Button.module.css.js.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.cjs +2 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.cjs.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.js +21 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.js.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs +2 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.cjs.map +1 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js +14 -0
- package/dist/components/actions/ButtonIcon/ButtonIcon.module.css.js.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.cjs +2 -0
- package/dist/components/actions/ButtonTile/ButtonTile.cjs.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.js +23 -0
- package/dist/components/actions/ButtonTile/ButtonTile.js.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs +2 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.cjs.map +1 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.js +16 -0
- package/dist/components/actions/ButtonTile/ButtonTile.module.css.js.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.cjs +2 -0
- package/dist/components/actions/Toolbar/Toolbar.cjs.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.js +118 -0
- package/dist/components/actions/Toolbar/Toolbar.js.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.cjs +2 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.cjs.map +1 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.js +20 -0
- package/dist/components/actions/Toolbar/Toolbar.module.css.js.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs +2 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.js +253 -0
- package/dist/components/charts/ChartArea/ChartArea.js.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +2 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.js +20 -0
- package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.cjs +2 -0
- package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.js +239 -0
- package/dist/components/charts/ChartBar/ChartBar.js.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +2 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.js +16 -0
- package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.cjs +2 -0
- package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.js +273 -0
- package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +2 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +22 -0
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.cjs +2 -0
- package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.js +118 -0
- package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs +2 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.js +14 -0
- package/dist/components/charts/ChartDonut/ChartDonut.module.css.js.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.cjs +2 -0
- package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.js +219 -0
- package/dist/components/charts/ChartLine/ChartLine.js.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +2 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.js +20 -0
- package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.cjs +2 -0
- package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.js +110 -0
- package/dist/components/charts/ChartPie/ChartPie.js.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.cjs +2 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.js +10 -0
- package/dist/components/charts/ChartPie/ChartPie.module.css.js.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.cjs +2 -0
- package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.js +138 -0
- package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs +2 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.js +16 -0
- package/dist/components/charts/ChartRadial/ChartRadial.module.css.js.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.cjs +2 -0
- package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.js +232 -0
- package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs +2 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.js +22 -0
- package/dist/components/charts/ChartSankey/ChartSankey.module.css.js.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.cjs +2 -0
- package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.js +169 -0
- package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +2 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +14 -0
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +2 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.js +159 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs +2 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js +16 -0
- package/dist/components/charts/ChartSunburst/ChartSunburst.module.css.js.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +2 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.js +113 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs +2 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js +32 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.module.css.js.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +2 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.js +133 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs +2 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js +14 -0
- package/dist/components/charts/ChartTreemap/ChartTreemap.module.css.js.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +2 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +188 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +2 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +14 -0
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -0
- package/dist/components/charts/core/Axis.cjs +2 -0
- package/dist/components/charts/core/Axis.cjs.map +1 -0
- package/dist/components/charts/core/Axis.js +40 -0
- package/dist/components/charts/core/Axis.js.map +1 -0
- package/dist/components/charts/core/BandCursor.cjs +2 -0
- package/dist/components/charts/core/BandCursor.cjs.map +1 -0
- package/dist/components/charts/core/BandCursor.js +19 -0
- package/dist/components/charts/core/BandCursor.js.map +1 -0
- package/dist/components/charts/core/CartesianFrame.cjs +2 -0
- package/dist/components/charts/core/CartesianFrame.cjs.map +1 -0
- package/dist/components/charts/core/CartesianFrame.js +85 -0
- package/dist/components/charts/core/CartesianFrame.js.map +1 -0
- package/dist/components/charts/core/Chart.module.css.cjs +2 -0
- package/dist/components/charts/core/Chart.module.css.cjs.map +1 -0
- package/dist/components/charts/core/Chart.module.css.js +66 -0
- package/dist/components/charts/core/Chart.module.css.js.map +1 -0
- package/dist/components/charts/core/ChartFrame.cjs +2 -0
- package/dist/components/charts/core/ChartFrame.cjs.map +1 -0
- package/dist/components/charts/core/ChartFrame.js +71 -0
- package/dist/components/charts/core/ChartFrame.js.map +1 -0
- package/dist/components/charts/core/ChartLegend.cjs +2 -0
- package/dist/components/charts/core/ChartLegend.cjs.map +1 -0
- package/dist/components/charts/core/ChartLegend.js +44 -0
- package/dist/components/charts/core/ChartLegend.js.map +1 -0
- package/dist/components/charts/core/Grid.cjs +2 -0
- package/dist/components/charts/core/Grid.cjs.map +1 -0
- package/dist/components/charts/core/Grid.js +20 -0
- package/dist/components/charts/core/Grid.js.map +1 -0
- package/dist/components/charts/core/PointBands.cjs +2 -0
- package/dist/components/charts/core/PointBands.cjs.map +1 -0
- package/dist/components/charts/core/PointBands.js +41 -0
- package/dist/components/charts/core/PointBands.js.map +1 -0
- package/dist/components/charts/core/arcs.cjs +2 -0
- package/dist/components/charts/core/arcs.cjs.map +1 -0
- package/dist/components/charts/core/arcs.js +26 -0
- package/dist/components/charts/core/arcs.js.map +1 -0
- package/dist/components/charts/core/cartesianLayout.cjs +2 -0
- package/dist/components/charts/core/cartesianLayout.cjs.map +1 -0
- package/dist/components/charts/core/cartesianLayout.js +67 -0
- package/dist/components/charts/core/cartesianLayout.js.map +1 -0
- package/dist/components/charts/core/centerText.cjs +2 -0
- package/dist/components/charts/core/centerText.cjs.map +1 -0
- package/dist/components/charts/core/centerText.js +31 -0
- package/dist/components/charts/core/centerText.js.map +1 -0
- package/dist/components/charts/core/hoverPath.cjs +2 -0
- package/dist/components/charts/core/hoverPath.cjs.map +1 -0
- package/dist/components/charts/core/hoverPath.js +7 -0
- package/dist/components/charts/core/hoverPath.js.map +1 -0
- package/dist/components/charts/core/measureText.cjs +2 -0
- package/dist/components/charts/core/measureText.cjs.map +1 -0
- package/dist/components/charts/core/measureText.js +55 -0
- package/dist/components/charts/core/measureText.js.map +1 -0
- package/dist/components/charts/core/pointLabels.cjs +2 -0
- package/dist/components/charts/core/pointLabels.cjs.map +1 -0
- package/dist/components/charts/core/pointLabels.js +12 -0
- package/dist/components/charts/core/pointLabels.js.map +1 -0
- package/dist/components/charts/core/shapes.cjs +2 -0
- package/dist/components/charts/core/shapes.cjs.map +1 -0
- package/dist/components/charts/core/shapes.js +31 -0
- package/dist/components/charts/core/shapes.js.map +1 -0
- package/dist/components/charts/core/slices.cjs +2 -0
- package/dist/components/charts/core/slices.cjs.map +1 -0
- package/dist/components/charts/core/slices.js +22 -0
- package/dist/components/charts/core/slices.js.map +1 -0
- package/dist/components/charts/core/spacing.cjs +2 -0
- package/dist/components/charts/core/spacing.cjs.map +1 -0
- package/dist/components/charts/core/spacing.js +26 -0
- package/dist/components/charts/core/spacing.js.map +1 -0
- package/dist/components/charts/core/tooltips.cjs +2 -0
- package/dist/components/charts/core/tooltips.cjs.map +1 -0
- package/dist/components/charts/core/tooltips.js +48 -0
- package/dist/components/charts/core/tooltips.js.map +1 -0
- package/dist/components/charts/core/useCartesianLayout.cjs +2 -0
- package/dist/components/charts/core/useCartesianLayout.cjs.map +1 -0
- package/dist/components/charts/core/useCartesianLayout.js +38 -0
- package/dist/components/charts/core/useCartesianLayout.js.map +1 -0
- package/dist/components/charts/core/useChartMetrics.cjs +2 -0
- package/dist/components/charts/core/useChartMetrics.cjs.map +1 -0
- package/dist/components/charts/core/useChartMetrics.js +39 -0
- package/dist/components/charts/core/useChartMetrics.js.map +1 -0
- package/dist/components/charts/core/useHoveredBand.cjs +2 -0
- package/dist/components/charts/core/useHoveredBand.cjs.map +1 -0
- package/dist/components/charts/core/useHoveredBand.js +14 -0
- package/dist/components/charts/core/useHoveredBand.js.map +1 -0
- package/dist/components/charts/core/useSeriesToggle.cjs +2 -0
- package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -0
- package/dist/components/charts/core/useSeriesToggle.js +29 -0
- package/dist/components/charts/core/useSeriesToggle.js.map +1 -0
- package/dist/components/charts/core/useSliceRing.cjs +2 -0
- package/dist/components/charts/core/useSliceRing.cjs.map +1 -0
- package/dist/components/charts/core/useSliceRing.js +55 -0
- package/dist/components/charts/core/useSliceRing.js.map +1 -0
- package/dist/components/charts/core/useTweenedNumbers.cjs +2 -0
- package/dist/components/charts/core/useTweenedNumbers.cjs.map +1 -0
- package/dist/components/charts/core/useTweenedNumbers.js +31 -0
- package/dist/components/charts/core/useTweenedNumbers.js.map +1 -0
- package/dist/components/charts/palette/palette.cjs +2 -0
- package/dist/components/charts/palette/palette.cjs.map +1 -0
- package/dist/components/charts/palette/palette.js +26 -0
- package/dist/components/charts/palette/palette.js.map +1 -0
- package/dist/components/charts/palette/seriesColor.cjs +2 -0
- package/dist/components/charts/palette/seriesColor.cjs.map +1 -0
- package/dist/components/charts/palette/seriesColor.js +43 -0
- package/dist/components/charts/palette/seriesColor.js.map +1 -0
- package/dist/components/charts/scales/scales.cjs +2 -0
- package/dist/components/charts/scales/scales.cjs.map +1 -0
- package/dist/components/charts/scales/scales.js +74 -0
- package/dist/components/charts/scales/scales.js.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.cjs +2 -0
- package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.js +101 -0
- package/dist/components/data-display/Accordion/Accordion.js.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs +2 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs.map +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.js +26 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.js.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.cjs +2 -0
- package/dist/components/data-display/Avatar/Avatar.cjs.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.js +20 -0
- package/dist/components/data-display/Avatar/Avatar.js.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs +2 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs.map +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.js +14 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.js.map +1 -0
- package/dist/components/data-display/Badge/Badge.cjs +2 -0
- package/dist/components/data-display/Badge/Badge.cjs.map +1 -0
- package/dist/components/data-display/Badge/Badge.js +13 -0
- package/dist/components/data-display/Badge/Badge.js.map +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs +2 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs.map +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.js +22 -0
- package/dist/components/data-display/Badge/Badge.module.css.js.map +1 -0
- package/dist/components/data-display/Card/Card.cjs +2 -0
- package/dist/components/data-display/Card/Card.cjs.map +1 -0
- package/dist/components/data-display/Card/Card.js +51 -0
- package/dist/components/data-display/Card/Card.js.map +1 -0
- package/dist/components/data-display/Card/Card.module.css.cjs +2 -0
- package/dist/components/data-display/Card/Card.module.css.cjs.map +1 -0
- package/dist/components/data-display/Card/Card.module.css.js +26 -0
- package/dist/components/data-display/Card/Card.module.css.js.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs +2 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.js +65 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.js.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs +2 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js +47 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.js.map +1 -0
- package/dist/components/data-display/CodeBlock/syntax.cjs +24 -0
- package/dist/components/data-display/CodeBlock/syntax.cjs.map +1 -0
- package/dist/components/data-display/CodeBlock/syntax.js +124 -0
- package/dist/components/data-display/CodeBlock/syntax.js.map +1 -0
- package/dist/components/data-display/List/List.cjs +2 -0
- package/dist/components/data-display/List/List.cjs.map +1 -0
- package/dist/components/data-display/List/List.js +99 -0
- package/dist/components/data-display/List/List.js.map +1 -0
- package/dist/components/data-display/List/List.module.css.cjs +2 -0
- package/dist/components/data-display/List/List.module.css.cjs.map +1 -0
- package/dist/components/data-display/List/List.module.css.js +32 -0
- package/dist/components/data-display/List/List.module.css.js.map +1 -0
- package/dist/components/data-display/List/ListingOptions.cjs +2 -0
- package/dist/components/data-display/List/ListingOptions.cjs.map +1 -0
- package/dist/components/data-display/List/ListingOptions.js +115 -0
- package/dist/components/data-display/List/ListingOptions.js.map +1 -0
- package/dist/components/data-display/List/useListing.cjs +2 -0
- package/dist/components/data-display/List/useListing.cjs.map +1 -0
- package/dist/components/data-display/List/useListing.js +85 -0
- package/dist/components/data-display/List/useListing.js.map +1 -0
- package/dist/components/data-display/List/useVirtualWindow.cjs +2 -0
- package/dist/components/data-display/List/useVirtualWindow.cjs.map +1 -0
- package/dist/components/data-display/List/useVirtualWindow.js +58 -0
- package/dist/components/data-display/List/useVirtualWindow.js.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.cjs +2 -0
- package/dist/components/data-display/SortableList/SortableList.cjs.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.js +168 -0
- package/dist/components/data-display/SortableList/SortableList.js.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.cjs +2 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.cjs.map +1 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.js +34 -0
- package/dist/components/data-display/SortableList/SortableList.module.css.js.map +1 -0
- package/dist/components/data-display/Table/Table.cjs +2 -0
- package/dist/components/data-display/Table/Table.cjs.map +1 -0
- package/dist/components/data-display/Table/Table.js +239 -0
- package/dist/components/data-display/Table/Table.js.map +1 -0
- package/dist/components/data-display/Table/Table.module.css.cjs +2 -0
- package/dist/components/data-display/Table/Table.module.css.cjs.map +1 -0
- package/dist/components/data-display/Table/Table.module.css.js +68 -0
- package/dist/components/data-display/Table/Table.module.css.js.map +1 -0
- package/dist/components/data-display/Tag/Tag.cjs +2 -0
- package/dist/components/data-display/Tag/Tag.cjs.map +1 -0
- package/dist/components/data-display/Tag/Tag.js +50 -0
- package/dist/components/data-display/Tag/Tag.js.map +1 -0
- package/dist/components/data-display/Tag/Tag.module.css.cjs +2 -0
- package/dist/components/data-display/Tag/Tag.module.css.cjs.map +1 -0
- package/dist/components/data-display/Tag/Tag.module.css.js +22 -0
- package/dist/components/data-display/Tag/Tag.module.css.js.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.cjs +2 -0
- package/dist/components/data-display/Timeline/Timeline.cjs.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.js +31 -0
- package/dist/components/data-display/Timeline/Timeline.js.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs +2 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs.map +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.js +30 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.cjs +2 -0
- package/dist/components/feedback/Alert/Alert.cjs.map +1 -0
- package/dist/components/feedback/Alert/Alert.js +13 -0
- package/dist/components/feedback/Alert/Alert.js.map +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs +2 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs.map +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.js +20 -0
- package/dist/components/feedback/Alert/Alert.module.css.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.cjs +2 -0
- package/dist/components/feedback/EmptyState/EmptyState.cjs.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.js +49 -0
- package/dist/components/feedback/EmptyState/EmptyState.js.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs +2 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.cjs.map +1 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.js +36 -0
- package/dist/components/feedback/EmptyState/EmptyState.module.css.js.map +1 -0
- package/dist/components/feedback/Progress/Progress.cjs +2 -0
- package/dist/components/feedback/Progress/Progress.cjs.map +1 -0
- package/dist/components/feedback/Progress/Progress.js +34 -0
- package/dist/components/feedback/Progress/Progress.js.map +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs +2 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs.map +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.js +21 -0
- package/dist/components/feedback/Progress/Progress.module.css.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs +2 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.js +17 -0
- package/dist/components/feedback/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs +2 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.map +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.js +15 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.js.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.cjs +2 -0
- package/dist/components/feedback/Spinner/Spinner.cjs.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.js +10 -0
- package/dist/components/feedback/Spinner/Spinner.js.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs +2 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs.map +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.js +15 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.js.map +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs +2 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs.map +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.js +31 -0
- package/dist/components/feedback/Toast/Toast.module.css.js.map +1 -0
- package/dist/components/feedback/Toast/ToastRegion.cjs +2 -0
- package/dist/components/feedback/Toast/ToastRegion.cjs.map +1 -0
- package/dist/components/feedback/Toast/ToastRegion.js +62 -0
- package/dist/components/feedback/Toast/ToastRegion.js.map +1 -0
- package/dist/components/feedback/Toast/toastStore.cjs +2 -0
- package/dist/components/feedback/Toast/toastStore.cjs.map +1 -0
- package/dist/components/feedback/Toast/toastStore.js +33 -0
- package/dist/components/feedback/Toast/toastStore.js.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.js +57 -0
- package/dist/components/forms/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +2 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.js +20 -0
- package/dist/components/forms/Checkbox/Checkbox.module.css.js.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs +2 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.cjs.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.js +54 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.js.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs +2 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.cjs.map +1 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js +22 -0
- package/dist/components/forms/CheckboxGroup/CheckboxGroup.module.css.js.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs +2 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.js +57 -0
- package/dist/components/forms/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs +2 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.map +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.js +22 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.js.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.cjs +3 -0
- package/dist/components/forms/ComboBox/ComboBox.cjs.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.js +223 -0
- package/dist/components/forms/ComboBox/ComboBox.js.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +2 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs.map +1 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.js +28 -0
- package/dist/components/forms/ComboBox/ComboBox.module.css.js.map +1 -0
- package/dist/components/forms/DatePicker/Calendar.cjs +2 -0
- package/dist/components/forms/DatePicker/Calendar.cjs.map +1 -0
- package/dist/components/forms/DatePicker/Calendar.js +86 -0
- package/dist/components/forms/DatePicker/Calendar.js.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs +2 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.js +217 -0
- package/dist/components/forms/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs +2 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.js +44 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.js.map +1 -0
- package/dist/components/forms/DatePicker/iso.cjs +2 -0
- package/dist/components/forms/DatePicker/iso.cjs.map +1 -0
- package/dist/components/forms/DatePicker/iso.js +18 -0
- package/dist/components/forms/DatePicker/iso.js.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs +2 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.js +241 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs +2 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js +26 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.js.map +1 -0
- package/dist/components/forms/Field/Field.cjs +2 -0
- package/dist/components/forms/Field/Field.cjs.map +1 -0
- package/dist/components/forms/Field/Field.js +35 -0
- package/dist/components/forms/Field/Field.js.map +1 -0
- package/dist/components/forms/Field/Field.module.css.cjs +2 -0
- package/dist/components/forms/Field/Field.module.css.cjs.map +1 -0
- package/dist/components/forms/Field/Field.module.css.js +22 -0
- package/dist/components/forms/Field/Field.module.css.js.map +1 -0
- package/dist/components/forms/Field/FormValue.cjs +2 -0
- package/dist/components/forms/Field/FormValue.cjs.map +1 -0
- package/dist/components/forms/Field/FormValue.js +24 -0
- package/dist/components/forms/Field/FormValue.js.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.cjs +2 -0
- package/dist/components/forms/FileUpload/FileUpload.cjs.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.js +142 -0
- package/dist/components/forms/FileUpload/FileUpload.js.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs +2 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.map +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.js +46 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.js.map +1 -0
- package/dist/components/forms/InputCurrency/InputCurrency.cjs +2 -0
- package/dist/components/forms/InputCurrency/InputCurrency.cjs.map +1 -0
- package/dist/components/forms/InputCurrency/InputCurrency.js +41 -0
- package/dist/components/forms/InputCurrency/InputCurrency.js.map +1 -0
- package/dist/components/forms/InputNumber/InputNumber.cjs +2 -0
- package/dist/components/forms/InputNumber/InputNumber.cjs.map +1 -0
- package/dist/components/forms/InputNumber/InputNumber.js +39 -0
- package/dist/components/forms/InputNumber/InputNumber.js.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.cjs +2 -0
- package/dist/components/forms/InputPassword/InputPassword.cjs.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.js +110 -0
- package/dist/components/forms/InputPassword/InputPassword.js.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.cjs +2 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.cjs.map +1 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.js +18 -0
- package/dist/components/forms/InputPassword/InputPassword.module.css.js.map +1 -0
- package/dist/components/forms/InputText/InputText.cjs +2 -0
- package/dist/components/forms/InputText/InputText.cjs.map +1 -0
- package/dist/components/forms/InputText/InputText.js +70 -0
- package/dist/components/forms/InputText/InputText.js.map +1 -0
- package/dist/components/forms/InputText/InputText.module.css.cjs +2 -0
- package/dist/components/forms/InputText/InputText.module.css.cjs.map +1 -0
- package/dist/components/forms/InputText/InputText.module.css.js +14 -0
- package/dist/components/forms/InputText/InputText.module.css.js.map +1 -0
- package/dist/components/forms/Label/Label.cjs +2 -0
- package/dist/components/forms/Label/Label.cjs.map +1 -0
- package/dist/components/forms/Label/Label.js +13 -0
- package/dist/components/forms/Label/Label.js.map +1 -0
- package/dist/components/forms/Label/Label.module.css.cjs +2 -0
- package/dist/components/forms/Label/Label.module.css.cjs.map +1 -0
- package/dist/components/forms/Label/Label.module.css.js +10 -0
- package/dist/components/forms/Label/Label.module.css.js.map +1 -0
- package/dist/components/forms/RadioGroup/Radio.cjs +2 -0
- package/dist/components/forms/RadioGroup/Radio.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/Radio.js +43 -0
- package/dist/components/forms/RadioGroup/Radio.js.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.cjs +2 -0
- package/dist/components/forms/RadioGroup/RadioGroup.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.js +58 -0
- package/dist/components/forms/RadioGroup/RadioGroup.js.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +2 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +26 -0
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs +2 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.js +52 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.js.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs +2 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.map +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js +22 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.js.map +1 -0
- package/dist/components/forms/Select/Select.cjs +2 -0
- package/dist/components/forms/Select/Select.cjs.map +1 -0
- package/dist/components/forms/Select/Select.js +191 -0
- package/dist/components/forms/Select/Select.js.map +1 -0
- package/dist/components/forms/Select/Select.module.css.cjs +2 -0
- package/dist/components/forms/Select/Select.module.css.cjs.map +1 -0
- package/dist/components/forms/Select/Select.module.css.js +22 -0
- package/dist/components/forms/Select/Select.module.css.js.map +1 -0
- package/dist/components/forms/Switch/Switch.cjs +2 -0
- package/dist/components/forms/Switch/Switch.cjs.map +1 -0
- package/dist/components/forms/Switch/Switch.js +39 -0
- package/dist/components/forms/Switch/Switch.js.map +1 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs +2 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs.map +1 -0
- package/dist/components/forms/Switch/Switch.module.css.js +20 -0
- package/dist/components/forms/Switch/Switch.module.css.js.map +1 -0
- package/dist/components/forms/Textarea/Textarea.cjs +2 -0
- package/dist/components/forms/Textarea/Textarea.cjs.map +1 -0
- package/dist/components/forms/Textarea/Textarea.js +64 -0
- package/dist/components/forms/Textarea/Textarea.js.map +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs +2 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs.map +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.js +14 -0
- package/dist/components/forms/Textarea/Textarea.module.css.js.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs +2 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.js +176 -0
- package/dist/components/forms/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs +2 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.js +26 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.js.map +1 -0
- package/dist/components/forms/TimePicker/TimeSlots.cjs +2 -0
- package/dist/components/forms/TimePicker/TimeSlots.cjs.map +1 -0
- package/dist/components/forms/TimePicker/TimeSlots.js +81 -0
- package/dist/components/forms/TimePicker/TimeSlots.js.map +1 -0
- package/dist/components/icons/Icon.cjs +2 -0
- package/dist/components/icons/Icon.cjs.map +1 -0
- package/dist/components/icons/Icon.js +24 -0
- package/dist/components/icons/Icon.js.map +1 -0
- package/dist/components/icons/icons.cjs +2 -0
- package/dist/components/icons/icons.cjs.map +1 -0
- package/dist/components/icons/icons.js +274 -0
- package/dist/components/icons/icons.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs +2 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.cjs.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js +22 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs +2 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.cjs.map +1 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js +16 -0
- package/dist/components/navigation/Breadcrumb/Breadcrumb.module.css.js.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.cjs +2 -0
- package/dist/components/navigation/Pagination/Pagination.cjs.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.js +70 -0
- package/dist/components/navigation/Pagination/Pagination.js.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs +2 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs.map +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.js +18 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.js.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.cjs +2 -0
- package/dist/components/navigation/SkipLink/SkipLink.cjs.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.js +9 -0
- package/dist/components/navigation/SkipLink/SkipLink.js.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs +2 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.map +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.js +8 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.js.map +1 -0
- package/dist/components/navigation/Steps/Steps.cjs +2 -0
- package/dist/components/navigation/Steps/Steps.cjs.map +1 -0
- package/dist/components/navigation/Steps/Steps.js +30 -0
- package/dist/components/navigation/Steps/Steps.js.map +1 -0
- package/dist/components/navigation/Steps/Steps.module.css.cjs +2 -0
- package/dist/components/navigation/Steps/Steps.module.css.cjs.map +1 -0
- package/dist/components/navigation/Steps/Steps.module.css.js +26 -0
- package/dist/components/navigation/Steps/Steps.module.css.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs +2 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.js +105 -0
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs +2 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.js +24 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.cjs +2 -0
- package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.js +17 -0
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.cjs +2 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.cjs.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.js +36 -0
- package/dist/components/overlays/Dialog/Dialog.module.css.js.map +1 -0
- package/dist/components/overlays/Dialog/DialogFrame.cjs +2 -0
- package/dist/components/overlays/Dialog/DialogFrame.cjs.map +1 -0
- package/dist/components/overlays/Dialog/DialogFrame.js +65 -0
- package/dist/components/overlays/Dialog/DialogFrame.js.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.cjs +2 -0
- package/dist/components/overlays/Drawer/Drawer.cjs.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.js +17 -0
- package/dist/components/overlays/Drawer/Drawer.js.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs +2 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs.map +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.js +23 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.js.map +1 -0
- package/dist/components/overlays/Menu/Menu.cjs +2 -0
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
- package/dist/components/overlays/Menu/Menu.js +156 -0
- package/dist/components/overlays/Menu/Menu.js.map +1 -0
- package/dist/components/overlays/Menu/Menu.module.css.cjs +2 -0
- package/dist/components/overlays/Menu/Menu.module.css.cjs.map +1 -0
- package/dist/components/overlays/Menu/Menu.module.css.js +28 -0
- package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.cjs +2 -0
- package/dist/components/overlays/Popover/Popover.cjs.map +1 -0
- package/dist/components/overlays/Popover/Popover.js +59 -0
- package/dist/components/overlays/Popover/Popover.js.map +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs +2 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs.map +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.js +8 -0
- package/dist/components/overlays/Popover/Popover.module.css.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs +2 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.js +84 -0
- package/dist/components/overlays/Tooltip/Tooltip.js.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs +2 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.map +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.js +8 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.js.map +1 -0
- package/dist/design-system.css +1 -1
- package/dist/hooks/useCalendar/calendar.cjs +2 -0
- package/dist/hooks/useCalendar/calendar.cjs.map +1 -0
- package/dist/hooks/useCalendar/calendar.js +56 -0
- package/dist/hooks/useCalendar/calendar.js.map +1 -0
- package/dist/hooks/useCalendar/useCalendar.cjs +2 -0
- package/dist/hooks/useCalendar/useCalendar.cjs.map +1 -0
- package/dist/hooks/useCalendar/useCalendar.js +48 -0
- package/dist/hooks/useCalendar/useCalendar.js.map +1 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.cjs +2 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.cjs.map +1 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.js +27 -0
- package/dist/hooks/useCharacterCount/useCharacterCount.js.map +1 -0
- package/dist/hooks/useDecimalInput.cjs +2 -0
- package/dist/hooks/useDecimalInput.cjs.map +1 -0
- package/dist/hooks/useDecimalInput.js +17 -0
- package/dist/hooks/useDecimalInput.js.map +1 -0
- package/dist/hooks/useFormReset.cjs +2 -0
- package/dist/hooks/useFormReset.cjs.map +1 -0
- package/dist/hooks/useFormReset.js +16 -0
- package/dist/hooks/useFormReset.js.map +1 -0
- package/dist/hooks/useMergedRefs.cjs +2 -0
- package/dist/hooks/useMergedRefs.cjs.map +1 -0
- package/dist/hooks/useMergedRefs.js +24 -0
- package/dist/hooks/useMergedRefs.js.map +1 -0
- package/dist/hooks/useSelection/selection.cjs +2 -0
- package/dist/hooks/useSelection/selection.cjs.map +1 -0
- package/dist/hooks/useSelection/selection.js +78 -0
- package/dist/hooks/useSelection/selection.js.map +1 -0
- package/dist/hooks/useSelection/useSelection.cjs +2 -0
- package/dist/hooks/useSelection/useSelection.cjs.map +1 -0
- package/dist/hooks/useSelection/useSelection.js +68 -0
- package/dist/hooks/useSelection/useSelection.js.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.js +193 -0
- package/dist/index.js.map +1 -0
- package/dist/types/components/actions/ButtonIcon/ButtonIcon.d.ts +12 -0
- package/dist/types/components/actions/ButtonIcon/index.d.ts +2 -0
- package/dist/types/components/actions/ButtonTile/ButtonTile.d.ts +14 -0
- package/dist/types/components/actions/ButtonTile/index.d.ts +2 -0
- package/dist/types/components/actions/Toolbar/Toolbar.d.ts +27 -0
- package/dist/types/components/actions/Toolbar/index.d.ts +2 -0
- package/dist/types/components/charts/ChartArea/ChartArea.d.ts +15 -4
- package/dist/types/components/charts/ChartBar/ChartBar.d.ts +11 -4
- package/dist/types/components/charts/ChartCombo/ChartCombo.d.ts +16 -4
- package/dist/types/components/charts/ChartDonut/ChartDonut.d.ts +5 -1
- package/dist/types/components/charts/ChartLine/ChartLine.d.ts +15 -4
- package/dist/types/components/charts/ChartPie/ChartPie.d.ts +5 -1
- package/dist/types/components/charts/ChartRadial/ChartRadial.d.ts +5 -1
- package/dist/types/components/charts/ChartSankey/ChartSankey.d.ts +5 -1
- package/dist/types/components/charts/ChartScatter/ChartScatter.d.ts +7 -1
- package/dist/types/components/charts/ChartSunburst/ChartSunburst.d.ts +11 -2
- package/dist/types/components/charts/ChartTooltip/ChartTooltip.d.ts +2 -0
- package/dist/types/components/charts/ChartTreemap/ChartTreemap.d.ts +11 -2
- package/dist/types/components/charts/ChartWaterfall/ChartWaterfall.d.ts +8 -3
- package/dist/types/components/charts/core/CartesianFrame.d.ts +6 -1
- package/dist/types/components/charts/core/ChartFrame.d.ts +7 -1
- package/dist/types/components/charts/core/PointBands.d.ts +22 -0
- package/dist/types/components/charts/core/cartesianLayout.d.ts +10 -4
- package/dist/types/components/charts/core/hoverPath.d.ts +10 -0
- package/dist/types/components/charts/core/index.d.ts +13 -3
- package/dist/types/components/charts/core/pointLabels.d.ts +13 -0
- package/dist/types/components/charts/core/tooltips.d.ts +49 -0
- package/dist/types/components/charts/core/useCartesianLayout.d.ts +20 -0
- package/dist/types/components/charts/core/useSeriesToggle.d.ts +15 -1
- package/dist/types/components/data-display/Accordion/Accordion.d.ts +6 -1
- package/dist/types/components/data-display/Accordion/index.d.ts +1 -1
- package/dist/types/components/data-display/CodeBlock/CodeBlock.d.ts +16 -0
- package/dist/types/components/data-display/CodeBlock/index.d.ts +3 -0
- package/dist/types/components/data-display/CodeBlock/syntax.d.ts +15 -0
- package/dist/types/components/data-display/SortableList/SortableList.d.ts +22 -0
- package/dist/types/components/data-display/SortableList/index.d.ts +2 -0
- package/dist/types/components/data-display/Table/Table.d.ts +4 -2
- package/dist/types/components/data-display/Tag/Tag.d.ts +13 -0
- package/dist/types/components/data-display/Tag/index.d.ts +2 -0
- package/dist/types/components/data-display/Timeline/Timeline.d.ts +15 -0
- package/dist/types/components/data-display/Timeline/index.d.ts +2 -0
- package/dist/types/components/feedback/EmptyState/EmptyState.d.ts +14 -0
- package/dist/types/components/feedback/EmptyState/index.d.ts +2 -0
- package/dist/types/components/feedback/Skeleton/Skeleton.d.ts +13 -0
- package/dist/types/components/feedback/Skeleton/index.d.ts +2 -0
- package/dist/types/components/feedback/Toast/ToastRegion.d.ts +2 -0
- package/dist/types/components/feedback/Toast/index.d.ts +3 -0
- package/dist/types/components/feedback/Toast/toastStore.d.ts +24 -0
- package/dist/types/components/forms/CheckboxGroup/CheckboxGroup.d.ts +28 -0
- package/dist/types/components/forms/CheckboxGroup/index.d.ts +2 -0
- package/dist/types/components/forms/ColorPicker/ColorPicker.d.ts +26 -0
- package/dist/types/components/forms/ColorPicker/index.d.ts +2 -0
- package/dist/types/components/forms/Field/Field.d.ts +6 -2
- package/dist/types/components/forms/Field/index.d.ts +1 -1
- package/dist/types/components/forms/FileUpload/FileUpload.d.ts +37 -0
- package/dist/types/components/forms/FileUpload/index.d.ts +2 -0
- package/dist/types/components/forms/InputText/InputText.d.ts +4 -2
- package/dist/types/components/forms/SegmentedControl/SegmentedControl.d.ts +23 -0
- package/dist/types/components/forms/SegmentedControl/index.d.ts +2 -0
- package/dist/types/components/icons/icons.d.ts +31 -0
- package/dist/types/components/icons/index.d.ts +1 -1
- package/dist/types/components/navigation/SkipLink/SkipLink.d.ts +7 -0
- package/dist/types/components/navigation/SkipLink/index.d.ts +2 -0
- package/dist/types/components/navigation/Steps/Steps.d.ts +16 -0
- package/dist/types/components/navigation/Steps/index.d.ts +2 -0
- package/dist/types/components/navigation/Tabs/Tabs.d.ts +5 -1
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +4 -2
- package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +7 -0
- package/dist/types/components/overlays/Drawer/Drawer.d.ts +9 -0
- package/dist/types/components/overlays/Drawer/index.d.ts +2 -0
- package/dist/types/components/overlays/Menu/Menu.d.ts +16 -2
- package/dist/types/components/overlays/Menu/index.d.ts +1 -1
- package/dist/types/index.d.ts +41 -7
- package/dist/types/utils/formatters/formatarNumero.d.ts +6 -1
- package/dist/types/utils/formatters/formatarTamanhoDeArquivo.d.ts +7 -0
- package/dist/types/utils/formatters/index.d.ts +3 -1
- package/dist/utils/formatters/formatarData.cjs +2 -0
- package/dist/utils/formatters/formatarData.cjs.map +1 -0
- package/dist/utils/formatters/formatarData.js +32 -0
- package/dist/utils/formatters/formatarData.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaData.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaData.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaData.js +22 -0
- package/dist/utils/formatters/formatarEntradaData.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaDecimal.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaDecimal.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaDecimal.js +35 -0
- package/dist/utils/formatters/formatarEntradaDecimal.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaHora.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaHora.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaHora.js +32 -0
- package/dist/utils/formatters/formatarEntradaHora.js.map +1 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.cjs +2 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.cjs.map +1 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.js +17 -0
- package/dist/utils/formatters/formatarEntradaMonetaria.js.map +1 -0
- package/dist/utils/formatters/formatarNumero.cjs +2 -0
- package/dist/utils/formatters/formatarNumero.cjs.map +1 -0
- package/dist/utils/formatters/formatarNumero.js +53 -0
- package/dist/utils/formatters/formatarNumero.js.map +1 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs +2 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.cjs.map +1 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.js +17 -0
- package/dist/utils/formatters/formatarTamanhoDeArquivo.js.map +1 -0
- package/dist/utils/formatters/mascararPartes.cjs +2 -0
- package/dist/utils/formatters/mascararPartes.cjs.map +1 -0
- package/dist/utils/formatters/mascararPartes.js +17 -0
- package/dist/utils/formatters/mascararPartes.js.map +1 -0
- package/dist/utils/textSearch/textSearch.cjs +2 -0
- package/dist/utils/textSearch/textSearch.cjs.map +1 -0
- package/dist/utils/textSearch/textSearch.js +22 -0
- package/dist/utils/textSearch/textSearch.js.map +1 -0
- package/package.json +5 -5
- package/dist/plenus-design-system.cjs +0 -3
- package/dist/plenus-design-system.cjs.map +0 -1
- package/dist/plenus-design-system.es.js +0 -6387
- package/dist/plenus-design-system.es.js.map +0 -1
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { jsxs as le, jsx as h } from "react/jsx-runtime";
|
|
2
|
+
import { useState as ie, useMemo as p } from "react";
|
|
3
|
+
import { sankey as ce, sankeyRight as ue, sankeyLeft as me, sankeyJustify as de, sankeyCenter as he } from "d3-sankey";
|
|
4
|
+
import i from "./ChartSankey.module.css.js";
|
|
5
|
+
import { useChartMetrics as xe } from "../core/useChartMetrics.js";
|
|
6
|
+
import { resolveSeriesColors as fe } from "../palette/seriesColor.js";
|
|
7
|
+
import { widestLabel as pe, truncateToWidth as ye, measureLabel as W } from "../core/measureText.js";
|
|
8
|
+
import { CHART_LABEL_BAND as q, CHART_LABEL_OFFSET as y } from "../core/spacing.js";
|
|
9
|
+
import { ChartFrame as be } from "../core/ChartFrame.js";
|
|
10
|
+
import { formatarNumero as ve, formatarPercentual as ke } from "../../../utils/formatters/formatarNumero.js";
|
|
11
|
+
import { chartHeight as $e } from "../core/cartesianLayout.js";
|
|
12
|
+
function ge(s, o) {
|
|
13
|
+
return s.x0 < o.x1 && o.x0 < s.x1 && s.y0 < o.y1 && o.y0 < s.y1;
|
|
14
|
+
}
|
|
15
|
+
const De = {
|
|
16
|
+
center: he,
|
|
17
|
+
justify: de,
|
|
18
|
+
left: me,
|
|
19
|
+
right: ue
|
|
20
|
+
};
|
|
21
|
+
function Me(s) {
|
|
22
|
+
const o = s.source.x1, m = s.target.x0, c = (o + m) / 2;
|
|
23
|
+
return `M${o},${s.y0}C${c},${s.y0} ${c},${s.y1} ${m},${s.y1}`;
|
|
24
|
+
}
|
|
25
|
+
function Ne(s) {
|
|
26
|
+
const o = /* @__PURE__ */ new Map();
|
|
27
|
+
for (const n of s)
|
|
28
|
+
o.set(n.source, [...o.get(n.source) ?? [], n.target]);
|
|
29
|
+
const m = /* @__PURE__ */ new Set(), c = /* @__PURE__ */ new Set();
|
|
30
|
+
function b(n) {
|
|
31
|
+
if (c.has(n))
|
|
32
|
+
return !0;
|
|
33
|
+
if (m.has(n))
|
|
34
|
+
return !1;
|
|
35
|
+
c.add(n);
|
|
36
|
+
const D = (o.get(n) ?? []).some(b);
|
|
37
|
+
return c.delete(n), m.add(n), D;
|
|
38
|
+
}
|
|
39
|
+
return [...o.keys()].some(b);
|
|
40
|
+
}
|
|
41
|
+
function Te({
|
|
42
|
+
accent: s,
|
|
43
|
+
cyclicMessage: o = "O fluxo volta sobre si mesmo e não pode ser desenhado",
|
|
44
|
+
emptyMessage: m = "Sem dados no período",
|
|
45
|
+
flowColor: c = "source",
|
|
46
|
+
flowValuePosition: b = "end",
|
|
47
|
+
flows: n,
|
|
48
|
+
formatTooltipValue: D,
|
|
49
|
+
formatValue: M = ve,
|
|
50
|
+
height: G = 320,
|
|
51
|
+
nodeAlign: L = "justify",
|
|
52
|
+
nodes: v,
|
|
53
|
+
nodePadding: S = 12,
|
|
54
|
+
nodeWidth: N = 12,
|
|
55
|
+
showFlowValues: K = !1,
|
|
56
|
+
showLabels: B = !0,
|
|
57
|
+
showTooltip: j = !0,
|
|
58
|
+
title: Q
|
|
59
|
+
}) {
|
|
60
|
+
var z, J;
|
|
61
|
+
const { font: u, height: U, ref: X, width: k } = xe(), { fillHeight: Y, value: $ } = $e(G, U), [d, O] = ie(null), x = p(() => {
|
|
62
|
+
const e = (v ?? []).map((t) => t.label);
|
|
63
|
+
return n.forEach(({ source: t, target: r }) => {
|
|
64
|
+
[t, r].forEach((a) => {
|
|
65
|
+
e.includes(a) || e.push(a);
|
|
66
|
+
});
|
|
67
|
+
}), e.map(
|
|
68
|
+
(t) => (v == null ? void 0 : v.find((r) => r.label === t)) ?? { label: t }
|
|
69
|
+
);
|
|
70
|
+
}, [n, v]), Z = p(() => fe(x, { accent: s }), [s, x]), F = p(() => {
|
|
71
|
+
const e = new Set(n.map((t) => t.source));
|
|
72
|
+
return x.map((t) => t.label).filter((t) => !e.has(t));
|
|
73
|
+
}, [x, n]), C = B ? Math.min(pe(F, u), k * q) + y : 0, g = p(() => Ne(n), [n]), A = p(
|
|
74
|
+
() => n.reduce((e, t) => e + (Number.isFinite(t.value) ? Math.max(t.value, 0) : 0), 0),
|
|
75
|
+
[n]
|
|
76
|
+
), l = p(() => {
|
|
77
|
+
const e = k - C;
|
|
78
|
+
return e <= 0 || $ <= 0 || n.length === 0 || g || A <= 0 ? { links: [], nodes: [] } : ce().nodeId((a) => a.label).nodeAlign(De[L]).nodeWidth(N).nodePadding(S).extent([
|
|
79
|
+
[0, 2],
|
|
80
|
+
[e, $ - 2]
|
|
81
|
+
])({
|
|
82
|
+
links: n.map((a) => ({
|
|
83
|
+
...a,
|
|
84
|
+
value: Number.isFinite(a.value) ? Math.max(a.value, 0) : 0
|
|
85
|
+
})),
|
|
86
|
+
nodes: x.map((a) => ({ label: a.label }))
|
|
87
|
+
});
|
|
88
|
+
}, [$, C, g, x, n, L, S, N, A, k]), R = (e) => Z[e] ?? "var(--pl-chart-neutral)";
|
|
89
|
+
function T(e) {
|
|
90
|
+
return c === "neutral" ? "var(--pl-chart-neutral)" : R(c === "target" ? e.target.index : e.source.index);
|
|
91
|
+
}
|
|
92
|
+
function _(e) {
|
|
93
|
+
return `${e.source.label} → ${e.target.label}: ${M(e.value)}`;
|
|
94
|
+
}
|
|
95
|
+
function V() {
|
|
96
|
+
const e = d === null ? void 0 : l.links[d];
|
|
97
|
+
if (!e)
|
|
98
|
+
return [];
|
|
99
|
+
const t = l.links.filter((r) => r.source.index === e.source.index).reduce((r, a) => r + a.value, 0);
|
|
100
|
+
return [
|
|
101
|
+
{ color: T(e), label: "Fluxo", values: [e.value] },
|
|
102
|
+
{
|
|
103
|
+
format: (r) => ke(r),
|
|
104
|
+
label: `Da saída de ${e.source.label}`,
|
|
105
|
+
values: [t > 0 ? e.value / t : 0]
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
}
|
|
109
|
+
function w(e) {
|
|
110
|
+
return d === null ? i.link : `${i.link} ${d === e ? i.linkOn : i.linkDim}`;
|
|
111
|
+
}
|
|
112
|
+
const ee = (() => {
|
|
113
|
+
const e = [...new Set(l.nodes.map((r) => r.x0))].sort((r, a) => r - a);
|
|
114
|
+
if (e.length < 2)
|
|
115
|
+
return k * q;
|
|
116
|
+
const t = Math.min(...e.slice(1).map((r, a) => r - e[a]));
|
|
117
|
+
return Math.max(t - N - y, 0);
|
|
118
|
+
})();
|
|
119
|
+
function te(e) {
|
|
120
|
+
const t = F.includes(e.label), r = ye(
|
|
121
|
+
e.label,
|
|
122
|
+
u,
|
|
123
|
+
(t ? C : ee) - y
|
|
124
|
+
), a = e.x1 + y, f = (e.y0 + e.y1) / 2;
|
|
125
|
+
return {
|
|
126
|
+
caixa: {
|
|
127
|
+
x0: a,
|
|
128
|
+
x1: a + W(r, u),
|
|
129
|
+
y0: f - u.lineHeight / 2,
|
|
130
|
+
y1: f + u.lineHeight / 2
|
|
131
|
+
},
|
|
132
|
+
texto: r,
|
|
133
|
+
x: a,
|
|
134
|
+
y: f
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
const I = B ? l.nodes.map(te) : [];
|
|
138
|
+
function re(e) {
|
|
139
|
+
const t = M(e.value), r = W(t, u), a = e.source.x1, f = e.target.x0, E = (e.y0 + e.y1) / 2, ne = {
|
|
140
|
+
end: { anchor: "end", x: f - y },
|
|
141
|
+
middle: { anchor: "middle", x: (a + f) / 2 },
|
|
142
|
+
start: { anchor: "start", x: a + y }
|
|
143
|
+
}, { anchor: ae, x: H } = ne[b], P = { end: r, middle: r / 2, start: 0 }[b], se = {
|
|
144
|
+
x0: H - P,
|
|
145
|
+
x1: H - P + r,
|
|
146
|
+
y0: E - u.lineHeight / 2,
|
|
147
|
+
y1: E + u.lineHeight / 2
|
|
148
|
+
};
|
|
149
|
+
if (!I.some((oe) => ge(se, oe.caixa)))
|
|
150
|
+
return { anchor: ae, texto: t, x: H, y: E };
|
|
151
|
+
}
|
|
152
|
+
return /* @__PURE__ */ le(
|
|
153
|
+
be,
|
|
154
|
+
{
|
|
155
|
+
containerRef: X,
|
|
156
|
+
empty: n.length === 0 || g || A <= 0,
|
|
157
|
+
emptyMessage: g ? o : m,
|
|
158
|
+
fillHeight: Y,
|
|
159
|
+
height: $,
|
|
160
|
+
legendPosition: "none",
|
|
161
|
+
title: Q,
|
|
162
|
+
tooltip: j ? {
|
|
163
|
+
columns: [{ format: D ?? M }],
|
|
164
|
+
computed: "none",
|
|
165
|
+
rows: V(),
|
|
166
|
+
title: d === null ? void 0 : `${(z = l.links[d]) == null ? void 0 : z.source.label} → ${(J = l.links[d]) == null ? void 0 : J.target.label}`
|
|
167
|
+
} : void 0,
|
|
168
|
+
width: k,
|
|
169
|
+
children: [
|
|
170
|
+
/* @__PURE__ */ h("g", { className: i.links, children: l.links.map((e, t) => /* @__PURE__ */ h(
|
|
171
|
+
"path",
|
|
172
|
+
{
|
|
173
|
+
"aria-label": _(e),
|
|
174
|
+
className: w(t),
|
|
175
|
+
d: Me(e),
|
|
176
|
+
onMouseEnter: () => O(t),
|
|
177
|
+
onMouseLeave: () => O(null),
|
|
178
|
+
stroke: T(e),
|
|
179
|
+
strokeWidth: Math.max(e.width, 1),
|
|
180
|
+
children: !j && /* @__PURE__ */ h("title", { children: _(e) })
|
|
181
|
+
},
|
|
182
|
+
t
|
|
183
|
+
)) }),
|
|
184
|
+
l.nodes.map((e) => /* @__PURE__ */ h(
|
|
185
|
+
"rect",
|
|
186
|
+
{
|
|
187
|
+
"aria-label": e.label,
|
|
188
|
+
className: i.node,
|
|
189
|
+
fill: R(e.index),
|
|
190
|
+
height: Math.max(e.y1 - e.y0, 1),
|
|
191
|
+
width: e.x1 - e.x0,
|
|
192
|
+
x: e.x0,
|
|
193
|
+
y: e.y0,
|
|
194
|
+
children: /* @__PURE__ */ h("title", { children: e.label })
|
|
195
|
+
},
|
|
196
|
+
e.label
|
|
197
|
+
)),
|
|
198
|
+
K && l.links.map((e, t) => {
|
|
199
|
+
const r = re(e);
|
|
200
|
+
return r ? /* @__PURE__ */ h(
|
|
201
|
+
"text",
|
|
202
|
+
{
|
|
203
|
+
className: `${i.flowValue} ${i.sobreFluxo}`,
|
|
204
|
+
dominantBaseline: "middle",
|
|
205
|
+
textAnchor: r.anchor,
|
|
206
|
+
x: r.x,
|
|
207
|
+
y: r.y,
|
|
208
|
+
children: r.texto
|
|
209
|
+
},
|
|
210
|
+
t
|
|
211
|
+
) : null;
|
|
212
|
+
}),
|
|
213
|
+
I.map((e, t) => /* @__PURE__ */ h(
|
|
214
|
+
"text",
|
|
215
|
+
{
|
|
216
|
+
className: `${i.label} ${F.includes(l.nodes[t].label) ? "" : i.sobreFluxo}`,
|
|
217
|
+
dominantBaseline: "middle",
|
|
218
|
+
textAnchor: "start",
|
|
219
|
+
x: e.x,
|
|
220
|
+
y: e.y,
|
|
221
|
+
children: e.texto
|
|
222
|
+
},
|
|
223
|
+
`rotulo-${l.nodes[t].label}`
|
|
224
|
+
))
|
|
225
|
+
]
|
|
226
|
+
}
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
export {
|
|
230
|
+
Te as ChartSankey
|
|
231
|
+
};
|
|
232
|
+
//# sourceMappingURL=ChartSankey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartSankey.js","sources":["../../../../src/components/charts/ChartSankey/ChartSankey.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { sankey, sankeyCenter, sankeyJustify, sankeyLeft, sankeyRight } from 'd3-sankey';\nimport {\n CHART_LABEL_BAND,\n CHART_LABEL_OFFSET,\n ChartFrame,\n chartHeight,\n measureLabel,\n truncateToWidth,\n useChartMetrics,\n widestLabel,\n type ChartHeight,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { formatarNumero, formatarPercentual } from '../../../utils/formatters';\nimport styles from './ChartSankey.module.css';\n\nexport interface ChartSankeyNode extends SeriesAppearance {\n label: string;\n}\n\nexport interface ChartSankeyFlow {\n source: string;\n target: string;\n value: number;\n}\n\n/** Onde os nos sem saida se encostam, conforme a referencia. */\nexport type ChartSankeyAlign = 'left' | 'right' | 'center' | 'justify';\n\n/** De onde a ligacao tira a cor: do no de origem, do de destino, ou de nenhum. */\nexport type ChartSankeyFlowColor = 'source' | 'target' | 'neutral';\n\n/**\n * Onde o valor da ligacao e escrito. O rotulo do no ocupa a faixa logo a\n * direita dele, entao `end` e o unico que nunca disputa espaco com o rotulo da\n * propria origem.\n */\nexport type ChartSankeyFlowValuePosition = 'start' | 'middle' | 'end';\n\nexport interface ChartSankeyProps {\n accent?: string;\n /** Mensagem quando o fluxo tem ciclo, que um diagrama de fluxo nao representa. */\n cyclicMessage?: string;\n emptyMessage?: string;\n flowColor?: ChartSankeyFlowColor;\n flowValuePosition?: ChartSankeyFlowValuePosition;\n flows: readonly ChartSankeyFlow[];\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n nodeAlign?: ChartSankeyAlign;\n /** Ordem e aparencia dos nos. Sem ela, os nos saem das proprias ligacoes. */\n nodes?: readonly ChartSankeyNode[];\n /** Folga vertical entre dois nos da mesma coluna. */\n nodePadding?: number;\n nodeWidth?: number;\n showFlowValues?: boolean;\n showLabels?: boolean;\n /** Balao com o detalhe do que esta sob o ponteiro. Desligue para nao mostrar nada alem do `<title>` nativo. */\n showTooltip?: boolean;\n title: string;\n}\n\ninterface NoPosicionado {\n index: number;\n label: string;\n x0: number;\n x1: number;\n y0: number;\n y1: number;\n}\n\ninterface Caixa {\n x0: number;\n x1: number;\n y0: number;\n y1: number;\n}\n\nfunction seCruzam(uma: Caixa, outra: Caixa) {\n return uma.x0 < outra.x1 && outra.x0 < uma.x1 && uma.y0 < outra.y1 && outra.y0 < uma.y1;\n}\n\ninterface LigacaoPosicionada {\n index: number;\n source: NoPosicionado;\n target: NoPosicionado;\n value: number;\n width: number;\n y0: number;\n y1: number;\n}\n\nconst ALINHAMENTO = {\n center: sankeyCenter,\n justify: sankeyJustify,\n left: sankeyLeft,\n right: sankeyRight,\n};\n\n/**\n * Bezier cubica entre a borda de saida e a borda de entrada, com os pontos de\n * controle no meio do vao. E o que da a ligacao a curva que sai e chega na\n * horizontal, sem torcer perto dos nos.\n */\nfunction caminhoDa(ligacao: LigacaoPosicionada) {\n const saida = ligacao.source.x1;\n const chegada = ligacao.target.x0;\n const meio = (saida + chegada) / 2;\n\n return `M${saida},${ligacao.y0}C${meio},${ligacao.y0} ${meio},${ligacao.y1} ${chegada},${ligacao.y1}`;\n}\n\n/**\n * Busca em profundidade atras de aresta de retorno. Um autolaco tambem conta:\n * o no seria origem e destino do mesmo caminho.\n */\nfunction temCiclo(flows: readonly ChartSankeyFlow[]) {\n const saidas = new Map<string, string[]>();\n\n for (const fluxo of flows) {\n saidas.set(fluxo.source, [...(saidas.get(fluxo.source) ?? []), fluxo.target]);\n }\n\n const encerrados = new Set<string>();\n const noCaminho = new Set<string>();\n\n function alcanca(no: string): boolean {\n if (noCaminho.has(no)) {\n return true;\n }\n\n if (encerrados.has(no)) {\n return false;\n }\n\n noCaminho.add(no);\n const achou = (saidas.get(no) ?? []).some(alcanca);\n noCaminho.delete(no);\n encerrados.add(no);\n\n return achou;\n }\n\n return [...saidas.keys()].some(alcanca);\n}\n\nexport function ChartSankey({\n accent,\n cyclicMessage = 'O fluxo volta sobre si mesmo e não pode ser desenhado',\n emptyMessage = 'Sem dados no período',\n flowColor = 'source',\n flowValuePosition = 'end',\n flows,\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 320,\n nodeAlign = 'justify',\n nodes,\n nodePadding = 12,\n nodeWidth = 12,\n showFlowValues = false,\n showLabels = true,\n showTooltip = true,\n title,\n}: ChartSankeyProps) {\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const [emFoco, setEmFoco] = useState<number | null>(null);\n\n /** Os nos saem da ordem declarada, e o que faltar sai das proprias ligacoes. */\n const declarados = useMemo(() => {\n const rotulos = (nodes ?? []).map((no) => no.label);\n\n flows.forEach(({ source, target }) => {\n [source, target].forEach((rotulo) => {\n if (!rotulos.includes(rotulo)) {\n rotulos.push(rotulo);\n }\n });\n });\n\n return rotulos.map(\n (rotulo) => nodes?.find((no) => no.label === rotulo) ?? ({ label: rotulo } as ChartSankeyNode),\n );\n }, [flows, nodes]);\n\n // A cor sai da lista inteira e na ordem dos nos, para uma ligacao herdar\n // sempre a cor do no de que ela depende.\n const cores = useMemo(() => resolveSeriesColors(declarados, { accent }), [accent, declarados]);\n\n /**\n * O rotulo fica sempre a direita do no, como na referencia. So o de saida\n * precisa de espaco reservado: ele nao tem fluxo a direita para escrever por\n * cima, e sem a reserva o nome sairia pela borda.\n */\n const saidas = useMemo(() => {\n const origens = new Set(flows.map((fluxo) => fluxo.source));\n\n return declarados.map((no) => no.label).filter((rotulo) => !origens.has(rotulo));\n }, [declarados, flows]);\n\n const bandaDireita = showLabels\n ? Math.min(widestLabel(saidas, font), width * CHART_LABEL_BAND) + CHART_LABEL_OFFSET\n : 0;\n\n // Um diagrama de fluxo e aciclico por definicao, e o `d3-sankey` lanca ao\n // encontrar um ciclo. Detectar antes troca a queda da arvore inteira por uma\n // mensagem, sem descartar ligacao nenhuma pelas costas.\n const ciclico = useMemo(() => temCiclo(flows), [flows]);\n const totalDoFluxo = useMemo(\n () => flows.reduce((soma, fluxo) => soma + (Number.isFinite(fluxo.value) ? Math.max(fluxo.value, 0) : 0), 0),\n [flows],\n );\n\n const grafo = useMemo(() => {\n const util = width - bandaDireita;\n\n if (util <= 0 || alturaDoDesenho <= 0 || flows.length === 0 || ciclico || totalDoFluxo <= 0) {\n return { links: [] as LigacaoPosicionada[], nodes: [] as NoPosicionado[] };\n }\n\n const posicionar = sankey<{ label: string }, { value: number }>()\n .nodeId((no) => no.label)\n .nodeAlign(ALINHAMENTO[nodeAlign])\n .nodeWidth(nodeWidth)\n .nodePadding(nodePadding)\n .extent([\n [0, 2],\n [util, alturaDoDesenho - 2],\n ]);\n\n const resultado = posicionar({\n links: flows.map((fluxo) => ({\n ...fluxo,\n value: Number.isFinite(fluxo.value) ? Math.max(fluxo.value, 0) : 0,\n })),\n nodes: declarados.map((no) => ({ label: no.label })),\n });\n\n return resultado as unknown as { links: LigacaoPosicionada[]; nodes: NoPosicionado[] };\n }, [alturaDoDesenho, bandaDireita, ciclico, declarados, flows, nodeAlign, nodePadding, nodeWidth, totalDoFluxo, width]);\n\n const corDoNo = (indice: number) => cores[indice] ?? 'var(--pl-chart-neutral)';\n\n function corDa(ligacao: LigacaoPosicionada) {\n if (flowColor === 'neutral') {\n return 'var(--pl-chart-neutral)';\n }\n\n return corDoNo(flowColor === 'target' ? ligacao.target.index : ligacao.source.index);\n }\n\n function descreverLigacao(ligacao: LigacaoPosicionada) {\n return `${ligacao.source.label} → ${ligacao.target.label}: ${formatValue(ligacao.value)}`;\n }\n\n /** O fluxo e a parte dele na saida da origem, que e o que a largura da faixa compara. */\n function linhasDoBalao() {\n const ligacao = emFoco === null ? undefined : grafo.links[emFoco];\n\n if (!ligacao) {\n return [];\n }\n\n const saida = grafo.links\n .filter((outra) => outra.source.index === ligacao.source.index)\n .reduce((soma, outra) => soma + outra.value, 0);\n\n return [\n { color: corDa(ligacao), label: 'Fluxo', values: [ligacao.value] },\n {\n format: (fracao: number) => formatarPercentual(fracao),\n label: `Da saída de ${ligacao.source.label}`,\n values: [saida > 0 ? ligacao.value / saida : 0],\n },\n ];\n }\n\n function classeDa(indice: number) {\n if (emFoco === null) {\n return styles.link;\n }\n\n return `${styles.link} ${emFoco === indice ? styles.linkOn : styles.linkDim}`;\n }\n\n /** Vao entre duas colunas, descontados o no e o recuo: e o que o rotulo tem. */\n const larguraDaEtapa = (() => {\n const colunas = [...new Set(grafo.nodes.map((no) => no.x0))].sort((a, b) => a - b);\n\n if (colunas.length < 2) {\n return width * CHART_LABEL_BAND;\n }\n\n const passo = Math.min(...colunas.slice(1).map((x, indice) => x - colunas[indice]));\n\n return Math.max(passo - nodeWidth - CHART_LABEL_OFFSET, 0);\n })();\n\n function rotuloDoNo(no: NoPosicionado) {\n const saida = saidas.includes(no.label);\n const texto = truncateToWidth(\n no.label,\n font,\n (saida ? bandaDireita : larguraDaEtapa) - CHART_LABEL_OFFSET,\n );\n const x = no.x1 + CHART_LABEL_OFFSET;\n const meio = (no.y0 + no.y1) / 2;\n\n return {\n caixa: {\n x0: x,\n x1: x + measureLabel(texto, font),\n y0: meio - font.lineHeight / 2,\n y1: meio + font.lineHeight / 2,\n } satisfies Caixa,\n texto,\n x,\n y: meio,\n };\n }\n\n const rotulosDosNos = showLabels ? grafo.nodes.map(rotuloDoNo) : [];\n\n /**\n * Valor de uma ligacao, ja posicionado. Ele e omitido quando cruza o rotulo\n * de algum no: dois textos sobrepostos nao informam nada, e o valor continua\n * no `title` da propria ligacao.\n */\n function valorDa(ligacao: LigacaoPosicionada) {\n const texto = formatValue(ligacao.value);\n const largura = measureLabel(texto, font);\n const saida = ligacao.source.x1;\n const chegada = ligacao.target.x0;\n const meio = (ligacao.y0 + ligacao.y1) / 2;\n\n const posicoes = {\n end: { anchor: 'end' as const, x: chegada - CHART_LABEL_OFFSET },\n middle: { anchor: 'middle' as const, x: (saida + chegada) / 2 },\n start: { anchor: 'start' as const, x: saida + CHART_LABEL_OFFSET },\n };\n\n const { anchor, x } = posicoes[flowValuePosition];\n const recuo = { end: largura, middle: largura / 2, start: 0 }[flowValuePosition];\n\n const caixa: Caixa = {\n x0: x - recuo,\n x1: x - recuo + largura,\n y0: meio - font.lineHeight / 2,\n y1: meio + font.lineHeight / 2,\n };\n\n if (rotulosDosNos.some((rotulo) => seCruzam(caixa, rotulo.caixa))) {\n return undefined;\n }\n\n return { anchor, texto, x, y: meio };\n }\n\n return (\n <ChartFrame\n containerRef={ref}\n empty={flows.length === 0 || ciclico || totalDoFluxo <= 0}\n emptyMessage={ciclico ? cyclicMessage : emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legendPosition=\"none\"\n title={title}\n tooltip={\n showTooltip\n ? {\n columns: [{ format: formatTooltipValue ?? formatValue }],\n computed: 'none',\n rows: linhasDoBalao(),\n title: emFoco === null ? undefined : `${grafo.links[emFoco]?.source.label} → ${grafo.links[emFoco]?.target.label}`,\n }\n : undefined\n }\n width={width}\n >\n <g className={styles.links}>\n {grafo.links.map((ligacao, indice) => (\n <path\n aria-label={descreverLigacao(ligacao)}\n className={classeDa(indice)}\n d={caminhoDa(ligacao)}\n key={indice}\n onMouseEnter={() => setEmFoco(indice)}\n onMouseLeave={() => setEmFoco(null)}\n stroke={corDa(ligacao)}\n strokeWidth={Math.max(ligacao.width, 1)}\n >\n {!showTooltip && <title>{descreverLigacao(ligacao)}</title>}\n </path>\n ))}\n </g>\n\n {grafo.nodes.map((no) => (\n <rect\n aria-label={no.label}\n className={styles.node}\n fill={corDoNo(no.index)}\n height={Math.max(no.y1 - no.y0, 1)}\n key={no.label}\n width={no.x1 - no.x0}\n x={no.x0}\n y={no.y0}\n >\n <title>{no.label}</title>\n </rect>\n ))}\n\n {showFlowValues &&\n grafo.links.map((ligacao, indice) => {\n const valor = valorDa(ligacao);\n\n if (!valor) {\n return null;\n }\n\n return (\n <text\n className={`${styles.flowValue} ${styles.sobreFluxo}`}\n dominantBaseline=\"middle\"\n key={indice}\n textAnchor={valor.anchor}\n x={valor.x}\n y={valor.y}\n >\n {valor.texto}\n </text>\n );\n })}\n\n {/* O rotulo fica sempre a direita do no. No no de saida ele cai na banda\n reservada; nos demais, sobre o proprio fluxo, e um halo da cor da\n superficie o separa do que passa por baixo. */}\n {rotulosDosNos.map((rotulo, indice) => (\n <text\n className={`${styles.label} ${saidas.includes(grafo.nodes[indice].label) ? '' : styles.sobreFluxo}`}\n dominantBaseline=\"middle\"\n key={`rotulo-${grafo.nodes[indice].label}`}\n textAnchor=\"start\"\n x={rotulo.x}\n y={rotulo.y}\n >\n {rotulo.texto}\n </text>\n ))}\n </ChartFrame>\n );\n}\n"],"names":["seCruzam","uma","outra","ALINHAMENTO","sankeyCenter","sankeyJustify","sankeyLeft","sankeyRight","caminhoDa","ligacao","saida","chegada","meio","temCiclo","flows","saidas","fluxo","encerrados","noCaminho","alcanca","no","achou","ChartSankey","accent","cyclicMessage","emptyMessage","flowColor","flowValuePosition","formatTooltipValue","formatValue","formatarNumero","height","nodeAlign","nodes","nodePadding","nodeWidth","showFlowValues","showLabels","showTooltip","title","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","emFoco","setEmFoco","useState","declarados","useMemo","rotulos","source","target","rotulo","cores","resolveSeriesColors","origens","bandaDireita","widestLabel","CHART_LABEL_BAND","CHART_LABEL_OFFSET","ciclico","totalDoFluxo","soma","grafo","util","sankey","corDoNo","indice","corDa","descreverLigacao","linhasDoBalao","fracao","formatarPercentual","classeDa","styles","larguraDaEtapa","colunas","a","b","passo","x","rotuloDoNo","texto","truncateToWidth","measureLabel","rotulosDosNos","valorDa","largura","posicoes","anchor","recuo","caixa","jsxs","ChartFrame","_a","_b","jsx","valor"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l="_links_1wqmi_1",n="_link_1wqmi_1",i="_linkOn_1wqmi_18",e="_linkDim_1wqmi_22",o="_node_1wqmi_26",_="_label_1wqmi_30",s="_flowValue_1wqmi_37",t="_sobreFluxo_1wqmi_47",k={links:l,link:n,linkOn:i,linkDim:e,node:o,label:_,flowValue:s,sobreFluxo:t};exports.default=k;exports.flowValue=s;exports.label=_;exports.link=n;exports.linkDim=e;exports.linkOn=i;exports.links=l;exports.node=o;exports.sobreFluxo=t;
|
|
2
|
+
//# sourceMappingURL=ChartSankey.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartSankey.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
const l = "_links_1wqmi_1", n = "_link_1wqmi_1", _ = "_linkOn_1wqmi_18", i = "_linkDim_1wqmi_22", o = "_node_1wqmi_26", s = "_label_1wqmi_30", e = "_flowValue_1wqmi_37", k = "_sobreFluxo_1wqmi_47", t = {
|
|
2
|
+
links: l,
|
|
3
|
+
link: n,
|
|
4
|
+
linkOn: _,
|
|
5
|
+
linkDim: i,
|
|
6
|
+
node: o,
|
|
7
|
+
label: s,
|
|
8
|
+
flowValue: e,
|
|
9
|
+
sobreFluxo: k
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
t as default,
|
|
13
|
+
e as flowValue,
|
|
14
|
+
s as label,
|
|
15
|
+
n as link,
|
|
16
|
+
i as linkDim,
|
|
17
|
+
_ as linkOn,
|
|
18
|
+
l as links,
|
|
19
|
+
o as node,
|
|
20
|
+
k as sobreFluxo
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=ChartSankey.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartSankey.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("react/jsx-runtime"),s=require("react"),g=require("./ChartScatter.module.css.cjs"),Le=require("../core/useChartMetrics.cjs"),ae=require("../core/useSeriesToggle.cjs"),Ce=require("../palette/seriesColor.cjs"),n=require("../scales/scales.cjs"),j=require("../core/cartesianLayout.cjs"),$e=require("../core/useCartesianLayout.cjs"),ze=require("../core/useTweenedNumbers.cjs"),w=require("../../../utils/formatters/formatarNumero.cjs"),je=require("../core/CartesianFrame.cjs"),we=5,Oe=[4,18];function M(d){return d.z!==void 0&&Number.isFinite(d.z)?d.z:void 0}function Re({accent:d,defaultHiddenSeries:te,emptyMessage:ie="Sem dados no período",formatX:x=w.formatarNumero,formatY:v=w.formatarNumero,formatZ:O=w.formatarNumero,height:se=280,includeZero:f=!0,hiddenSeries:le,legend:ne="bottom",legendAlign:oe,onHiddenSeriesChange:re,series:l,showTooltip:R=!0,title:ue,xLabel:ce="X",yLabel:me="Y",zLabel:de="Tamanho",xAxis:X="visible",yAxis:k="visible",yAxisRight:Y="hidden"}){const{font:he,height:be,ref:ge,width:S}=Le.useChartMetrics(),{fillHeight:xe,value:p}=j.chartHeight(se,be),{isHidden:N,isOutOfScale:D,toggle:ve}=ae.useSeriesToggle({defaultHiddenSeries:te,hiddenSeries:le,labels:l.map(e=>e.label),onHiddenSeriesChange:re}),[u,T]=s.useState(null),[h,A]=s.useState(null),q=s.useMemo(()=>Ce.resolveSeriesColors(l,{accent:d}),[d,l]),y=s.useMemo(()=>ae.seriesInScale(l,D),[D,l]),_=f===!0||f==="x",F=f===!0||f==="y",L=s.useMemo(()=>n.mergeDomains(y.map(e=>n.domainOf(e.points.map(a=>a.x),{includeZero:_}))),[y,_]),C=s.useMemo(()=>n.mergeDomains(y.map(e=>n.domainOf(e.points.map(a=>a.y),{includeZero:F}))),[y,F]),I=s.useMemo(()=>l.reduce((e,a)=>a.points.reduce((i,c)=>Math.max(i,M(c)??0),e),0),[l]),H=j.valueLabelsFor(C,p,v),fe=j.valueLabelsFor(L,S,x),{axisReveal:ye,margins:Me,plot:t,rotation:Se}=$e.useCartesianLayout({bottomLabels:fe,font:he,height:p,labelAngle:"auto",leftLabels:H,rightLabels:H,topRoom:0,width:S,xAxis:X,yAxis:k,yAxisRight:Y}),P=s.useMemo(()=>n.linearScale({domain:L,range:[0,t.width]}),[L,t.width]),B=s.useMemo(()=>n.linearScale({domain:C,range:[t.height,0]}),[C,t.height]),[G,V,J,K]=ze.useTweenedNumbers([...P.domain(),...B.domain()]),$=s.useMemo(()=>n.linearScale({domain:{min:G,max:V},nice:!1,range:[0,t.width]}),[V,G,t.width]),z=s.useMemo(()=>n.linearScale({domain:{min:J,max:K},nice:!1,range:[t.height,0]}),[K,J,t.height]),pe=s.useMemo(()=>n.radiusScale(I,Oe),[I]),Q=n.ticksFor(P,t.width),U=n.ticksFor(B,t.height),Ne=Q.map(e=>({label:x(e),position:$(e)})),W=U.map(e=>({label:v(e),position:z(e)}));function Z(e,a){const i=a.label?`${e.label}, ${a.label}`:e.label,c=`${x(a.x)} × ${v(a.y)}`,b=M(a);return b===void 0?`${i}: ${c}`:`${i}: ${c} (${O(b)})`}const o=h?l[h.serie]:void 0,r=h?o==null?void 0:o.points[h.ponto]:void 0;function qe(){if(!h||!o||!r)return[];const e=M(r),a=[{color:q[h.serie],format:x,label:ce,values:[r.x]},{format:v,label:me,values:[r.y]}];return e===void 0?a:[...a,{format:O,label:de,values:[e]}]}return m.jsxs(je.CartesianFrame,{axisReveal:ye,containerRef:ge,empty:l.every(e=>e.points.length===0),emptyMessage:ie,grid:[{lines:U.map(e=>z(e)),orientation:"horizontal"},{lines:Q.map(e=>$(e)),orientation:"vertical"}],fillHeight:xe,height:p,legend:l.map((e,a)=>({color:q[a],hidden:N(e.label),label:e.label})),legendAlign:oe,legendPosition:ne,margins:Me,onToggleSeries:ve,plot:t,title:ue,tooltip:R?{computed:"none",rows:qe(),subtitle:r!=null&&r.label?o==null?void 0:o.label:void 0,title:(r==null?void 0:r.label)??(o==null?void 0:o.label)}:void 0,width:S,xAxis:{hideLine:!0,labelRotation:Se,ticks:Ne,visibility:X},yAxis:{hideLine:!0,ticks:W,visibility:k},yAxisRight:{hideLine:!0,ticks:W,visibility:Y},children:[u&&m.jsxs("g",{"aria-hidden":"true",children:[m.jsx("line",{className:g.default.guide,x1:u.x,x2:u.x,y1:u.y,y2:t.height}),m.jsx("line",{className:g.default.guide,x1:0,x2:u.x,y1:u.y,y2:u.y})]}),l.map((e,a)=>m.jsx("g",{"aria-hidden":N(e.label)||void 0,className:`${g.default.series} ${N(e.label)?g.default.seriesOff:""}`,children:e.points.map((i,c)=>{if(!Number.isFinite(i.x)||!Number.isFinite(i.y))return null;const b=$(i.x),E=z(i.y),ee=M(i);return m.jsx("circle",{"aria-label":Z(e,i),className:g.default.bubble,cx:b,cy:E,fill:q[a],onMouseEnter:()=>{T({x:b,y:E}),A({ponto:c,serie:a})},onMouseLeave:()=>{T(null),A(null)},r:ee===void 0?we:pe(ee),children:!R&&m.jsx("title",{children:Z(e,i)})},c)})},a))]})}exports.ChartScatter=Re;
|
|
2
|
+
//# sourceMappingURL=ChartScatter.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartScatter.cjs","sources":["../../../../src/components/charts/ChartScatter/ChartScatter.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n CartesianFrame,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n useChartMetrics,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelsFor,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { domainOf, linearScale, mergeDomains, radiusScale, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartScatter.module.css';\n\nexport interface ChartScatterPoint {\n label?: string;\n x: number;\n y: number;\n z?: number;\n}\n\nexport interface ChartScatterSeries extends SeriesAppearance {\n label: string;\n points: readonly ChartScatterPoint[];\n}\n\nexport interface ChartScatterProps {\n accent?: string;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatX?: (value: number) => string;\n formatY?: (value: number) => string;\n formatZ?: (value: number) => string;\n /**\n * Inclui o zero no dominio: `true` nos dois eixos, `'x'` ou `'y'` so naquele, `false` em nenhum.\n * Medida que nao se compara ao zero — um ano, uma temperatura — fica com o eixo dela de fora;\n * um ano pede tambem um formato sem separador de milhar em `formatX` ou `formatY`.\n */\n includeZero?: boolean | 'x' | 'y';\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n series: readonly ChartScatterSeries[];\n /** Balao com o detalhe do que esta sob o ponteiro. Desligue para nao mostrar nada alem do `<title>` nativo. */\n showTooltip?: boolean;\n title: string;\n /** Nome de cada medida no balao. */\n xLabel?: string;\n yLabel?: string;\n zLabel?: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nconst RAIO_SEM_Z = 5;\nconst FAIXA_DE_RAIO: [number, number] = [4, 18];\n\ninterface Guia {\n x: number;\n y: number;\n}\n\n/** Tamanho invalido tem o destino do ausente: a bolha fica no raio padrao. */\nfunction zValido(ponto: ChartScatterPoint) {\n return ponto.z !== undefined && Number.isFinite(ponto.z) ? ponto.z : undefined;\n}\n\nexport function ChartScatter({\n accent,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatX = formatarNumero,\n formatY = formatarNumero,\n formatZ = formatarNumero,\n height = 280,\n includeZero = true,\n hiddenSeries,\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n series,\n showTooltip = true,\n title,\n xLabel = 'X',\n yLabel = 'Y',\n zLabel = 'Tamanho',\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartScatterProps) {\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const [guia, setGuia] = useState<Guia | null>(null);\n const [emFoco, setEmFoco] = useState<{ ponto: number; serie: number } | null>(null);\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n const naEscala = useMemo(() => seriesInScale(series, isOutOfScale), [isOutOfScale, series]);\n\n const zeroEmX = includeZero === true || includeZero === 'x';\n const zeroEmY = includeZero === true || includeZero === 'y';\n\n const dominioX = useMemo(\n () =>\n mergeDomains(naEscala.map((serie) => domainOf(serie.points.map((p) => p.x), { includeZero: zeroEmX }))),\n [naEscala, zeroEmX],\n );\n\n const dominioY = useMemo(\n () =>\n mergeDomains(naEscala.map((serie) => domainOf(serie.points.map((p) => p.y), { includeZero: zeroEmY }))),\n [naEscala, zeroEmY],\n );\n\n const maiorZ = useMemo(\n () =>\n series.reduce(\n (maior, serie) => serie.points.reduce((parcial, ponto) => Math.max(parcial, zValido(ponto) ?? 0), maior),\n 0,\n ),\n [series],\n );\n\n const rotulosY = valueLabelsFor(dominioY, alturaDoDesenho, formatY);\n const rotulosX = valueLabelsFor(dominioX, width, formatX);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: rotulosX,\n font,\n height: alturaDoDesenho,\n labelAngle: 'auto',\n leftLabels: rotulosY,\n rightLabels: rotulosY,\n topRoom: 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n // As escalas alvo fixam as marcas; as animadas posicionam o desenho. Sem\n // separar as duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoX = useMemo(() => linearScale({ domain: dominioX, range: [0, plot.width] }), [dominioX, plot.width]);\n const alvoY = useMemo(() => linearScale({ domain: dominioY, range: [plot.height, 0] }), [dominioY, plot.height]);\n\n const [minX, maxX, minY, maxY] = useTweenedNumbers([...alvoX.domain(), ...alvoY.domain()]);\n\n const escalaX = useMemo(\n () => linearScale({ domain: { min: minX, max: maxX }, nice: false, range: [0, plot.width] }),\n [maxX, minX, plot.width],\n );\n const escalaY = useMemo(\n () => linearScale({ domain: { min: minY, max: maxY }, nice: false, range: [plot.height, 0] }),\n [maxY, minY, plot.height],\n );\n const escalaRaio = useMemo(() => radiusScale(maiorZ, FAIXA_DE_RAIO), [maiorZ]);\n\n const marcasX = ticksFor(alvoX, plot.width);\n const marcasY = ticksFor(alvoY, plot.height);\n\n const ticksX: AxisTick[] = marcasX.map((valor) => ({ label: formatX(valor), position: escalaX(valor) }));\n const ticksY: AxisTick[] = marcasY.map((valor) => ({ label: formatY(valor), position: escalaY(valor) }));\n\n function descrever(serie: ChartScatterSeries, ponto: ChartScatterPoint) {\n const inicio = ponto.label ? `${serie.label}, ${ponto.label}` : serie.label;\n const posicao = `${formatX(ponto.x)} × ${formatY(ponto.y)}`;\n const z = zValido(ponto);\n\n return z === undefined ? `${inicio}: ${posicao}` : `${inicio}: ${posicao} (${formatZ(z)})`;\n }\n\n const serieEmFoco = emFoco ? series[emFoco.serie] : undefined;\n const pontoEmFoco = emFoco ? serieEmFoco?.points[emFoco.ponto] : undefined;\n\n function linhasDoBalao() {\n if (!emFoco || !serieEmFoco || !pontoEmFoco) {\n return [];\n }\n\n const z = zValido(pontoEmFoco);\n const linhas = [\n { color: cores[emFoco.serie], format: formatX, label: xLabel, values: [pontoEmFoco.x] },\n { format: formatY, label: yLabel, values: [pontoEmFoco.y] },\n ];\n\n return z === undefined ? linhas : [...linhas, { format: formatZ, label: zLabel, values: [z] }];\n }\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.every((serie) => serie.points.length === 0)}\n emptyMessage={emptyMessage}\n grid={[\n { lines: marcasY.map((valor) => escalaY(valor)), orientation: 'horizontal' },\n { lines: marcasX.map((valor) => escalaX(valor)), orientation: 'vertical' },\n ]}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? {\n computed: 'none',\n rows: linhasDoBalao(),\n // Com nome no ponto, ele e o titulo e a serie vira subtitulo.\n subtitle: pontoEmFoco?.label ? serieEmFoco?.label : undefined,\n title: pontoEmFoco?.label ?? serieEmFoco?.label,\n }\n : undefined\n }\n width={width}\n xAxis={{ hideLine: true, labelRotation: rotation, ticks: ticksX, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: ticksY, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: ticksY, visibility: yAxisRight }}\n >\n {guia && (\n <g aria-hidden=\"true\">\n <line className={styles.guide} x1={guia.x} x2={guia.x} y1={guia.y} y2={plot.height} />\n <line className={styles.guide} x1={0} x2={guia.x} y1={guia.y} y2={guia.y} />\n </g>\n )}\n\n {series.map((serie, indiceSerie) => (\n <g\n aria-hidden={isHidden(serie.label) || undefined}\n className={`${styles.series} ${isHidden(serie.label) ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {serie.points.map((ponto, indice) => {\n if (!Number.isFinite(ponto.x) || !Number.isFinite(ponto.y)) {\n return null;\n }\n\n const x = escalaX(ponto.x);\n const y = escalaY(ponto.y);\n const z = zValido(ponto);\n\n return (\n <circle\n aria-label={descrever(serie, ponto)}\n className={styles.bubble}\n cx={x}\n cy={y}\n fill={cores[indiceSerie]}\n key={indice}\n onMouseEnter={() => {\n setGuia({ x, y });\n setEmFoco({ ponto: indice, serie: indiceSerie });\n }}\n onMouseLeave={() => {\n setGuia(null);\n setEmFoco(null);\n }}\n r={z === undefined ? RAIO_SEM_Z : escalaRaio(z)}\n >\n {!showTooltip && <title>{descrever(serie, ponto)}</title>}\n </circle>\n );\n })}\n </g>\n ))}\n </CartesianFrame>\n );\n}\n"],"names":["RAIO_SEM_Z","FAIXA_DE_RAIO","zValido","ponto","ChartScatter","accent","defaultHiddenSeries","emptyMessage","formatX","formatarNumero","formatY","formatZ","height","includeZero","hiddenSeries","legend","legendAlign","onHiddenSeriesChange","series","showTooltip","title","xLabel","yLabel","zLabel","xAxis","yAxis","yAxisRight","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","guia","setGuia","useState","emFoco","setEmFoco","cores","useMemo","resolveSeriesColors","naEscala","seriesInScale","zeroEmX","zeroEmY","dominioX","mergeDomains","domainOf","p","dominioY","maiorZ","maior","parcial","rotulosY","valueLabelsFor","rotulosX","axisReveal","margins","plot","rotation","useCartesianLayout","alvoX","linearScale","alvoY","minX","maxX","minY","maxY","useTweenedNumbers","escalaX","escalaY","escalaRaio","radiusScale","marcasX","ticksFor","marcasY","ticksX","valor","ticksY","descrever","inicio","posicao","z","serieEmFoco","pontoEmFoco","linhasDoBalao","linhas","jsxs","CartesianFrame","indice","jsx","styles","indiceSerie","x","y"],"mappings":"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"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { jsxs as ee, jsx as h } from "react/jsx-runtime";
|
|
2
|
+
import { useState as ie, useMemo as s } from "react";
|
|
3
|
+
import b from "./ChartScatter.module.css.js";
|
|
4
|
+
import { useChartMetrics as Re } from "../core/useChartMetrics.js";
|
|
5
|
+
import { useSeriesToggle as Ye, seriesInScale as ke } from "../core/useSeriesToggle.js";
|
|
6
|
+
import { resolveSeriesColors as Oe } from "../palette/seriesColor.js";
|
|
7
|
+
import { mergeDomains as te, domainOf as ae, linearScale as x, radiusScale as Ae, ticksFor as le } from "../scales/scales.js";
|
|
8
|
+
import { valueLabelsFor as oe, chartHeight as Ce } from "../core/cartesianLayout.js";
|
|
9
|
+
import { useCartesianLayout as De } from "../core/useCartesianLayout.js";
|
|
10
|
+
import { useTweenedNumbers as Ie } from "../core/useTweenedNumbers.js";
|
|
11
|
+
import { formatarNumero as R } from "../../../utils/formatters/formatarNumero.js";
|
|
12
|
+
import { CartesianFrame as _e } from "../core/CartesianFrame.js";
|
|
13
|
+
const He = 5, Te = [4, 18];
|
|
14
|
+
function y(m) {
|
|
15
|
+
return m.z !== void 0 && Number.isFinite(m.z) ? m.z : void 0;
|
|
16
|
+
}
|
|
17
|
+
function Ze({
|
|
18
|
+
accent: m,
|
|
19
|
+
defaultHiddenSeries: ne,
|
|
20
|
+
emptyMessage: se = "Sem dados no período",
|
|
21
|
+
formatX: g = R,
|
|
22
|
+
formatY: f = R,
|
|
23
|
+
formatZ: Y = R,
|
|
24
|
+
height: re = 280,
|
|
25
|
+
includeZero: p = !0,
|
|
26
|
+
hiddenSeries: ce,
|
|
27
|
+
legend: me = "bottom",
|
|
28
|
+
legendAlign: ue,
|
|
29
|
+
onHiddenSeriesChange: de,
|
|
30
|
+
series: l,
|
|
31
|
+
showTooltip: k = !0,
|
|
32
|
+
title: he,
|
|
33
|
+
xLabel: be = "X",
|
|
34
|
+
yLabel: ge = "Y",
|
|
35
|
+
zLabel: fe = "Tamanho",
|
|
36
|
+
xAxis: O = "visible",
|
|
37
|
+
yAxis: A = "visible",
|
|
38
|
+
yAxisRight: C = "hidden"
|
|
39
|
+
}) {
|
|
40
|
+
const { font: pe, height: ve, ref: xe, width: $ } = Re(), { fillHeight: ye, value: z } = Ce(re, ve), { isHidden: L, isOutOfScale: D, toggle: $e } = Ye({
|
|
41
|
+
defaultHiddenSeries: ne,
|
|
42
|
+
hiddenSeries: ce,
|
|
43
|
+
labels: l.map((e) => e.label),
|
|
44
|
+
onHiddenSeriesChange: de
|
|
45
|
+
}), [r, I] = ie(null), [u, _] = ie(null), N = s(() => Oe(l, { accent: m }), [m, l]), v = s(() => ke(l, D), [D, l]), H = p === !0 || p === "x", T = p === !0 || p === "y", S = s(
|
|
46
|
+
() => te(v.map((e) => ae(e.points.map((i) => i.x), { includeZero: H }))),
|
|
47
|
+
[v, H]
|
|
48
|
+
), X = s(
|
|
49
|
+
() => te(v.map((e) => ae(e.points.map((i) => i.y), { includeZero: T }))),
|
|
50
|
+
[v, T]
|
|
51
|
+
), j = s(
|
|
52
|
+
() => l.reduce(
|
|
53
|
+
(e, i) => i.points.reduce((a, c) => Math.max(a, y(c) ?? 0), e),
|
|
54
|
+
0
|
|
55
|
+
),
|
|
56
|
+
[l]
|
|
57
|
+
), B = oe(X, z, f), ze = oe(S, $, g), { axisReveal: Le, margins: Ne, plot: t, rotation: Se } = De({
|
|
58
|
+
bottomLabels: ze,
|
|
59
|
+
font: pe,
|
|
60
|
+
height: z,
|
|
61
|
+
labelAngle: "auto",
|
|
62
|
+
leftLabels: B,
|
|
63
|
+
rightLabels: B,
|
|
64
|
+
topRoom: 0,
|
|
65
|
+
width: $,
|
|
66
|
+
xAxis: O,
|
|
67
|
+
yAxis: A,
|
|
68
|
+
yAxisRight: C
|
|
69
|
+
}), F = s(() => x({ domain: S, range: [0, t.width] }), [S, t.width]), G = s(() => x({ domain: X, range: [t.height, 0] }), [X, t.height]), [P, V, q, J] = Ie([...F.domain(), ...G.domain()]), w = s(
|
|
70
|
+
() => x({ domain: { min: P, max: V }, nice: !1, range: [0, t.width] }),
|
|
71
|
+
[V, P, t.width]
|
|
72
|
+
), M = s(
|
|
73
|
+
() => x({ domain: { min: q, max: J }, nice: !1, range: [t.height, 0] }),
|
|
74
|
+
[J, q, t.height]
|
|
75
|
+
), Xe = s(() => Ae(j, Te), [j]), K = le(F, t.width), Q = le(G, t.height), we = K.map((e) => ({ label: g(e), position: w(e) })), U = Q.map((e) => ({ label: f(e), position: M(e) }));
|
|
76
|
+
function W(e, i) {
|
|
77
|
+
const a = i.label ? `${e.label}, ${i.label}` : e.label, c = `${g(i.x)} × ${f(i.y)}`, d = y(i);
|
|
78
|
+
return d === void 0 ? `${a}: ${c}` : `${a}: ${c} (${Y(d)})`;
|
|
79
|
+
}
|
|
80
|
+
const o = u ? l[u.serie] : void 0, n = u ? o == null ? void 0 : o.points[u.ponto] : void 0;
|
|
81
|
+
function Me() {
|
|
82
|
+
if (!u || !o || !n)
|
|
83
|
+
return [];
|
|
84
|
+
const e = y(n), i = [
|
|
85
|
+
{ color: N[u.serie], format: g, label: be, values: [n.x] },
|
|
86
|
+
{ format: f, label: ge, values: [n.y] }
|
|
87
|
+
];
|
|
88
|
+
return e === void 0 ? i : [...i, { format: Y, label: fe, values: [e] }];
|
|
89
|
+
}
|
|
90
|
+
return /* @__PURE__ */ ee(
|
|
91
|
+
_e,
|
|
92
|
+
{
|
|
93
|
+
axisReveal: Le,
|
|
94
|
+
containerRef: xe,
|
|
95
|
+
empty: l.every((e) => e.points.length === 0),
|
|
96
|
+
emptyMessage: se,
|
|
97
|
+
grid: [
|
|
98
|
+
{ lines: Q.map((e) => M(e)), orientation: "horizontal" },
|
|
99
|
+
{ lines: K.map((e) => w(e)), orientation: "vertical" }
|
|
100
|
+
],
|
|
101
|
+
fillHeight: ye,
|
|
102
|
+
height: z,
|
|
103
|
+
legend: l.map((e, i) => ({
|
|
104
|
+
color: N[i],
|
|
105
|
+
hidden: L(e.label),
|
|
106
|
+
label: e.label
|
|
107
|
+
})),
|
|
108
|
+
legendAlign: ue,
|
|
109
|
+
legendPosition: me,
|
|
110
|
+
margins: Ne,
|
|
111
|
+
onToggleSeries: $e,
|
|
112
|
+
plot: t,
|
|
113
|
+
title: he,
|
|
114
|
+
tooltip: k ? {
|
|
115
|
+
computed: "none",
|
|
116
|
+
rows: Me(),
|
|
117
|
+
// Com nome no ponto, ele e o titulo e a serie vira subtitulo.
|
|
118
|
+
subtitle: n != null && n.label ? o == null ? void 0 : o.label : void 0,
|
|
119
|
+
title: (n == null ? void 0 : n.label) ?? (o == null ? void 0 : o.label)
|
|
120
|
+
} : void 0,
|
|
121
|
+
width: $,
|
|
122
|
+
xAxis: { hideLine: !0, labelRotation: Se, ticks: we, visibility: O },
|
|
123
|
+
yAxis: { hideLine: !0, ticks: U, visibility: A },
|
|
124
|
+
yAxisRight: { hideLine: !0, ticks: U, visibility: C },
|
|
125
|
+
children: [
|
|
126
|
+
r && /* @__PURE__ */ ee("g", { "aria-hidden": "true", children: [
|
|
127
|
+
/* @__PURE__ */ h("line", { className: b.guide, x1: r.x, x2: r.x, y1: r.y, y2: t.height }),
|
|
128
|
+
/* @__PURE__ */ h("line", { className: b.guide, x1: 0, x2: r.x, y1: r.y, y2: r.y })
|
|
129
|
+
] }),
|
|
130
|
+
l.map((e, i) => /* @__PURE__ */ h(
|
|
131
|
+
"g",
|
|
132
|
+
{
|
|
133
|
+
"aria-hidden": L(e.label) || void 0,
|
|
134
|
+
className: `${b.series} ${L(e.label) ? b.seriesOff : ""}`,
|
|
135
|
+
children: e.points.map((a, c) => {
|
|
136
|
+
if (!Number.isFinite(a.x) || !Number.isFinite(a.y))
|
|
137
|
+
return null;
|
|
138
|
+
const d = w(a.x), Z = M(a.y), E = y(a);
|
|
139
|
+
return /* @__PURE__ */ h(
|
|
140
|
+
"circle",
|
|
141
|
+
{
|
|
142
|
+
"aria-label": W(e, a),
|
|
143
|
+
className: b.bubble,
|
|
144
|
+
cx: d,
|
|
145
|
+
cy: Z,
|
|
146
|
+
fill: N[i],
|
|
147
|
+
onMouseEnter: () => {
|
|
148
|
+
I({ x: d, y: Z }), _({ ponto: c, serie: i });
|
|
149
|
+
},
|
|
150
|
+
onMouseLeave: () => {
|
|
151
|
+
I(null), _(null);
|
|
152
|
+
},
|
|
153
|
+
r: E === void 0 ? He : Xe(E),
|
|
154
|
+
children: !k && /* @__PURE__ */ h("title", { children: W(e, a) })
|
|
155
|
+
},
|
|
156
|
+
c
|
|
157
|
+
);
|
|
158
|
+
})
|
|
159
|
+
},
|
|
160
|
+
i
|
|
161
|
+
))
|
|
162
|
+
]
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
export {
|
|
167
|
+
Ze as ChartScatter
|
|
168
|
+
};
|
|
169
|
+
//# sourceMappingURL=ChartScatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartScatter.js","sources":["../../../../src/components/charts/ChartScatter/ChartScatter.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n CartesianFrame,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n useChartMetrics,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelsFor,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { domainOf, linearScale, mergeDomains, radiusScale, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartScatter.module.css';\n\nexport interface ChartScatterPoint {\n label?: string;\n x: number;\n y: number;\n z?: number;\n}\n\nexport interface ChartScatterSeries extends SeriesAppearance {\n label: string;\n points: readonly ChartScatterPoint[];\n}\n\nexport interface ChartScatterProps {\n accent?: string;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatX?: (value: number) => string;\n formatY?: (value: number) => string;\n formatZ?: (value: number) => string;\n /**\n * Inclui o zero no dominio: `true` nos dois eixos, `'x'` ou `'y'` so naquele, `false` em nenhum.\n * Medida que nao se compara ao zero — um ano, uma temperatura — fica com o eixo dela de fora;\n * um ano pede tambem um formato sem separador de milhar em `formatX` ou `formatY`.\n */\n includeZero?: boolean | 'x' | 'y';\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n series: readonly ChartScatterSeries[];\n /** Balao com o detalhe do que esta sob o ponteiro. Desligue para nao mostrar nada alem do `<title>` nativo. */\n showTooltip?: boolean;\n title: string;\n /** Nome de cada medida no balao. */\n xLabel?: string;\n yLabel?: string;\n zLabel?: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nconst RAIO_SEM_Z = 5;\nconst FAIXA_DE_RAIO: [number, number] = [4, 18];\n\ninterface Guia {\n x: number;\n y: number;\n}\n\n/** Tamanho invalido tem o destino do ausente: a bolha fica no raio padrao. */\nfunction zValido(ponto: ChartScatterPoint) {\n return ponto.z !== undefined && Number.isFinite(ponto.z) ? ponto.z : undefined;\n}\n\nexport function ChartScatter({\n accent,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatX = formatarNumero,\n formatY = formatarNumero,\n formatZ = formatarNumero,\n height = 280,\n includeZero = true,\n hiddenSeries,\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n series,\n showTooltip = true,\n title,\n xLabel = 'X',\n yLabel = 'Y',\n zLabel = 'Tamanho',\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartScatterProps) {\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const [guia, setGuia] = useState<Guia | null>(null);\n const [emFoco, setEmFoco] = useState<{ ponto: number; serie: number } | null>(null);\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n const naEscala = useMemo(() => seriesInScale(series, isOutOfScale), [isOutOfScale, series]);\n\n const zeroEmX = includeZero === true || includeZero === 'x';\n const zeroEmY = includeZero === true || includeZero === 'y';\n\n const dominioX = useMemo(\n () =>\n mergeDomains(naEscala.map((serie) => domainOf(serie.points.map((p) => p.x), { includeZero: zeroEmX }))),\n [naEscala, zeroEmX],\n );\n\n const dominioY = useMemo(\n () =>\n mergeDomains(naEscala.map((serie) => domainOf(serie.points.map((p) => p.y), { includeZero: zeroEmY }))),\n [naEscala, zeroEmY],\n );\n\n const maiorZ = useMemo(\n () =>\n series.reduce(\n (maior, serie) => serie.points.reduce((parcial, ponto) => Math.max(parcial, zValido(ponto) ?? 0), maior),\n 0,\n ),\n [series],\n );\n\n const rotulosY = valueLabelsFor(dominioY, alturaDoDesenho, formatY);\n const rotulosX = valueLabelsFor(dominioX, width, formatX);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: rotulosX,\n font,\n height: alturaDoDesenho,\n labelAngle: 'auto',\n leftLabels: rotulosY,\n rightLabels: rotulosY,\n topRoom: 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n // As escalas alvo fixam as marcas; as animadas posicionam o desenho. Sem\n // separar as duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoX = useMemo(() => linearScale({ domain: dominioX, range: [0, plot.width] }), [dominioX, plot.width]);\n const alvoY = useMemo(() => linearScale({ domain: dominioY, range: [plot.height, 0] }), [dominioY, plot.height]);\n\n const [minX, maxX, minY, maxY] = useTweenedNumbers([...alvoX.domain(), ...alvoY.domain()]);\n\n const escalaX = useMemo(\n () => linearScale({ domain: { min: minX, max: maxX }, nice: false, range: [0, plot.width] }),\n [maxX, minX, plot.width],\n );\n const escalaY = useMemo(\n () => linearScale({ domain: { min: minY, max: maxY }, nice: false, range: [plot.height, 0] }),\n [maxY, minY, plot.height],\n );\n const escalaRaio = useMemo(() => radiusScale(maiorZ, FAIXA_DE_RAIO), [maiorZ]);\n\n const marcasX = ticksFor(alvoX, plot.width);\n const marcasY = ticksFor(alvoY, plot.height);\n\n const ticksX: AxisTick[] = marcasX.map((valor) => ({ label: formatX(valor), position: escalaX(valor) }));\n const ticksY: AxisTick[] = marcasY.map((valor) => ({ label: formatY(valor), position: escalaY(valor) }));\n\n function descrever(serie: ChartScatterSeries, ponto: ChartScatterPoint) {\n const inicio = ponto.label ? `${serie.label}, ${ponto.label}` : serie.label;\n const posicao = `${formatX(ponto.x)} × ${formatY(ponto.y)}`;\n const z = zValido(ponto);\n\n return z === undefined ? `${inicio}: ${posicao}` : `${inicio}: ${posicao} (${formatZ(z)})`;\n }\n\n const serieEmFoco = emFoco ? series[emFoco.serie] : undefined;\n const pontoEmFoco = emFoco ? serieEmFoco?.points[emFoco.ponto] : undefined;\n\n function linhasDoBalao() {\n if (!emFoco || !serieEmFoco || !pontoEmFoco) {\n return [];\n }\n\n const z = zValido(pontoEmFoco);\n const linhas = [\n { color: cores[emFoco.serie], format: formatX, label: xLabel, values: [pontoEmFoco.x] },\n { format: formatY, label: yLabel, values: [pontoEmFoco.y] },\n ];\n\n return z === undefined ? linhas : [...linhas, { format: formatZ, label: zLabel, values: [z] }];\n }\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.every((serie) => serie.points.length === 0)}\n emptyMessage={emptyMessage}\n grid={[\n { lines: marcasY.map((valor) => escalaY(valor)), orientation: 'horizontal' },\n { lines: marcasX.map((valor) => escalaX(valor)), orientation: 'vertical' },\n ]}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={legend}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? {\n computed: 'none',\n rows: linhasDoBalao(),\n // Com nome no ponto, ele e o titulo e a serie vira subtitulo.\n subtitle: pontoEmFoco?.label ? serieEmFoco?.label : undefined,\n title: pontoEmFoco?.label ?? serieEmFoco?.label,\n }\n : undefined\n }\n width={width}\n xAxis={{ hideLine: true, labelRotation: rotation, ticks: ticksX, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: ticksY, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: ticksY, visibility: yAxisRight }}\n >\n {guia && (\n <g aria-hidden=\"true\">\n <line className={styles.guide} x1={guia.x} x2={guia.x} y1={guia.y} y2={plot.height} />\n <line className={styles.guide} x1={0} x2={guia.x} y1={guia.y} y2={guia.y} />\n </g>\n )}\n\n {series.map((serie, indiceSerie) => (\n <g\n aria-hidden={isHidden(serie.label) || undefined}\n className={`${styles.series} ${isHidden(serie.label) ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {serie.points.map((ponto, indice) => {\n if (!Number.isFinite(ponto.x) || !Number.isFinite(ponto.y)) {\n return null;\n }\n\n const x = escalaX(ponto.x);\n const y = escalaY(ponto.y);\n const z = zValido(ponto);\n\n return (\n <circle\n aria-label={descrever(serie, ponto)}\n className={styles.bubble}\n cx={x}\n cy={y}\n fill={cores[indiceSerie]}\n key={indice}\n onMouseEnter={() => {\n setGuia({ x, y });\n setEmFoco({ ponto: indice, serie: indiceSerie });\n }}\n onMouseLeave={() => {\n setGuia(null);\n setEmFoco(null);\n }}\n r={z === undefined ? RAIO_SEM_Z : escalaRaio(z)}\n >\n {!showTooltip && <title>{descrever(serie, ponto)}</title>}\n </circle>\n );\n })}\n </g>\n ))}\n </CartesianFrame>\n );\n}\n"],"names":["RAIO_SEM_Z","FAIXA_DE_RAIO","zValido","ponto","ChartScatter","accent","defaultHiddenSeries","emptyMessage","formatX","formatarNumero","formatY","formatZ","height","includeZero","hiddenSeries","legend","legendAlign","onHiddenSeriesChange","series","showTooltip","title","xLabel","yLabel","zLabel","xAxis","yAxis","yAxisRight","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","guia","setGuia","useState","emFoco","setEmFoco","cores","useMemo","resolveSeriesColors","naEscala","seriesInScale","zeroEmX","zeroEmY","dominioX","mergeDomains","domainOf","p","dominioY","maiorZ","maior","parcial","rotulosY","valueLabelsFor","rotulosX","axisReveal","margins","plot","rotation","useCartesianLayout","alvoX","linearScale","alvoY","minX","maxX","minY","maxY","useTweenedNumbers","escalaX","escalaY","escalaRaio","radiusScale","marcasX","ticksFor","marcasY","ticksX","valor","ticksY","descrever","inicio","posicao","z","serieEmFoco","pontoEmFoco","linhasDoBalao","linhas","jsxs","CartesianFrame","indice","jsx","styles","indiceSerie","x","y"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bubble_okzta_1",s="_guide_okzta_11",_="_series_okzta_23 _series_yf6oe_211",i="_seriesOff_okzta_27 _seriesOff_yf6oe_215",t={bubble:e,guide:s,series:_,seriesOff:i};exports.bubble=e;exports.default=t;exports.guide=s;exports.series=_;exports.seriesOff=i;
|
|
2
|
+
//# sourceMappingURL=ChartScatter.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartScatter.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const e = "_bubble_okzta_1", s = "_guide_okzta_11", _ = "_series_okzta_23 _series_yf6oe_211", o = "_seriesOff_okzta_27 _seriesOff_yf6oe_215", t = {
|
|
2
|
+
bubble: e,
|
|
3
|
+
guide: s,
|
|
4
|
+
series: _,
|
|
5
|
+
seriesOff: o
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
e as bubble,
|
|
9
|
+
t as default,
|
|
10
|
+
s as guide,
|
|
11
|
+
_ as series,
|
|
12
|
+
o as seriesOff
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ChartScatter.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartScatter.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),m=require("react"),I=require("d3-hierarchy"),f=require("./ChartSunburst.module.css.cjs"),le=require("../core/useChartMetrics.cjs"),ue=require("../core/useSeriesToggle.cjs"),ce=require("../palette/seriesColor.cjs"),k=require("../core/measureText.cjs"),g=require("../core/spacing.cjs"),v=require("../core/arcs.cjs"),de=require("../core/ChartFrame.cjs"),he=require("../core/tooltips.cjs"),U=require("../core/hoverPath.cjs"),me=require("../../../utils/formatters/formatarNumero.cjs"),fe=require("../core/cartesianLayout.cjs"),ge=.18,C=14;function w(a,n=1,s=new Map){return a.forEach(o=>{var x;s.set(n,[...s.get(n)??[],o.label]),(x=o.children)!=null&&x.length&&w(o.children,n+1,s)}),s}function xe(a,n){if(n<=1)return a;const s=Math.min((n-1)*22,66);return`color-mix(in oklab, ${a} ${100-s}%, var(--pl-color-surface))`}function pe({accent:a,defaultHiddenGroups:n,emptyMessage:s="Sem dados no período",formatPercent:o=M=>`${Math.round(M*100)}%`,formatTooltipValue:x,formatValue:L=me.formatarNumero,height:G=320,hiddenGroups:W,legend:Z="bottom",legendAlign:J,nodes:i,onHiddenGroupsChange:K,onHoverNode:p,ringGap:Q=2,showLabels:A=!0,showTooltip:F=!0,sliceRadius:V,title:X}){const{font:M,height:Y,radius:z,ref:ee,width:S}=le.useChartMetrics(),{fillHeight:te,value:D}=fe.chartHeight(G,Y),{isHidden:T,toggle:re}=ue.useSeriesToggle({defaultHiddenSeries:n,hiddenSeries:W,onHiddenSeriesChange:K}),[O,ne]=m.useState(null),R=m.useMemo(()=>ce.resolveSeriesColors(i,{accent:a}),[a,i]),b=m.useMemo(()=>i.filter(e=>!T(e.label)),[T,i]),se=m.useMemo(()=>{const e=w(b),t=Math.max(0,...e.keys());return e.get(t)??[]},[b]),N=A?Math.min(k.widestLabel(se,M),S*g.CHART_LABEL_BAND):0,ae=A?C*2+g.CHART_LABEL_OFFSET+N:0,q=g.ringDiameter(Math.max(S-ae*2,0),D)/2,d=m.useMemo(()=>{if(q<=0)return[];const e=I.hierarchy({children:b,label:""}).sum(r=>Math.max(r.value??0,0)).sort((r,u)=>(u.value??0)-(r.value??0));return I.partition().size([v.VOLTA,q])(e).descendants().filter(r=>r.depth>0)},[q,b]),ie=d.reduce((e,t)=>Math.max(e,t.depth),0),y=d.filter(e=>e.depth===1).reduce((e,t)=>e+(t.value??0),0),l=O&&d.includes(O)?O:null;function oe(e){return l===null||l.ancestors().includes(e)}function j(e){ne(e),p==null||p(e&&U.hoverPath(e))}function B(e){var u;const t=(u=e.ancestors().find(h=>h.depth===1))==null?void 0:u.data,r=(t==null?void 0:t.color)??R[i.findIndex(h=>h.label===(t==null?void 0:t.label))];return xe(r??"var(--pl-chart-neutral)",e.depth)}function P(e){const t=y>0?(e.value??0)/y:0;return`${e.data.label}: ${L(e.value??0)} (${o(t)})`}return c.jsxs(de.ChartFrame,{centerOrigin:!0,containerRef:ee,empty:i.length===0,emptyMessage:s,fillHeight:te,height:D,legend:i.map((e,t)=>({color:R[t],hidden:T(e.label),label:e.label})),legendAlign:J,legendPosition:Z,onToggleSeries:re,swatch:"dot",title:X,tooltip:F?he.pathTooltip({color:l?B(l):void 0,format:x??L,formatPercent:o,path:l&&U.hoverPath(l),total:y}):void 0,width:S,children:[d.map((e,t)=>c.jsx("path",{"aria-label":P(e),className:`${f.default.arc} ${oe(e)?"":f.default.arcDim}`,d:v.arcPath({cornerRadius:V??z,endAngle:e.x1,innerRadius:e.y0+(e.depth>1?Q:0),outerRadius:e.y1,startAngle:e.x0}),fill:B(e),onMouseEnter:()=>j(e),onMouseLeave:()=>j(null),children:!F&&!p&&c.jsx("title",{children:P(e)})},t)),A&&d.filter(e=>e.depth===ie&&e.x1-e.x0>=ge).map((e,t)=>{const r={endAngle:e.x1,startAngle:e.x0},[u,h]=v.arcAnchor(r,e.y1),[_,$]=v.arcAnchor(r,e.y1+C),E=_>=0,H=_+(E?C:-C);return c.jsxs("g",{className:f.default.leader,children:[c.jsx("polyline",{className:f.default.connector,points:`${u},${h} ${_},${$} ${H},${$}`}),c.jsx("text",{className:f.default.label,dominantBaseline:"middle",textAnchor:E?"start":"end",x:H+(E?g.CHART_LABEL_OFFSET:-g.CHART_LABEL_OFFSET),y:$,children:k.truncateToWidth(e.data.label,M,N)})]},t)})]})}exports.ChartSunburst=pe;
|
|
2
|
+
//# sourceMappingURL=ChartSunburst.cjs.map
|