@plenustech/design-system 0.2.0 → 0.2.2
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/charts/ChartArea/ChartArea.cjs +2 -0
- package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -0
- package/dist/components/charts/ChartArea/ChartArea.js +205 -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 +18 -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 +216 -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 +14 -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 +248 -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 +20 -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 +107 -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 +166 -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 +18 -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 +99 -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 +121 -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 +209 -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 +137 -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 +144 -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 +122 -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 +168 -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 +12 -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 +120 -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 +68 -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 +65 -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/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 +59 -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/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/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/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 +22 -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 +91 -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/Table/Table.cjs +2 -0
- package/dist/components/data-display/Table/Table.cjs.map +1 -0
- package/dist/components/data-display/Table/Table.js +238 -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 +69 -0
- package/dist/components/data-display/Table/Table.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/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/forms/Checkbox/Checkbox.cjs +2 -0
- package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -0
- package/dist/components/forms/Checkbox/Checkbox.js +45 -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/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 +34 -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 +16 -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/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 +62 -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/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 +116 -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/Tabs/Tabs.cjs +2 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -0
- package/dist/components/navigation/Tabs/Tabs.js +96 -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 +20 -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 +64 -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/Menu/Menu.cjs +2 -0
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -0
- package/dist/components/overlays/Menu/Menu.js +137 -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 +10 -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 +131 -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/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/Table/Table.d.ts +5 -3
- 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/forms/Checkbox/Checkbox.d.ts +3 -2
- package/dist/types/components/forms/ComboBox/ComboBox.d.ts +15 -4
- package/dist/types/components/forms/ComboBox/index.d.ts +1 -1
- package/dist/types/components/icons/icons.d.ts +4 -0
- package/dist/types/components/icons/index.d.ts +1 -1
- package/dist/types/components/navigation/Pagination/Pagination.d.ts +3 -1
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +6 -1
- package/dist/types/components/overlays/Dialog/index.d.ts +1 -1
- package/dist/types/index.d.ts +9 -3
- 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 +28 -0
- package/dist/utils/formatters/formatarNumero.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 -2
- package/dist/plenus-design-system.cjs.map +0 -1
- package/dist/plenus-design-system.es.js +0 -6297
- package/dist/plenus-design-system.es.js.map +0 -1
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import { jsxs as so, jsx as V } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as g } from "react";
|
|
3
|
+
import y from "./ChartBar.module.css.js";
|
|
4
|
+
import { useChartMetrics as To } from "../core/useChartMetrics.js";
|
|
5
|
+
import { useSeriesToggle as wo } from "../core/useSeriesToggle.js";
|
|
6
|
+
import { useHoveredBand as Po } from "../core/useHoveredBand.js";
|
|
7
|
+
import { resolveSeriesColors as Vo } from "../palette/seriesColor.js";
|
|
8
|
+
import { useTweenedNumbers as mo } from "../core/useTweenedNumbers.js";
|
|
9
|
+
import { domainOf as eo, stackDiverging as io, mergeDomains as jo, bandScale as zo, linearScale as uo, ticksFor as Eo } from "../scales/scales.js";
|
|
10
|
+
import { valueLabelsFor as qo, cartesianLayout as Co, chartHeight as Go } from "../core/cartesianLayout.js";
|
|
11
|
+
import { valueLabelRoom as Io, barSlots as Jo, NO_BAR_SLOT as Ko } from "../core/spacing.js";
|
|
12
|
+
import { formatarNumero as Qo } from "../../../utils/formatters/formatarNumero.js";
|
|
13
|
+
import { CartesianFrame as Uo } from "../core/CartesianFrame.js";
|
|
14
|
+
import { BandCursor as Wo } from "../core/BandCursor.js";
|
|
15
|
+
import { roundedBarPath as Xo } from "../core/shapes.js";
|
|
16
|
+
function ct({
|
|
17
|
+
accent: j,
|
|
18
|
+
categories: s,
|
|
19
|
+
defaultHiddenSeries: co,
|
|
20
|
+
emptyMessage: fo = "Sem dados no período",
|
|
21
|
+
formatValue: F = Qo,
|
|
22
|
+
height: ho = 260,
|
|
23
|
+
hiddenSeries: po,
|
|
24
|
+
labelAngle: bo = "auto",
|
|
25
|
+
legend: B = "bottom",
|
|
26
|
+
legendAlign: vo,
|
|
27
|
+
onHiddenSeriesChange: xo,
|
|
28
|
+
onHoverCategory: Do,
|
|
29
|
+
orientation: z = "vertical",
|
|
30
|
+
series: m,
|
|
31
|
+
showDataLabels: R = !1,
|
|
32
|
+
stacked: c = !1,
|
|
33
|
+
title: Mo,
|
|
34
|
+
xAxis: E = "visible",
|
|
35
|
+
yAxis: q = "visible",
|
|
36
|
+
yAxisRight: C = "hidden"
|
|
37
|
+
}) {
|
|
38
|
+
const { font: G, height: go, radius: b, ref: Fo, width: _ } = To(), { fillHeight: Lo, value: $ } = Go(ho, go), { isHidden: v, toggle: No } = wo({ defaultHiddenSeries: co, hiddenSeries: po, onHiddenSeriesChange: xo }), { hover: I, hovered: J } = Po(Do), n = z === "vertical", K = g(() => Vo(m, { accent: j }), [j, m]), Q = mo(m.map((o) => v(o.label) ? 0 : 1)), yo = (o) => Q[o] ?? 0, A = g(() => {
|
|
39
|
+
const o = m.filter((t) => !v(t.label));
|
|
40
|
+
return c ? eo(
|
|
41
|
+
s.flatMap((t, a) => io(o.map((l) => l.values[a] ?? 0)).flat())
|
|
42
|
+
) : jo(o.map((t) => eo([...t.values])));
|
|
43
|
+
}, [s, v, m, c]), Bo = !n && (B === "left" || B === "right") ? "bottom" : B, H = qo(A, n ? $ : _, F), { margins: Ro, plot: d, rotation: _o } = Co({
|
|
44
|
+
bottomLabels: n ? s : H,
|
|
45
|
+
font: G,
|
|
46
|
+
height: $,
|
|
47
|
+
labelAngle: bo,
|
|
48
|
+
leftLabels: n ? H : s,
|
|
49
|
+
rightLabels: n ? H : s,
|
|
50
|
+
topRoom: R && n ? Io(G) : 0,
|
|
51
|
+
width: _,
|
|
52
|
+
xAxis: E,
|
|
53
|
+
yAxis: q,
|
|
54
|
+
yAxisRight: C
|
|
55
|
+
}), U = n ? d.width : d.height, O = n ? d.height : d.width, L = n ? O : 0, N = n ? 0 : O, x = g(
|
|
56
|
+
() => zo({ domain: s, range: [0, U] }),
|
|
57
|
+
[s, U]
|
|
58
|
+
), W = g(
|
|
59
|
+
() => uo({ domain: A, range: [L, N] }),
|
|
60
|
+
[A, N, L]
|
|
61
|
+
), [X, Y] = mo(W.domain()), p = g(
|
|
62
|
+
() => uo({
|
|
63
|
+
domain: { min: X, max: Y },
|
|
64
|
+
nice: !1,
|
|
65
|
+
range: [L, N]
|
|
66
|
+
}),
|
|
67
|
+
[N, L, Y, X]
|
|
68
|
+
), Z = Eo(W, O), M = x.bandwidth(), $o = Jo(M, Q);
|
|
69
|
+
function S(o) {
|
|
70
|
+
return $o[o] ?? Ko;
|
|
71
|
+
}
|
|
72
|
+
function k(o) {
|
|
73
|
+
return c ? M : S(o).thickness;
|
|
74
|
+
}
|
|
75
|
+
function oo(o) {
|
|
76
|
+
return c ? 0 : S(o).offset;
|
|
77
|
+
}
|
|
78
|
+
function to(o, t) {
|
|
79
|
+
const a = m[o].values[t];
|
|
80
|
+
return (Number.isFinite(a) ? a : 0) * (c ? yo(o) : 1);
|
|
81
|
+
}
|
|
82
|
+
const T = s.map(
|
|
83
|
+
(o, t) => c ? io(m.map((a, l) => to(l, t))) : []
|
|
84
|
+
);
|
|
85
|
+
function no(o, t) {
|
|
86
|
+
return T[t][o] ?? [0, to(o, t)];
|
|
87
|
+
}
|
|
88
|
+
function Ao(o, t) {
|
|
89
|
+
const [a, l] = no(o, t);
|
|
90
|
+
if (!c)
|
|
91
|
+
return [b, b, b, b];
|
|
92
|
+
const r = T[t], i = l < a ? Math.min(...r.map(([, D]) => D)) : Math.max(...r.map(([, D]) => D)), f = l !== a && a === 0 ? b : 0, e = l !== a && l === i ? b : 0, [u, h] = l < a ? [e, f] : [f, e];
|
|
93
|
+
return n ? [h, h, u, u] : [u, h, h, u];
|
|
94
|
+
}
|
|
95
|
+
function ao(o, t, a, l) {
|
|
96
|
+
const r = o < 0;
|
|
97
|
+
return /* @__PURE__ */ V(
|
|
98
|
+
"text",
|
|
99
|
+
{
|
|
100
|
+
className: y.valueLabel,
|
|
101
|
+
dominantBaseline: n ? r ? "hanging" : "auto" : "middle",
|
|
102
|
+
textAnchor: n ? "middle" : r ? "end" : "start",
|
|
103
|
+
x: n ? a : t + (r ? -6 : 6),
|
|
104
|
+
y: n ? t + (r ? 6 : -6) : a,
|
|
105
|
+
children: F(o)
|
|
106
|
+
},
|
|
107
|
+
l
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
const Ho = s.map((o) => ({
|
|
111
|
+
label: o,
|
|
112
|
+
position: (x(o) ?? 0) + M / 2
|
|
113
|
+
})), Oo = Z.map((o) => ({
|
|
114
|
+
label: F(o),
|
|
115
|
+
position: p(o)
|
|
116
|
+
})), w = { labelRotation: _o, ticks: Ho }, P = { hideLine: !0, ticks: Oo };
|
|
117
|
+
return /* @__PURE__ */ so(
|
|
118
|
+
Uo,
|
|
119
|
+
{
|
|
120
|
+
containerRef: Fo,
|
|
121
|
+
empty: m.length === 0 || s.length === 0,
|
|
122
|
+
emptyMessage: fo,
|
|
123
|
+
fillHeight: Lo,
|
|
124
|
+
grid: [
|
|
125
|
+
{
|
|
126
|
+
baseline: p(0),
|
|
127
|
+
lines: Z.map((o) => p(o)),
|
|
128
|
+
orientation: n ? "horizontal" : "vertical"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
height: $,
|
|
132
|
+
legend: m.map((o, t) => ({
|
|
133
|
+
color: K[t],
|
|
134
|
+
hidden: v(o.label),
|
|
135
|
+
label: o.label
|
|
136
|
+
})),
|
|
137
|
+
legendAlign: vo,
|
|
138
|
+
legendPosition: Bo,
|
|
139
|
+
margins: Ro,
|
|
140
|
+
onToggleSeries: No,
|
|
141
|
+
plot: d,
|
|
142
|
+
title: Mo,
|
|
143
|
+
width: _,
|
|
144
|
+
xAxis: { ...n ? w : P, visibility: E },
|
|
145
|
+
yAxis: { ...n ? P : w, visibility: q },
|
|
146
|
+
yAxisRight: { ...n ? P : w, hideLine: !0, visibility: C },
|
|
147
|
+
children: [
|
|
148
|
+
J !== null && /* @__PURE__ */ V(
|
|
149
|
+
Wo,
|
|
150
|
+
{
|
|
151
|
+
offset: x(s[J]) ?? 0,
|
|
152
|
+
orientation: z,
|
|
153
|
+
plot: d,
|
|
154
|
+
size: M
|
|
155
|
+
}
|
|
156
|
+
),
|
|
157
|
+
m.map((o, t) => {
|
|
158
|
+
const a = v(o.label);
|
|
159
|
+
return /* @__PURE__ */ so(
|
|
160
|
+
"g",
|
|
161
|
+
{
|
|
162
|
+
"aria-hidden": a || void 0,
|
|
163
|
+
className: `${y.series} ${a ? y.seriesOff : ""}`,
|
|
164
|
+
children: [
|
|
165
|
+
s.map((l, r) => {
|
|
166
|
+
if (!Number.isFinite(o.values[r]))
|
|
167
|
+
return null;
|
|
168
|
+
const i = x(l) ?? 0, [f, e] = no(t, r), u = p(f), h = p(e), D = Math.abs(h - u), lo = k(t), ro = oo(t);
|
|
169
|
+
return /* @__PURE__ */ V(
|
|
170
|
+
"path",
|
|
171
|
+
{
|
|
172
|
+
"aria-label": `${o.label}, ${l}: ${F(o.values[r])}`,
|
|
173
|
+
className: y.bar,
|
|
174
|
+
d: Xo(
|
|
175
|
+
n ? i + ro : Math.min(u, h),
|
|
176
|
+
n ? Math.min(u, h) : i + ro,
|
|
177
|
+
n ? lo : D,
|
|
178
|
+
n ? D : lo,
|
|
179
|
+
Ao(t, r)
|
|
180
|
+
),
|
|
181
|
+
fill: K[t],
|
|
182
|
+
onMouseEnter: () => I(r),
|
|
183
|
+
onMouseLeave: () => I(null)
|
|
184
|
+
},
|
|
185
|
+
r
|
|
186
|
+
);
|
|
187
|
+
}),
|
|
188
|
+
R && !c && s.map((l, r) => {
|
|
189
|
+
const i = o.values[r];
|
|
190
|
+
if (!Number.isFinite(i))
|
|
191
|
+
return null;
|
|
192
|
+
const f = (x(l) ?? 0) + oo(t) + k(t) / 2;
|
|
193
|
+
return ao(i, p(i), f, r);
|
|
194
|
+
})
|
|
195
|
+
]
|
|
196
|
+
},
|
|
197
|
+
t
|
|
198
|
+
);
|
|
199
|
+
}),
|
|
200
|
+
R && c && s.map((o, t) => {
|
|
201
|
+
const a = m.filter(
|
|
202
|
+
(e) => !v(e.label) && Number.isFinite(e.values[t])
|
|
203
|
+
);
|
|
204
|
+
if (a.length === 0)
|
|
205
|
+
return null;
|
|
206
|
+
const l = a.reduce((e, u) => e + u.values[t], 0), r = T[t].map(([, e]) => e), i = l < 0 ? Math.min(0, ...r) : Math.max(0, ...r), f = (x(o) ?? 0) + M / 2;
|
|
207
|
+
return ao(l, p(i), f, t);
|
|
208
|
+
})
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
);
|
|
212
|
+
}
|
|
213
|
+
export {
|
|
214
|
+
ct as ChartBar
|
|
215
|
+
};
|
|
216
|
+
//# sourceMappingURL=ChartBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartBar.js","sources":["../../../../src/components/charts/ChartBar/ChartBar.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n cartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type CornerRadii,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { bandScale, domainOf, linearScale, mergeDomains, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartBar.module.css';\n\nexport type ChartBarOrientation = 'vertical' | 'horizontal';\n\nexport interface ChartBarSeries extends SeriesAppearance {\n label: string;\n values: readonly number[];\n}\n\nexport interface ChartBarProps {\n accent?: string;\n categories: readonly string[];\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n orientation?: ChartBarOrientation;\n series: readonly ChartBarSeries[];\n /** Valor alem da ponta de cada barra; empilhada, o total da categoria alem da ponta da pilha. */\n showDataLabels?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartBar({\n accent,\n categories,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n orientation = 'vertical',\n series,\n showDataLabels = false,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartBarProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const vertical = orientation === 'vertical';\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 // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // serie desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n const presenca = (indice: number) => presencas[indice] ?? 0;\n\n const dominio = useMemo(() => {\n const visiveis = series.filter((serie) => !isHidden(serie.label));\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) => stackDiverging(visiveis.map((serie) => serie.values[indice] ?? 0)).flat()),\n );\n }\n\n return mergeDomains(visiveis.map((serie) => domainOf([...serie.values])));\n }, [categories, isHidden, series, stacked]);\n\n // Barras horizontais consomem a largura: a legenda ao lado espremeria o desenho.\n const posicaoDaLegenda = !vertical && (legend === 'left' || legend === 'right') ? 'bottom' : legend;\n\n const rotulosDeValor = valueLabelsFor(dominio, vertical ? alturaDoDesenho : width, formatValue);\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: vertical ? categories : rotulosDeValor,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: vertical ? rotulosDeValor : categories,\n rightLabels: vertical ? rotulosDeValor : categories,\n topRoom: showDataLabels && vertical ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const comprimentoCategorias = vertical ? plot.width : plot.height;\n const comprimentoValores = vertical ? plot.height : plot.width;\n const inicioDaFaixa = vertical ? comprimentoValores : 0;\n const fimDaFaixa = vertical ? 0 : comprimentoValores;\n\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, comprimentoCategorias] }),\n [categories, comprimentoCategorias],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [inicioDaFaixa, fimDaFaixa] }),\n [dominio, fimDaFaixa, inicioDaFaixa],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () =>\n linearScale({\n domain: { min: minimo, max: maximo },\n nice: false,\n range: [inicioDaFaixa, fimDaFaixa],\n }),\n [fimDaFaixa, inicioDaFaixa, maximo, minimo],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, comprimentoValores);\n\n const vao = escalaCategorias.bandwidth();\n const faixas = barSlots(vao, presencas);\n\n // Empilhada, a serie ocupa a faixa inteira: quem reparte e a pilha, nao a faixa.\n function faixaDa(indiceSerie: number) {\n return faixas[indiceSerie] ?? NO_BAR_SLOT;\n }\n\n function espessuraDa(indiceSerie: number) {\n return stacked ? vao : faixaDa(indiceSerie).thickness;\n }\n\n function deslocamentoDa(indiceSerie: number) {\n return stacked ? 0 : faixaDa(indiceSerie).offset;\n }\n\n /** Valor que a serie empilha, ja pesado pela presenca, para a pilha encolher junto; invalido conta zero. */\n function contribuicao(indiceSerie: number, indiceCategoria: number) {\n const valor = series[indiceSerie].values[indiceCategoria];\n const real = Number.isFinite(valor) ? (valor as number) : 0;\n\n return real * (stacked ? presenca(indiceSerie) : 1);\n }\n\n const pilhas = categories.map((_, indiceCategoria) =>\n stacked ? stackDiverging(series.map((_, indiceSerie) => contribuicao(indiceSerie, indiceCategoria))) : [],\n );\n\n function segmentoDa(indiceSerie: number, indiceCategoria: number): [number, number] {\n return pilhas[indiceCategoria][indiceSerie] ?? [0, contribuicao(indiceSerie, indiceCategoria)];\n }\n\n /**\n * Cantos de um segmento. Empilhado, so as pontas de cada pilha, a de cima do zero e a de baixo,\n * sao arredondadas e o meio fica reto, para os segmentos lerem como uma barra so.\n */\n function cantosDa(indiceSerie: number, indiceCategoria: number): CornerRadii {\n const [inicio, fim] = segmentoDa(indiceSerie, indiceCategoria);\n\n if (!stacked) {\n return [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto];\n }\n\n const pilha = pilhas[indiceCategoria];\n const extremo = fim < inicio ? Math.min(...pilha.map(([, ate]) => ate)) : Math.max(...pilha.map(([, ate]) => ate));\n const abre = fim !== inicio && inicio === 0 ? raioDoCanto : 0;\n const fecha = fim !== inicio && fim === extremo ? raioDoCanto : 0;\n // Na tela, o lado de maior valor fica em cima na vertical e a direita na horizontal.\n const [menor, maior] = fim < inicio ? [fecha, abre] : [abre, fecha];\n\n return vertical ? [maior, maior, menor, menor] : [menor, maior, maior, menor];\n }\n\n /** Rotulo alem da ponta da barra: no negativo ela esta embaixo, ou a esquerda. */\n function rotuloAlemDaPonta(valor: number, ponta: number, centro: number, chave: number) {\n const negativo = valor < 0;\n\n return (\n <text\n className={styles.valueLabel}\n dominantBaseline={vertical ? (negativo ? 'hanging' : 'auto') : 'middle'}\n key={chave}\n textAnchor={vertical ? 'middle' : negativo ? 'end' : 'start'}\n x={vertical ? centro : ponta + (negativo ? -6 : 6)}\n y={vertical ? ponta + (negativo ? 6 : -6) : centro}\n >\n {formatValue(valor)}\n </text>\n );\n }\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n const eixoDeCategoria = { labelRotation: rotation, ticks: marcasCategoria };\n const eixoDeValor = { hideLine: true, ticks: marcasValor };\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: vertical ? 'horizontal' : 'vertical',\n },\n ]}\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={posicaoDaLegenda}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n width={width}\n xAxis={{ ...(vertical ? eixoDeCategoria : eixoDeValor), visibility: xAxis }}\n yAxis={{ ...(vertical ? eixoDeValor : eixoDeCategoria), visibility: yAxis }}\n yAxisRight={{ ...(vertical ? eixoDeValor : eixoDeCategoria), hideLine: true, visibility: yAxisRight }}\n >\n {faixaEmFoco !== null && (\n <BandCursor\n offset={escalaCategorias(categories[faixaEmFoco]) ?? 0}\n orientation={orientation}\n plot={plot}\n size={vao}\n />\n )}\n\n {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n if (!Number.isFinite(serie.values[indiceCategoria])) {\n return null;\n }\n\n const inicioCategoria = escalaCategorias(categoria) ?? 0;\n const [de, ate] = segmentoDa(indiceSerie, indiceCategoria);\n const comeco = escalaValores(de);\n const fim = escalaValores(ate);\n const tamanho = Math.abs(fim - comeco);\n const espessura = espessuraDa(indiceSerie);\n const deslocamento = deslocamentoDa(indiceSerie);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatValue(serie.values[indiceCategoria])}`}\n className={styles.bar}\n d={roundedBarPath(\n vertical ? inicioCategoria + deslocamento : Math.min(comeco, fim),\n vertical ? Math.min(comeco, fim) : inicioCategoria + deslocamento,\n vertical ? espessura : tamanho,\n vertical ? tamanho : espessura,\n cantosDa(indiceSerie, indiceCategoria),\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => focarFaixa(indiceCategoria)}\n onMouseLeave={() => focarFaixa(null)}\n />\n );\n })}\n\n {showDataLabels &&\n !stacked &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (!Number.isFinite(valor)) {\n return null;\n }\n\n const centro =\n (escalaCategorias(categoria) ?? 0) + deslocamentoDa(indiceSerie) + espessuraDa(indiceSerie) / 2;\n\n return rotuloAlemDaPonta(valor, escalaValores(valor), centro, indiceCategoria);\n })}\n </g>\n );\n })}\n\n {showDataLabels &&\n stacked &&\n categories.map((categoria, indiceCategoria) => {\n const presentes = series.filter(\n (serie) => !isHidden(serie.label) && Number.isFinite(serie.values[indiceCategoria]),\n );\n\n if (presentes.length === 0) {\n return null;\n }\n\n const total = presentes.reduce((soma, serie) => soma + serie.values[indiceCategoria], 0);\n const pontas = pilhas[indiceCategoria].map(([, ate]) => ate);\n const extremo = total < 0 ? Math.min(0, ...pontas) : Math.max(0, ...pontas);\n const centro = (escalaCategorias(categoria) ?? 0) + vao / 2;\n\n return rotuloAlemDaPonta(total, escalaValores(extremo), centro, indiceCategoria);\n })}\n </CartesianFrame>\n );\n}\n"],"names":["ChartBar","accent","categories","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","orientation","series","showDataLabels","stacked","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","vertical","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","serie","presenca","indice","dominio","visiveis","domainOf","_","stackDiverging","mergeDomains","posicaoDaLegenda","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","comprimentoCategorias","comprimentoValores","inicioDaFaixa","fimDaFaixa","escalaCategorias","bandScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","vao","faixas","barSlots","faixaDa","indiceSerie","NO_BAR_SLOT","espessuraDa","deslocamentoDa","contribuicao","indiceCategoria","valor","pilhas","segmentoDa","cantosDa","inicio","fim","pilha","extremo","ate","abre","fecha","menor","maior","rotuloAlemDaPonta","ponta","centro","chave","negativo","jsx","styles","marcasCategoria","categoria","marcasValor","eixoDeCategoria","eixoDeValor","jsxs","CartesianFrame","BandCursor","oculta","inicioCategoria","de","comeco","tamanho","espessura","deslocamento","roundedBarPath","presentes","total","soma","pontas"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="_bar_72sfu_3",s="_series_72sfu_7 _series_141iy_209",_="_seriesOff_72sfu_11 _seriesOff_141iy_213",r="_valueLabel_72sfu_15 _valueLabel_141iy_124",a={bar:e,series:s,seriesOff:_,valueLabel:r};exports.bar=e;exports.default=a;exports.series=s;exports.seriesOff=_;exports.valueLabel=r;
|
|
2
|
+
//# sourceMappingURL=ChartBar.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartBar.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const s = "_bar_72sfu_3", e = "_series_72sfu_7 _series_141iy_209", _ = "_seriesOff_72sfu_11 _seriesOff_141iy_213", a = "_valueLabel_72sfu_15 _valueLabel_141iy_124", f = {
|
|
2
|
+
bar: s,
|
|
3
|
+
series: e,
|
|
4
|
+
seriesOff: _,
|
|
5
|
+
valueLabel: a
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
s as bar,
|
|
9
|
+
f as default,
|
|
10
|
+
e as series,
|
|
11
|
+
_ as seriesOff,
|
|
12
|
+
a as valueLabel
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ChartBar.module.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartBar.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"),g=require("react"),c=require("./ChartCombo.module.css.cjs"),je=require("../core/useChartMetrics.cjs"),ke=require("../core/useSeriesToggle.cjs"),Fe=require("../core/useHoveredBand.cjs"),Ee=require("../palette/seriesColor.cjs"),te=require("../core/useTweenedNumbers.cjs"),u=require("../scales/scales.cjs"),k=require("../core/cartesianLayout.cjs"),O=require("../core/spacing.cjs"),$e=require("../core/CartesianFrame.cjs"),Re=require("../core/BandCursor.cjs"),ne=require("../core/shapes.cjs"),Se=require("../../../utils/formatters/formatarNumero.cjs");function Te(r,a){return r[a]!==null&&!r[a-1]&&!r[a+1]}function F(r){return r.axis??"left"}function oe(r,a,p){return u.mergeDomains(r.filter(v=>F(v)===a&&!p(v.label)).map(v=>u.domainOf(v.values.filter(E=>E!==null))))}function le(r){const[a=0,p=0]=u.linearScale({domain:r,range:[0,1]}).domain();return{max:p,min:a}}function Be({accent:r,categories:a,curve:p="smooth",defaultHiddenSeries:v,emptyMessage:E="Sem dados no período",formatRightValue:se,formatValue:D=Se.formatarNumero,height:re=260,hiddenSeries:ie,labelAngle:ue="auto",legend:ce="bottom",legendAlign:me,onHiddenSeriesChange:de,onHoverCategory:he,series:i,showDataLabels:$=!1,showDots:fe=!1,title:be,xAxis:w="visible",yAxis:A="visible",yAxisRight:ge}){const{font:H,height:ve,radius:y,ref:xe,width:P}=je.useChartMetrics(),{fillHeight:pe,value:N}=k.chartHeight(re,ve),{isHidden:h,toggle:qe}=ke.useSeriesToggle({defaultHiddenSeries:v,hiddenSeries:ie,onHiddenSeriesChange:de}),{hover:_,hovered:z}=Fe.useHoveredBand(he),R=se??D,S=i.some(e=>F(e)==="right"),M=g.useMemo(()=>Ee.resolveSeriesColors(i,{accent:r}),[r,i]),De=te.useTweenedNumbers(i.map(e=>h(e.label)?0:1)),[T,B]=g.useMemo(()=>{const e=le(oe(i,"left",h));return S?u.alignZeros(e,le(oe(i,"right",h))):[e,e]},[h,i,S]),Z=ge??(S?"visible":"hidden"),{margins:ye,plot:l,rotation:Ne}=k.cartesianLayout({bottomLabels:a,font:H,height:N,labelAngle:ue,leftLabels:k.valueLabelsFor(T,N,D),rightLabels:k.valueLabelsFor(B,N,R),topRoom:$?O.valueLabelRoom(H):0,width:P,xAxis:w,yAxis:A,yAxisRight:Z}),x=g.useMemo(()=>u.bandScale({domain:a,range:[0,l.width]}),[a,l.width]),G=g.useMemo(()=>u.linearScale({domain:T,nice:!1,range:[l.height,0]}),[T,l.height]),I=g.useMemo(()=>u.linearScale({domain:B,nice:!1,range:[l.height,0]}),[B,l.height]),[J,K,Q,U]=te.useTweenedNumbers([...G.domain(),...I.domain()]),C=g.useMemo(()=>u.linearScale({domain:{min:J,max:K},nice:!1,range:[l.height,0]}),[K,J,l.height]),W=g.useMemo(()=>u.linearScale({domain:{min:Q,max:U},nice:!1,range:[l.height,0]}),[U,Q,l.height]),X=e=>F(e)==="right"?W:C,Y=e=>F(e)==="right"?R:D,V=u.ticksFor(G,l.height),Me=u.ticksFor(I,l.height),L=x.bandwidth(),Ce=O.barSlots(L,i.map((e,t)=>e.kind==="bar"?De[t]??0:0)),j=e=>Ce[e]??O.NO_BAR_SLOT,Le=a.map(e=>({label:e,position:(x(e)??0)+L/2})),ee=(e,t,f)=>e.map(d=>({label:f(d),position:t(d)}));return m.jsxs($e.CartesianFrame,{containerRef:xe,empty:i.length===0||a.length===0,emptyMessage:E,fillHeight:pe,grid:[{baseline:C(0),lines:V.map(e=>C(e)),orientation:"horizontal"}],height:N,legend:i.map((e,t)=>({color:M[t],hidden:h(e.label),label:e.label})),legendAlign:me,legendPosition:ce,margins:ye,onToggleSeries:qe,plot:l,title:be,width:P,xAxis:{labelRotation:Ne,ticks:Le,visibility:w},yAxis:{hideLine:!0,ticks:ee(V,C,D),visibility:A},yAxisRight:{hideLine:!0,ticks:ee(Me,W,R),visibility:Z},children:[z!==null&&m.jsx(Re.BandCursor,{offset:x(a[z])??0,plot:l,size:L}),i.map((e,t)=>{if(e.kind!=="bar")return null;const f=h(e.label),d=X(e),q=Y(e),b=d(0);return m.jsxs("g",{"aria-hidden":f||void 0,className:`${c.default.series} ${f?c.default.seriesOff:""}`,children:[a.map((s,n)=>{const o=e.values[n];if(o==null||!Number.isFinite(o))return null;const ae=d(o);return m.jsx("path",{"aria-label":`${e.label}, ${s}: ${q(o)}`,className:c.default.bar,d:ne.roundedBarPath((x(s)??0)+j(t).offset,Math.min(b,ae),j(t).thickness,Math.abs(ae-b),[y,y,y,y]),fill:M[t],onMouseEnter:()=>_(n),onMouseLeave:()=>_(null)},n)}),$&&a.map((s,n)=>{const o=e.values[n];return o==null||!Number.isFinite(o)?null:m.jsx("text",{className:c.default.valueLabel,textAnchor:"middle",x:(x(s)??0)+j(t).offset+j(t).thickness/2,y:d(o)-6,children:q(o)},n)})]},t)}),i.map((e,t)=>{if(e.kind!=="line")return null;const f=h(e.label),d=X(e),q=Y(e),b=a.map((s,n)=>{const o=e.values[n];return o==null||!Number.isFinite(o)?null:{x:(x(s)??0)+L/2,y:d(o)}});return m.jsxs("g",{"aria-hidden":f||void 0,className:`${c.default.series} ${f?c.default.seriesOff:""}`,children:[m.jsx("path",{className:c.default.line,d:ne.linePath(b,p),fill:"none",stroke:M[t]}),b.map((s,n)=>s===null?null:m.jsx("circle",{"aria-label":`${e.label}, ${a[n]}: ${q(e.values[n]??0)}`,className:fe||Te(b,n)?c.default.dotVisible:c.default.dot,cx:s.x,cy:s.y,fill:M[t],r:4},n)),$&&b.map((s,n)=>s===null?null:m.jsx("text",{className:c.default.valueLabel,textAnchor:"middle",x:s.x,y:s.y-10,children:q(e.values[n]??0)},n))]},t)})]})}exports.ChartCombo=Be;
|
|
2
|
+
//# sourceMappingURL=ChartCombo.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartCombo.cjs","sources":["../../../../src/components/charts/ChartCombo/ChartCombo.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n cartesianLayout,\n chartHeight,\n linePath,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartCurve,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type ChartPoint,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { alignZeros, bandScale, domainOf, linearScale, mergeDomains, ticksFor, type NumericRange } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartCombo.module.css';\n/**\n * Ponto sem vizinho desenhado. A curva entre ele e o nada nao tem tracado, e o\n * marcador so no hover deixaria o dado invisivel — entao ele aparece sempre.\n */\nfunction isolado(pontos: readonly (ChartPoint | null)[], indice: number) {\n return pontos[indice] !== null && !pontos[indice - 1] && !pontos[indice + 1];\n}\n\n\nexport type ChartComboKind = 'bar' | 'line';\n\n/**\n * Eixo de valor a que a serie pertence. A escolha e sempre do produto: o\n * grafico nunca parte a escala por conta propria.\n */\nexport type ChartComboAxis = 'left' | 'right';\n\nexport interface ChartComboSeries extends SeriesAppearance {\n axis?: ChartComboAxis;\n kind: ChartComboKind;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface ChartComboProps {\n accent?: string;\n categories: readonly string[];\n curve?: ChartCurve;\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatRightValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n series: readonly ChartComboSeries[];\n showDataLabels?: boolean;\n showDots?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nfunction eixoDa(serie: ChartComboSeries): ChartComboAxis {\n return serie.axis ?? 'left';\n}\n\n/** Dominio de um eixo: so as series visiveis que pertencem a ele. */\nfunction dominioDoEixo(\n series: readonly ChartComboSeries[],\n axis: ChartComboAxis,\n oculta: (label: string) => boolean,\n) {\n return mergeDomains(\n series\n .filter((serie) => eixoDa(serie) === axis && !oculta(serie.label))\n .map((serie) => domainOf(serie.values.filter((valor) => valor !== null))),\n );\n}\n\n/** Dominio com os limites arredondados que o eixo mostraria sozinho. */\nfunction arredondado(dominio: NumericRange): NumericRange {\n const [min = 0, max = 0] = linearScale({ domain: dominio, range: [0, 1] }).domain();\n\n return { max, min };\n}\n\n/**\n * Barras e linhas sobre o mesmo eixo de categorias. Uma serie declara a que\n * eixo de valor pertence; sem nenhuma a direita, o dominio e unico e o eixo\n * direito espelha o esquerdo.\n */\nexport function ChartCombo({\n accent,\n categories,\n curve = 'smooth',\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatRightValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n series,\n showDataLabels = false,\n showDots = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight,\n}: ChartComboProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n\n const formatarDireita = formatRightValue ?? formatValue;\n const temEixoDireito = series.some((serie) => eixoDa(serie) === 'right');\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 // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // barra desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n\n // Com serie a direita, o zero fica na mesma altura nos dois eixos: as barras crescem da mesma base.\n const [dominioEsquerda, dominioDireita] = useMemo(() => {\n const esquerda = arredondado(dominioDoEixo(series, 'left', isHidden));\n\n return temEixoDireito\n ? alignZeros(esquerda, arredondado(dominioDoEixo(series, 'right', isHidden)))\n : [esquerda, esquerda];\n }, [isHidden, series, temEixoDireito]);\n\n // Uma segunda escala sem eixo para le-la e o duplo eixo que engana. Havendo\n // serie a direita, o eixo aparece sem ninguem pedir.\n const visibilidadeDireita = yAxisRight ?? (temEixoDireito ? 'visible' : 'hidden');\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: categories,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: valueLabelsFor(dominioEsquerda, alturaDoDesenho, formatValue),\n rightLabels: valueLabelsFor(dominioDireita, alturaDoDesenho, formatarDireita),\n topRoom: showDataLabels ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight: visibilidadeDireita,\n });\n\n // Barras e linhas compartilham a escala de faixas: a linha passa pelo centro\n // da faixa, que e onde a marca do eixo de categoria tambem fica.\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, plot.width] }),\n [categories, plot.width],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const alvoEsquerda = useMemo(\n () => linearScale({ domain: dominioEsquerda, nice: false, range: [plot.height, 0] }),\n [dominioEsquerda, plot.height],\n );\n\n const alvoDireita = useMemo(\n () => linearScale({ domain: dominioDireita, nice: false, range: [plot.height, 0] }),\n [dominioDireita, plot.height],\n );\n\n // Os dois dominios caminham numa animacao so, e por isso chegam juntos.\n const [minEsquerda, maxEsquerda, minDireita, maxDireita] = useTweenedNumbers([\n ...alvoEsquerda.domain(),\n ...alvoDireita.domain(),\n ]);\n\n const escalaEsquerda = useMemo(\n () =>\n linearScale({ domain: { min: minEsquerda, max: maxEsquerda }, nice: false, range: [plot.height, 0] }),\n [maxEsquerda, minEsquerda, plot.height],\n );\n\n const escalaDireita = useMemo(\n () => linearScale({ domain: { min: minDireita, max: maxDireita }, nice: false, range: [plot.height, 0] }),\n [maxDireita, minDireita, plot.height],\n );\n\n const escalaDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? escalaDireita : escalaEsquerda;\n const formatoDa = (serie: ChartComboSeries) =>\n eixoDa(serie) === 'right' ? formatarDireita : formatValue;\n\n const marcasEsquerda = ticksFor(alvoEsquerda, plot.height);\n const marcasDireita = ticksFor(alvoDireita, plot.height);\n\n const vao = escalaCategorias.bandwidth();\n\n // So as barras repartem a faixa: a linha passa pelo centro dela, e por isso\n // entra na conta com presenca zero.\n const faixas = barSlots(\n vao,\n series.map((serie, indice) => (serie.kind === 'bar' ? presencas[indice] ?? 0 : 0)),\n );\n const faixaDa = (indice: number) => faixas[indice] ?? NO_BAR_SLOT;\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasDeValor = (\n valores: readonly number[],\n escala: (valor: number) => number,\n formatar: (valor: number) => string,\n ): AxisTick[] => valores.map((valor) => ({ label: formatar(valor), position: escala(valor) }));\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaEsquerda(0),\n lines: marcasEsquerda.map((valor) => escalaEsquerda(valor)),\n orientation: 'horizontal',\n },\n ]}\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 width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasCategoria, visibility: xAxis }}\n yAxis={{\n hideLine: true,\n ticks: marcasDeValor(marcasEsquerda, escalaEsquerda, formatValue),\n visibility: yAxis,\n }}\n yAxisRight={{\n hideLine: true,\n ticks: marcasDeValor(marcasDireita, escalaDireita, formatarDireita),\n visibility: visibilidadeDireita,\n }}\n >\n {faixaEmFoco !== null && (\n <BandCursor offset={escalaCategorias(categories[faixaEmFoco]) ?? 0} plot={plot} size={vao} />\n )}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'bar') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const base = escala(0);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n const ponta = escala(valor);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatar(valor)}`}\n className={styles.bar}\n d={roundedBarPath(\n (escalaCategorias(categoria) ?? 0) + faixaDa(indiceSerie).offset,\n Math.min(base, ponta),\n faixaDa(indiceSerie).thickness,\n Math.abs(ponta - base),\n [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto],\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => focarFaixa(indiceCategoria)}\n onMouseLeave={() => focarFaixa(null)}\n />\n );\n })}\n\n {showDataLabels &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return (\n <text\n className={styles.valueLabel}\n key={indiceCategoria}\n textAnchor=\"middle\"\n x={\n (escalaCategorias(categoria) ?? 0) +\n faixaDa(indiceSerie).offset +\n faixaDa(indiceSerie).thickness / 2\n }\n y={escala(valor) - 6}\n >\n {formatar(valor)}\n </text>\n );\n })}\n </g>\n );\n })}\n\n {series.map((serie, indiceSerie) => {\n if (serie.kind !== 'line') {\n return null;\n }\n\n const oculta = isHidden(serie.label);\n const escala = escalaDa(serie);\n const formatar = formatoDa(serie);\n const pontos = categories.map<ChartPoint | null>((categoria, indice) => {\n const valor = serie.values[indice];\n\n if (valor === null || valor === undefined || !Number.isFinite(valor)) {\n return null;\n }\n\n return { x: (escalaCategorias(categoria) ?? 0) + vao / 2, y: escala(valor) };\n });\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n <path\n className={styles.line}\n d={linePath(pontos, curve)}\n fill=\"none\"\n stroke={cores[indiceSerie]}\n />\n\n {pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <circle\n aria-label={`${serie.label}, ${categories[indice]}: ${formatar(serie.values[indice] ?? 0)}`}\n className={showDots || isolado(pontos, indice) ? styles.dotVisible : styles.dot}\n cx={ponto.x}\n cy={ponto.y}\n fill={cores[indiceSerie]}\n key={indice}\n r={4}\n />\n ),\n )}\n\n {showDataLabels &&\n pontos.map((ponto, indice) =>\n ponto === null ? null : (\n <text\n className={styles.valueLabel}\n key={indice}\n textAnchor=\"middle\"\n x={ponto.x}\n y={ponto.y - 10}\n >\n {formatar(serie.values[indice] ?? 0)}\n </text>\n ),\n )}\n </g>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["isolado","pontos","indice","eixoDa","serie","dominioDoEixo","series","axis","oculta","mergeDomains","domainOf","valor","arredondado","dominio","min","max","linearScale","ChartCombo","accent","categories","curve","defaultHiddenSeries","emptyMessage","formatRightValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","showDataLabels","showDots","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","formatarDireita","temEixoDireito","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","dominioEsquerda","dominioDireita","esquerda","alignZeros","visibilidadeDireita","margins","plot","rotation","cartesianLayout","valueLabelsFor","valueLabelRoom","escalaCategorias","bandScale","alvoEsquerda","alvoDireita","minEsquerda","maxEsquerda","minDireita","maxDireita","escalaEsquerda","escalaDireita","escalaDa","formatoDa","marcasEsquerda","ticksFor","marcasDireita","vao","faixas","barSlots","faixaDa","NO_BAR_SLOT","marcasCategoria","categoria","marcasDeValor","valores","escala","formatar","jsxs","CartesianFrame","jsx","BandCursor","indiceSerie","base","styles","indiceCategoria","ponta","roundedBarPath","linePath","ponto"],"mappings":"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"}
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { jsxs as H, jsx as v } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as f } from "react";
|
|
3
|
+
import m from "./ChartCombo.module.css.js";
|
|
4
|
+
import { useChartMetrics as Fa } from "../core/useChartMetrics.js";
|
|
5
|
+
import { useSeriesToggle as qa } from "../core/useSeriesToggle.js";
|
|
6
|
+
import { useHoveredBand as Ma } from "../core/useHoveredBand.js";
|
|
7
|
+
import { resolveSeriesColors as Ra } from "../palette/seriesColor.js";
|
|
8
|
+
import { useTweenedNumbers as oa } from "../core/useTweenedNumbers.js";
|
|
9
|
+
import { alignZeros as Ca, bandScale as Aa, linearScale as D, ticksFor as ta, mergeDomains as Oa, domainOf as Ba } from "../scales/scales.js";
|
|
10
|
+
import { cartesianLayout as Ha, valueLabelsFor as na, chartHeight as Ta } from "../core/cartesianLayout.js";
|
|
11
|
+
import { valueLabelRoom as wa, barSlots as Pa, NO_BAR_SLOT as ja } from "../core/spacing.js";
|
|
12
|
+
import { CartesianFrame as za } from "../core/CartesianFrame.js";
|
|
13
|
+
import { BandCursor as _a } from "../core/BandCursor.js";
|
|
14
|
+
import { roundedBarPath as Sa, linePath as Za } from "../core/shapes.js";
|
|
15
|
+
import { formatarNumero as Ga } from "../../../utils/formatters/formatarNumero.js";
|
|
16
|
+
function Ia(e, o) {
|
|
17
|
+
return e[o] !== null && !e[o - 1] && !e[o + 1];
|
|
18
|
+
}
|
|
19
|
+
function q(e) {
|
|
20
|
+
return e.axis ?? "left";
|
|
21
|
+
}
|
|
22
|
+
function la(e, o, g) {
|
|
23
|
+
return Oa(
|
|
24
|
+
e.filter((b) => q(b) === o && !g(b.label)).map((b) => Ba(b.values.filter((M) => M !== null)))
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
function ia(e) {
|
|
28
|
+
const [o = 0, g = 0] = D({ domain: e, range: [0, 1] }).domain();
|
|
29
|
+
return { max: g, min: o };
|
|
30
|
+
}
|
|
31
|
+
function eo({
|
|
32
|
+
accent: e,
|
|
33
|
+
categories: o,
|
|
34
|
+
curve: g = "smooth",
|
|
35
|
+
defaultHiddenSeries: b,
|
|
36
|
+
emptyMessage: M = "Sem dados no período",
|
|
37
|
+
formatRightValue: ra,
|
|
38
|
+
formatValue: y = Ga,
|
|
39
|
+
height: ea = 260,
|
|
40
|
+
hiddenSeries: sa,
|
|
41
|
+
labelAngle: ma = "auto",
|
|
42
|
+
legend: ua = "bottom",
|
|
43
|
+
legendAlign: ha,
|
|
44
|
+
onHiddenSeriesChange: ca,
|
|
45
|
+
onHoverCategory: da,
|
|
46
|
+
series: s,
|
|
47
|
+
showDataLabels: R = !1,
|
|
48
|
+
showDots: fa = !1,
|
|
49
|
+
title: ba,
|
|
50
|
+
xAxis: T = "visible",
|
|
51
|
+
yAxis: w = "visible",
|
|
52
|
+
yAxisRight: pa
|
|
53
|
+
}) {
|
|
54
|
+
const { font: P, height: va, radius: N, ref: ga, width: j } = Fa(), { fillHeight: xa, value: k } = Ta(ea, va), { isHidden: h, toggle: Da } = qa({ defaultHiddenSeries: b, hiddenSeries: sa, onHiddenSeriesChange: ca }), { hover: z, hovered: _ } = Ma(da), C = ra ?? y, A = s.some((a) => q(a) === "right"), E = f(() => Ra(s, { accent: e }), [e, s]), ya = oa(s.map((a) => h(a.label) ? 0 : 1)), [O, B] = f(() => {
|
|
55
|
+
const a = ia(la(s, "left", h));
|
|
56
|
+
return A ? Ca(a, ia(la(s, "right", h))) : [a, a];
|
|
57
|
+
}, [h, s, A]), S = pa ?? (A ? "visible" : "hidden"), { margins: Na, plot: i, rotation: ka } = Ha({
|
|
58
|
+
bottomLabels: o,
|
|
59
|
+
font: P,
|
|
60
|
+
height: k,
|
|
61
|
+
labelAngle: ma,
|
|
62
|
+
leftLabels: na(O, k, y),
|
|
63
|
+
rightLabels: na(B, k, C),
|
|
64
|
+
topRoom: R ? wa(P) : 0,
|
|
65
|
+
width: j,
|
|
66
|
+
xAxis: T,
|
|
67
|
+
yAxis: w,
|
|
68
|
+
yAxisRight: S
|
|
69
|
+
}), p = f(
|
|
70
|
+
() => Aa({ domain: o, range: [0, i.width] }),
|
|
71
|
+
[o, i.width]
|
|
72
|
+
), Z = f(
|
|
73
|
+
() => D({ domain: O, nice: !1, range: [i.height, 0] }),
|
|
74
|
+
[O, i.height]
|
|
75
|
+
), G = f(
|
|
76
|
+
() => D({ domain: B, nice: !1, range: [i.height, 0] }),
|
|
77
|
+
[B, i.height]
|
|
78
|
+
), [I, J, K, Q] = oa([
|
|
79
|
+
...Z.domain(),
|
|
80
|
+
...G.domain()
|
|
81
|
+
]), L = f(
|
|
82
|
+
() => D({ domain: { min: I, max: J }, nice: !1, range: [i.height, 0] }),
|
|
83
|
+
[J, I, i.height]
|
|
84
|
+
), U = f(
|
|
85
|
+
() => D({ domain: { min: K, max: Q }, nice: !1, range: [i.height, 0] }),
|
|
86
|
+
[Q, K, i.height]
|
|
87
|
+
), W = (a) => q(a) === "right" ? U : L, X = (a) => q(a) === "right" ? C : y, Y = ta(Z, i.height), Ea = ta(G, i.height), $ = p.bandwidth(), La = Pa(
|
|
88
|
+
$,
|
|
89
|
+
s.map((a, t) => a.kind === "bar" ? ya[t] ?? 0 : 0)
|
|
90
|
+
), F = (a) => La[a] ?? ja, $a = o.map((a) => ({
|
|
91
|
+
label: a,
|
|
92
|
+
position: (p(a) ?? 0) + $ / 2
|
|
93
|
+
})), V = (a, t, c) => a.map((u) => ({ label: c(u), position: t(u) }));
|
|
94
|
+
return /* @__PURE__ */ H(
|
|
95
|
+
za,
|
|
96
|
+
{
|
|
97
|
+
containerRef: ga,
|
|
98
|
+
empty: s.length === 0 || o.length === 0,
|
|
99
|
+
emptyMessage: M,
|
|
100
|
+
fillHeight: xa,
|
|
101
|
+
grid: [
|
|
102
|
+
{
|
|
103
|
+
baseline: L(0),
|
|
104
|
+
lines: Y.map((a) => L(a)),
|
|
105
|
+
orientation: "horizontal"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
height: k,
|
|
109
|
+
legend: s.map((a, t) => ({
|
|
110
|
+
color: E[t],
|
|
111
|
+
hidden: h(a.label),
|
|
112
|
+
label: a.label
|
|
113
|
+
})),
|
|
114
|
+
legendAlign: ha,
|
|
115
|
+
legendPosition: ua,
|
|
116
|
+
margins: Na,
|
|
117
|
+
onToggleSeries: Da,
|
|
118
|
+
plot: i,
|
|
119
|
+
title: ba,
|
|
120
|
+
width: j,
|
|
121
|
+
xAxis: { labelRotation: ka, ticks: $a, visibility: T },
|
|
122
|
+
yAxis: {
|
|
123
|
+
hideLine: !0,
|
|
124
|
+
ticks: V(Y, L, y),
|
|
125
|
+
visibility: w
|
|
126
|
+
},
|
|
127
|
+
yAxisRight: {
|
|
128
|
+
hideLine: !0,
|
|
129
|
+
ticks: V(Ea, U, C),
|
|
130
|
+
visibility: S
|
|
131
|
+
},
|
|
132
|
+
children: [
|
|
133
|
+
_ !== null && /* @__PURE__ */ v(_a, { offset: p(o[_]) ?? 0, plot: i, size: $ }),
|
|
134
|
+
s.map((a, t) => {
|
|
135
|
+
if (a.kind !== "bar")
|
|
136
|
+
return null;
|
|
137
|
+
const c = h(a.label), u = W(a), x = X(a), d = u(0);
|
|
138
|
+
return /* @__PURE__ */ H(
|
|
139
|
+
"g",
|
|
140
|
+
{
|
|
141
|
+
"aria-hidden": c || void 0,
|
|
142
|
+
className: `${m.series} ${c ? m.seriesOff : ""}`,
|
|
143
|
+
children: [
|
|
144
|
+
o.map((r, n) => {
|
|
145
|
+
const l = a.values[n];
|
|
146
|
+
if (l == null || !Number.isFinite(l))
|
|
147
|
+
return null;
|
|
148
|
+
const aa = u(l);
|
|
149
|
+
return /* @__PURE__ */ v(
|
|
150
|
+
"path",
|
|
151
|
+
{
|
|
152
|
+
"aria-label": `${a.label}, ${r}: ${x(l)}`,
|
|
153
|
+
className: m.bar,
|
|
154
|
+
d: Sa(
|
|
155
|
+
(p(r) ?? 0) + F(t).offset,
|
|
156
|
+
Math.min(d, aa),
|
|
157
|
+
F(t).thickness,
|
|
158
|
+
Math.abs(aa - d),
|
|
159
|
+
[N, N, N, N]
|
|
160
|
+
),
|
|
161
|
+
fill: E[t],
|
|
162
|
+
onMouseEnter: () => z(n),
|
|
163
|
+
onMouseLeave: () => z(null)
|
|
164
|
+
},
|
|
165
|
+
n
|
|
166
|
+
);
|
|
167
|
+
}),
|
|
168
|
+
R && o.map((r, n) => {
|
|
169
|
+
const l = a.values[n];
|
|
170
|
+
return l == null || !Number.isFinite(l) ? null : /* @__PURE__ */ v(
|
|
171
|
+
"text",
|
|
172
|
+
{
|
|
173
|
+
className: m.valueLabel,
|
|
174
|
+
textAnchor: "middle",
|
|
175
|
+
x: (p(r) ?? 0) + F(t).offset + F(t).thickness / 2,
|
|
176
|
+
y: u(l) - 6,
|
|
177
|
+
children: x(l)
|
|
178
|
+
},
|
|
179
|
+
n
|
|
180
|
+
);
|
|
181
|
+
})
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
t
|
|
185
|
+
);
|
|
186
|
+
}),
|
|
187
|
+
s.map((a, t) => {
|
|
188
|
+
if (a.kind !== "line")
|
|
189
|
+
return null;
|
|
190
|
+
const c = h(a.label), u = W(a), x = X(a), d = o.map((r, n) => {
|
|
191
|
+
const l = a.values[n];
|
|
192
|
+
return l == null || !Number.isFinite(l) ? null : { x: (p(r) ?? 0) + $ / 2, y: u(l) };
|
|
193
|
+
});
|
|
194
|
+
return /* @__PURE__ */ H(
|
|
195
|
+
"g",
|
|
196
|
+
{
|
|
197
|
+
"aria-hidden": c || void 0,
|
|
198
|
+
className: `${m.series} ${c ? m.seriesOff : ""}`,
|
|
199
|
+
children: [
|
|
200
|
+
/* @__PURE__ */ v(
|
|
201
|
+
"path",
|
|
202
|
+
{
|
|
203
|
+
className: m.line,
|
|
204
|
+
d: Za(d, g),
|
|
205
|
+
fill: "none",
|
|
206
|
+
stroke: E[t]
|
|
207
|
+
}
|
|
208
|
+
),
|
|
209
|
+
d.map(
|
|
210
|
+
(r, n) => r === null ? null : /* @__PURE__ */ v(
|
|
211
|
+
"circle",
|
|
212
|
+
{
|
|
213
|
+
"aria-label": `${a.label}, ${o[n]}: ${x(a.values[n] ?? 0)}`,
|
|
214
|
+
className: fa || Ia(d, n) ? m.dotVisible : m.dot,
|
|
215
|
+
cx: r.x,
|
|
216
|
+
cy: r.y,
|
|
217
|
+
fill: E[t],
|
|
218
|
+
r: 4
|
|
219
|
+
},
|
|
220
|
+
n
|
|
221
|
+
)
|
|
222
|
+
),
|
|
223
|
+
R && d.map(
|
|
224
|
+
(r, n) => r === null ? null : /* @__PURE__ */ v(
|
|
225
|
+
"text",
|
|
226
|
+
{
|
|
227
|
+
className: m.valueLabel,
|
|
228
|
+
textAnchor: "middle",
|
|
229
|
+
x: r.x,
|
|
230
|
+
y: r.y - 10,
|
|
231
|
+
children: x(a.values[n] ?? 0)
|
|
232
|
+
},
|
|
233
|
+
n
|
|
234
|
+
)
|
|
235
|
+
)
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
t
|
|
239
|
+
);
|
|
240
|
+
})
|
|
241
|
+
]
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
}
|
|
245
|
+
export {
|
|
246
|
+
eo as ChartCombo
|
|
247
|
+
};
|
|
248
|
+
//# sourceMappingURL=ChartCombo.js.map
|