@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,67 @@
|
|
|
1
|
+
import { widestLabel as u } from "./measureText.js";
|
|
2
|
+
import { CHART_EDGE_GAP as m, CHART_LABEL_OFFSET as e } from "./spacing.js";
|
|
3
|
+
import { linearScale as T, ticksFor as A } from "../scales/scales.js";
|
|
4
|
+
function D(t, a) {
|
|
5
|
+
return t === "visible" || t === "onHover" && a;
|
|
6
|
+
}
|
|
7
|
+
function G(t, a) {
|
|
8
|
+
return { fillHeight: t === "fill", value: t === "fill" ? a : t };
|
|
9
|
+
}
|
|
10
|
+
function l(t, a) {
|
|
11
|
+
return t === "visible" || t === "onHover" && a;
|
|
12
|
+
}
|
|
13
|
+
function H(t, a, r) {
|
|
14
|
+
return t ? u(a, r) + e : 0;
|
|
15
|
+
}
|
|
16
|
+
function d(t, a, r) {
|
|
17
|
+
return t.length === 0 || r <= 0 || u(t, a) + e <= r ? 0 : r * Math.SQRT1_2 >= a.lineHeight ? 45 : 90;
|
|
18
|
+
}
|
|
19
|
+
function k(t, a, r, n) {
|
|
20
|
+
if (!n)
|
|
21
|
+
return 0;
|
|
22
|
+
if (r === 0)
|
|
23
|
+
return a.lineHeight + e;
|
|
24
|
+
const i = r * Math.PI / 180;
|
|
25
|
+
return u(t, a) * Math.sin(i) + a.lineHeight * Math.cos(i) + e;
|
|
26
|
+
}
|
|
27
|
+
function P({
|
|
28
|
+
bottomLabels: t,
|
|
29
|
+
font: a,
|
|
30
|
+
height: r,
|
|
31
|
+
labelAngle: n,
|
|
32
|
+
leftLabels: i,
|
|
33
|
+
revealed: c = !1,
|
|
34
|
+
rightLabels: p,
|
|
35
|
+
topRoom: R,
|
|
36
|
+
width: s,
|
|
37
|
+
xAxis: _,
|
|
38
|
+
yAxis: E,
|
|
39
|
+
yAxisRight: F
|
|
40
|
+
}) {
|
|
41
|
+
const f = l(_, c), L = f ? u(t, a) / 2 : 0, x = Math.max(H(l(E, c), i, a), m), M = Math.max(H(l(F, c), p, a), m), S = Math.max(s - x - M, 0), h = n === "auto" ? d(t, a, S / Math.max(t.length, 1)) : n, g = h === 0 ? L : 0, o = {
|
|
42
|
+
bottom: k(t, a, h, f),
|
|
43
|
+
left: Math.max(x, g),
|
|
44
|
+
right: Math.max(M, g),
|
|
45
|
+
top: Math.max(R, m)
|
|
46
|
+
};
|
|
47
|
+
return {
|
|
48
|
+
margins: o,
|
|
49
|
+
plot: {
|
|
50
|
+
width: Math.max(s - o.left - o.right, 0),
|
|
51
|
+
height: Math.max(r - o.top - o.bottom, 0)
|
|
52
|
+
},
|
|
53
|
+
rotation: h
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function B(t, a, r) {
|
|
57
|
+
const n = T({ domain: t, range: [a, 0] });
|
|
58
|
+
return A(n, a).map(r);
|
|
59
|
+
}
|
|
60
|
+
export {
|
|
61
|
+
d as bottomLabelRotation,
|
|
62
|
+
P as cartesianLayout,
|
|
63
|
+
G as chartHeight,
|
|
64
|
+
D as markShown,
|
|
65
|
+
B as valueLabelsFor
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=cartesianLayout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cartesianLayout.js","sources":["../../../../src/components/charts/core/cartesianLayout.ts"],"sourcesContent":["import { widestLabel, type LabelFont } from './measureText';\nimport { CHART_EDGE_GAP, CHART_LABEL_OFFSET } from './spacing';\nimport { linearScale, ticksFor, type NumericRange } from '../scales';\n\nexport type AxisLabelRotation = 0 | 45 | 90;\nexport type AxisLabelAngle = AxisLabelRotation | 'auto';\n\n/**\n * Como o eixo se mostra. `onHover` nao reserva a calha: o desenho ocupa o espaco\n * todo e, depois de um instante com o ponteiro sobre o grafico, encolhe para o\n * eixo entrar; `hidden` dispensa o eixo de vez.\n */\nexport type AxisVisibility = 'visible' | 'hidden' | 'onHover';\n\n/** Como pontos e rotulos de valor se mostram. `onHover` mostra os da serie sob o ponteiro, e so eles. */\nexport type MarkVisibility = 'visible' | 'hidden' | 'onHover';\n\n/** Se a marca da serie aparece: sempre, nunca, ou so com a serie sob o ponteiro. */\nexport function markShown(visibility: MarkVisibility, seriesFocused: boolean) {\n return visibility === 'visible' || (visibility === 'onHover' && seriesFocused);\n}\n\n/** Altura do desenho: um numero fixa, `fill` entrega a decisao ao contêiner. */\nexport type ChartHeight = number | 'fill';\n\nexport interface ResolvedHeight {\n fillHeight: boolean;\n value: number;\n}\n\n/**\n * Altura efetiva do desenho. Com `fill`, ela vem da medida do contêiner, o que\n * permite ao grafico ocupar a celula de um painel sem que ninguem repita a\n * medida em JavaScript.\n */\nexport function chartHeight(height: ChartHeight, measured: number): ResolvedHeight {\n return { fillHeight: height === 'fill', value: height === 'fill' ? measured : height };\n}\n\nexport interface ChartMargins {\n bottom: number;\n left: number;\n right: number;\n top: number;\n}\n\nexport interface ChartPlot {\n height: number;\n width: number;\n}\n\nexport interface CartesianLayoutOptions {\n bottomLabels: readonly string[];\n font: LabelFont;\n height: number;\n labelAngle: AxisLabelAngle;\n leftLabels: readonly string[];\n /** Os eixos `onHover` estao a vista e ocupam a calha. */\n revealed?: boolean;\n rightLabels: readonly string[];\n topRoom: number;\n width: number;\n xAxis: AxisVisibility;\n yAxis: AxisVisibility;\n yAxisRight: AxisVisibility;\n}\n\nexport interface CartesianLayout {\n margins: ChartMargins;\n plot: ChartPlot;\n rotation: AxisLabelRotation;\n}\n\n/** Se o eixo ocupa a calha agora: o `onHover` so enquanto revelado. */\nfunction ocupa(visibility: AxisVisibility, revealed: boolean) {\n return visibility === 'visible' || (visibility === 'onHover' && revealed);\n}\n\nfunction calha(ocupada: boolean, labels: readonly string[], font: LabelFont) {\n return ocupada ? widestLabel(labels, font) + CHART_LABEL_OFFSET : 0;\n}\n\n/**\n * Angulo dos rotulos do eixo de baixo. Em zero grau, dois rotulos vizinhos nao\n * podem se tocar. Girados, o que precisa caber e a distancia perpendicular\n * entre duas linhas de base vizinhas, que vale o passo vezes o seno do angulo.\n */\nexport function bottomLabelRotation(\n labels: readonly string[],\n font: LabelFont,\n step: number,\n): AxisLabelRotation {\n if (labels.length === 0 || step <= 0) {\n return 0;\n }\n\n if (widestLabel(labels, font) + CHART_LABEL_OFFSET <= step) {\n return 0;\n }\n\n return step * Math.SQRT1_2 >= font.lineHeight ? 45 : 90;\n}\n\n/** Altura que os rotulos de baixo ocupam, que e a caixa do texto ja girado. */\nfunction alturaDosRotulos(\n labels: readonly string[],\n font: LabelFont,\n rotation: AxisLabelRotation,\n ocupada: boolean,\n) {\n if (!ocupada) {\n return 0;\n }\n\n if (rotation === 0) {\n return font.lineHeight + CHART_LABEL_OFFSET;\n }\n\n const radianos = (rotation * Math.PI) / 180;\n const caixa = widestLabel(labels, font) * Math.sin(radianos) + font.lineHeight * Math.cos(radianos);\n\n return caixa + CHART_LABEL_OFFSET;\n}\n\n/**\n * Margens derivadas do conteudo, e nao de constantes. A ordem resolve sozinha a\n * dependencia entre elas: as calhas laterais definem a largura util, a largura\n * util define o passo entre categorias, o passo define o angulo dos rotulos e o\n * angulo define a altura que eles ocupam embaixo.\n */\nexport function cartesianLayout({\n bottomLabels,\n font,\n height,\n labelAngle,\n leftLabels,\n revealed = false,\n rightLabels,\n topRoom,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n}: CartesianLayoutOptions): CartesianLayout {\n const embaixo = ocupa(xAxis, revealed);\n const meioRotulo = embaixo ? widestLabel(bottomLabels, font) / 2 : 0;\n\n const left = Math.max(calha(ocupa(yAxis, revealed), leftLabels, font), CHART_EDGE_GAP);\n const right = Math.max(calha(ocupa(yAxisRight, revealed), rightLabels, font), CHART_EDGE_GAP);\n const plotWidth = Math.max(width - left - right, 0);\n\n const rotation =\n labelAngle === 'auto'\n ? bottomLabelRotation(bottomLabels, font, plotWidth / Math.max(bottomLabels.length, 1))\n : labelAngle;\n\n // Sem rotacao o rotulo das pontas transborda meia largura para cada lado; a\n // folga so precisa cobrir o que a calha lateral ainda nao cobre.\n const bordaLateral = rotation === 0 ? meioRotulo : 0;\n const margins: ChartMargins = {\n bottom: alturaDosRotulos(bottomLabels, font, rotation, embaixo),\n left: Math.max(left, bordaLateral),\n right: Math.max(right, bordaLateral),\n top: Math.max(topRoom, CHART_EDGE_GAP),\n };\n\n return {\n margins,\n plot: {\n width: Math.max(width - margins.left - margins.right, 0),\n height: Math.max(height - margins.top - margins.bottom, 0),\n },\n rotation,\n };\n}\n\n/**\n * Rotulos de valor usados apenas para medir a calha do eixo, antes de a area de\n * desenho existir. Eles saem da altura total em vez da altura util, o que pode\n * render uma marca a mais ou a menos: a largura do rotulo mais largo nao muda\n * por isso, e e so ela que a medida precisa.\n */\nexport function valueLabelsFor(\n domain: NumericRange,\n length: number,\n format: (value: number) => string,\n) {\n const escala = linearScale({ domain, range: [length, 0] });\n\n return ticksFor(escala, length).map(format);\n}\n"],"names":["markShown","visibility","seriesFocused","chartHeight","height","measured","ocupa","revealed","calha","ocupada","labels","font","widestLabel","CHART_LABEL_OFFSET","bottomLabelRotation","step","alturaDosRotulos","rotation","radianos","cartesianLayout","bottomLabels","labelAngle","leftLabels","rightLabels","topRoom","width","xAxis","yAxis","yAxisRight","embaixo","meioRotulo","left","CHART_EDGE_GAP","right","plotWidth","bordaLateral","margins","valueLabelsFor","domain","length","format","escala","linearScale","ticksFor"],"mappings":";;;AAkBO,SAASA,EAAUC,GAA4BC,GAAwB;AAC5E,SAAOD,MAAe,aAAcA,MAAe,aAAaC;AAClE;AAeO,SAASC,EAAYC,GAAqBC,GAAkC;AACjF,SAAO,EAAE,YAAYD,MAAW,QAAQ,OAAOA,MAAW,SAASC,IAAWD,EAAA;AAChF;AAqCA,SAASE,EAAML,GAA4BM,GAAmB;AAC5D,SAAON,MAAe,aAAcA,MAAe,aAAaM;AAClE;AAEA,SAASC,EAAMC,GAAkBC,GAA2BC,GAAiB;AAC3E,SAAOF,IAAUG,EAAYF,GAAQC,CAAI,IAAIE,IAAqB;AACpE;AAOO,SAASC,EACdJ,GACAC,GACAI,GACmB;AAKnB,SAJIL,EAAO,WAAW,KAAKK,KAAQ,KAI/BH,EAAYF,GAAQC,CAAI,IAAIE,KAAsBE,IAC7C,IAGFA,IAAO,KAAK,WAAWJ,EAAK,aAAa,KAAK;AACvD;AAGA,SAASK,EACPN,GACAC,GACAM,GACAR,GACA;AACA,MAAI,CAACA;AACH,WAAO;AAGT,MAAIQ,MAAa;AACf,WAAON,EAAK,aAAaE;AAG3B,QAAMK,IAAYD,IAAW,KAAK,KAAM;AAGxC,SAFcL,EAAYF,GAAQC,CAAI,IAAI,KAAK,IAAIO,CAAQ,IAAIP,EAAK,aAAa,KAAK,IAAIO,CAAQ,IAEnFL;AACjB;AAQO,SAASM,EAAgB;AAAA,EAC9B,cAAAC;AAAA,EACA,MAAAT;AAAA,EACA,QAAAP;AAAA,EACA,YAAAiB;AAAA,EACA,YAAAC;AAAA,EACA,UAAAf,IAAW;AAAA,EACX,aAAAgB;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AACF,GAA4C;AAC1C,QAAMC,IAAUvB,EAAMoB,GAAOnB,CAAQ,GAC/BuB,IAAaD,IAAUjB,EAAYQ,GAAcT,CAAI,IAAI,IAAI,GAE7DoB,IAAO,KAAK,IAAIvB,EAAMF,EAAMqB,GAAOpB,CAAQ,GAAGe,GAAYX,CAAI,GAAGqB,CAAc,GAC/EC,IAAQ,KAAK,IAAIzB,EAAMF,EAAMsB,GAAYrB,CAAQ,GAAGgB,GAAaZ,CAAI,GAAGqB,CAAc,GACtFE,IAAY,KAAK,IAAIT,IAAQM,IAAOE,GAAO,CAAC,GAE5ChB,IACJI,MAAe,SACXP,EAAoBM,GAAcT,GAAMuB,IAAY,KAAK,IAAId,EAAa,QAAQ,CAAC,CAAC,IACpFC,GAIAc,IAAelB,MAAa,IAAIa,IAAa,GAC7CM,IAAwB;AAAA,IAC5B,QAAQpB,EAAiBI,GAAcT,GAAMM,GAAUY,CAAO;AAAA,IAC9D,MAAM,KAAK,IAAIE,GAAMI,CAAY;AAAA,IACjC,OAAO,KAAK,IAAIF,GAAOE,CAAY;AAAA,IACnC,KAAK,KAAK,IAAIX,GAASQ,CAAc;AAAA,EAAA;AAGvC,SAAO;AAAA,IACL,SAAAI;AAAA,IACA,MAAM;AAAA,MACJ,OAAO,KAAK,IAAIX,IAAQW,EAAQ,OAAOA,EAAQ,OAAO,CAAC;AAAA,MACvD,QAAQ,KAAK,IAAIhC,IAASgC,EAAQ,MAAMA,EAAQ,QAAQ,CAAC;AAAA,IAAA;AAAA,IAE3D,UAAAnB;AAAA,EAAA;AAEJ;AAQO,SAASoB,EACdC,GACAC,GACAC,GACA;AACA,QAAMC,IAASC,EAAY,EAAE,QAAAJ,GAAQ,OAAO,CAACC,GAAQ,CAAC,GAAG;AAEzD,SAAOI,EAASF,GAAQF,CAAM,EAAE,IAAIC,CAAM;AAC5C;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./measureText.cjs"),m=require("./spacing.cjs");function d(a,i){const e=i.centerSteps[i.centerSteps.length-1];return s.measureLabel(a,{...i,family:e.display?i.headingFamily:i.family,size:e.size})/2+m.CHART_LABEL_OFFSET}function g(a,i,e,n){const r=Math.max(n-m.CHART_LABEL_OFFSET*2,0),l=e.centerSteps,t=l.find(c=>s.measureLabel(a,{...e,family:c.display?e.headingFamily:e.family,size:c.size})<=r)??l[l.length-1],u=t.display?e.headingFamily:e.family;return{family:u,label:s.truncateToWidth(i,e,r),lineHeight:t.lineHeight,size:t.size,value:s.truncateToWidth(a,{...e,family:u,size:t.size},r)}}exports.centerTextRadius=d;exports.fitCenterText=g;
|
|
2
|
+
//# sourceMappingURL=centerText.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"centerText.cjs","sources":["../../../../src/components/charts/core/centerText.ts"],"sourcesContent":["import { measureLabel, truncateToWidth, type LabelFont } from './measureText';\nimport { CHART_LABEL_OFFSET } from './spacing';\n\nexport interface CenterText {\n family: string;\n label: string;\n lineHeight: number;\n size: number;\n value: string;\n}\n\n/** Raio do vazio central em que o valor cabe inteiro no menor degrau da escala. */\nexport function centerTextRadius(value: string, font: LabelFont) {\n const menor = font.centerSteps[font.centerSteps.length - 1];\n const largura = measureLabel(value, {\n ...font,\n family: menor.display ? font.headingFamily : font.family,\n size: menor.size,\n });\n\n return largura / 2 + CHART_LABEL_OFFSET;\n}\n\n/**\n * Valor e rotulo do centro, no maior degrau da escala oficial em que o texto ainda cabe dentro do anel: o valor e um\n * KPI, e anel pequeno desce na escala em vez de sair dela. O SVG nao corta o que transborda; no ultimo degrau, corta-se.\n */\nexport function fitCenterText(\n value: string,\n label: string,\n font: LabelFont,\n innerDiameter: number,\n): CenterText {\n // A largura util e a corda do circulo interno na altura do texto, e nao o\n // diametro: no centro do anel o texto tem o diametro inteiro, mas o rotulo,\n // logo abaixo, tem menos.\n const disponivel = Math.max(innerDiameter - CHART_LABEL_OFFSET * 2, 0);\n\n const degraus = font.centerSteps;\n const degrau =\n degraus.find((candidato) =>\n measureLabel(value, {\n ...font,\n family: candidato.display ? font.headingFamily : font.family,\n size: candidato.size,\n }) <= disponivel,\n ) ?? degraus[degraus.length - 1];\n\n const family = degrau.display ? font.headingFamily : font.family;\n\n return {\n family,\n label: truncateToWidth(label, font, disponivel),\n lineHeight: degrau.lineHeight,\n size: degrau.size,\n value: truncateToWidth(value, { ...font, family, size: degrau.size }, disponivel),\n };\n}\n"],"names":["centerTextRadius","value","font","menor","measureLabel","CHART_LABEL_OFFSET","fitCenterText","label","innerDiameter","disponivel","degraus","degrau","candidato","family","truncateToWidth"],"mappings":"gJAYO,SAASA,EAAiBC,EAAeC,EAAiB,CAC/D,MAAMC,EAAQD,EAAK,YAAYA,EAAK,YAAY,OAAS,CAAC,EAO1D,OANgBE,EAAAA,aAAaH,EAAO,CAClC,GAAGC,EACH,OAAQC,EAAM,QAAUD,EAAK,cAAgBA,EAAK,OAClD,KAAMC,EAAM,IAAA,CACb,EAEgB,EAAIE,EAAAA,kBACvB,CAMO,SAASC,EACdL,EACAM,EACAL,EACAM,EACY,CAIZ,MAAMC,EAAa,KAAK,IAAID,EAAgBH,EAAAA,mBAAqB,EAAG,CAAC,EAE/DK,EAAUR,EAAK,YACfS,EACJD,EAAQ,KAAME,GACZR,EAAAA,aAAaH,EAAO,CAClB,GAAGC,EACH,OAAQU,EAAU,QAAUV,EAAK,cAAgBA,EAAK,OACtD,KAAMU,EAAU,IAAA,CACjB,GAAKH,CAAA,GACHC,EAAQA,EAAQ,OAAS,CAAC,EAE3BG,EAASF,EAAO,QAAUT,EAAK,cAAgBA,EAAK,OAE1D,MAAO,CACL,OAAAW,EACA,MAAOC,EAAAA,gBAAgBP,EAAOL,EAAMO,CAAU,EAC9C,WAAYE,EAAO,WACnB,KAAMA,EAAO,KACb,MAAOG,EAAAA,gBAAgBb,EAAO,CAAE,GAAGC,EAAM,OAAAW,EAAQ,KAAMF,EAAO,IAAA,EAAQF,CAAU,CAAA,CAEpF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { measureLabel as y, truncateToWidth as c } from "./measureText.js";
|
|
2
|
+
import { CHART_LABEL_OFFSET as g } from "./spacing.js";
|
|
3
|
+
function p(a, i) {
|
|
4
|
+
const e = i.centerSteps[i.centerSteps.length - 1];
|
|
5
|
+
return y(a, {
|
|
6
|
+
...i,
|
|
7
|
+
family: e.display ? i.headingFamily : i.family,
|
|
8
|
+
size: e.size
|
|
9
|
+
}) / 2 + g;
|
|
10
|
+
}
|
|
11
|
+
function h(a, i, e, t) {
|
|
12
|
+
const r = Math.max(t - g * 2, 0), l = e.centerSteps, s = l.find(
|
|
13
|
+
(n) => y(a, {
|
|
14
|
+
...e,
|
|
15
|
+
family: n.display ? e.headingFamily : e.family,
|
|
16
|
+
size: n.size
|
|
17
|
+
}) <= r
|
|
18
|
+
) ?? l[l.length - 1], m = s.display ? e.headingFamily : e.family;
|
|
19
|
+
return {
|
|
20
|
+
family: m,
|
|
21
|
+
label: c(i, e, r),
|
|
22
|
+
lineHeight: s.lineHeight,
|
|
23
|
+
size: s.size,
|
|
24
|
+
value: c(a, { ...e, family: m, size: s.size }, r)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
p as centerTextRadius,
|
|
29
|
+
h as fitCenterText
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=centerText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"centerText.js","sources":["../../../../src/components/charts/core/centerText.ts"],"sourcesContent":["import { measureLabel, truncateToWidth, type LabelFont } from './measureText';\nimport { CHART_LABEL_OFFSET } from './spacing';\n\nexport interface CenterText {\n family: string;\n label: string;\n lineHeight: number;\n size: number;\n value: string;\n}\n\n/** Raio do vazio central em que o valor cabe inteiro no menor degrau da escala. */\nexport function centerTextRadius(value: string, font: LabelFont) {\n const menor = font.centerSteps[font.centerSteps.length - 1];\n const largura = measureLabel(value, {\n ...font,\n family: menor.display ? font.headingFamily : font.family,\n size: menor.size,\n });\n\n return largura / 2 + CHART_LABEL_OFFSET;\n}\n\n/**\n * Valor e rotulo do centro, no maior degrau da escala oficial em que o texto ainda cabe dentro do anel: o valor e um\n * KPI, e anel pequeno desce na escala em vez de sair dela. O SVG nao corta o que transborda; no ultimo degrau, corta-se.\n */\nexport function fitCenterText(\n value: string,\n label: string,\n font: LabelFont,\n innerDiameter: number,\n): CenterText {\n // A largura util e a corda do circulo interno na altura do texto, e nao o\n // diametro: no centro do anel o texto tem o diametro inteiro, mas o rotulo,\n // logo abaixo, tem menos.\n const disponivel = Math.max(innerDiameter - CHART_LABEL_OFFSET * 2, 0);\n\n const degraus = font.centerSteps;\n const degrau =\n degraus.find((candidato) =>\n measureLabel(value, {\n ...font,\n family: candidato.display ? font.headingFamily : font.family,\n size: candidato.size,\n }) <= disponivel,\n ) ?? degraus[degraus.length - 1];\n\n const family = degrau.display ? font.headingFamily : font.family;\n\n return {\n family,\n label: truncateToWidth(label, font, disponivel),\n lineHeight: degrau.lineHeight,\n size: degrau.size,\n value: truncateToWidth(value, { ...font, family, size: degrau.size }, disponivel),\n };\n}\n"],"names":["centerTextRadius","value","font","menor","measureLabel","CHART_LABEL_OFFSET","fitCenterText","label","innerDiameter","disponivel","degraus","degrau","candidato","family","truncateToWidth"],"mappings":";;AAYO,SAASA,EAAiBC,GAAeC,GAAiB;AAC/D,QAAMC,IAAQD,EAAK,YAAYA,EAAK,YAAY,SAAS,CAAC;AAO1D,SANgBE,EAAaH,GAAO;AAAA,IAClC,GAAGC;AAAA,IACH,QAAQC,EAAM,UAAUD,EAAK,gBAAgBA,EAAK;AAAA,IAClD,MAAMC,EAAM;AAAA,EAAA,CACb,IAEgB,IAAIE;AACvB;AAMO,SAASC,EACdL,GACAM,GACAL,GACAM,GACY;AAIZ,QAAMC,IAAa,KAAK,IAAID,IAAgBH,IAAqB,GAAG,CAAC,GAE/DK,IAAUR,EAAK,aACfS,IACJD,EAAQ;AAAA,IAAK,CAACE,MACZR,EAAaH,GAAO;AAAA,MAClB,GAAGC;AAAA,MACH,QAAQU,EAAU,UAAUV,EAAK,gBAAgBA,EAAK;AAAA,MACtD,MAAMU,EAAU;AAAA,IAAA,CACjB,KAAKH;AAAA,EAAA,KACHC,EAAQA,EAAQ,SAAS,CAAC,GAE3BG,IAASF,EAAO,UAAUT,EAAK,gBAAgBA,EAAK;AAE1D,SAAO;AAAA,IACL,QAAAW;AAAA,IACA,OAAOC,EAAgBP,GAAOL,GAAMO,CAAU;AAAA,IAC9C,YAAYE,EAAO;AAAA,IACnB,MAAMA,EAAO;AAAA,IACb,OAAOG,EAAgBb,GAAO,EAAE,GAAGC,GAAM,QAAAW,GAAQ,MAAMF,EAAO,KAAA,GAAQF,CAAU;AAAA,EAAA;AAEpF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoverPath.cjs","sources":["../../../../src/components/charts/core/hoverPath.ts"],"sourcesContent":["import type { HierarchyNode } from 'd3-hierarchy';\n\n/** Um nivel do caminho ate o no sob o ponteiro, com o valor somado daquele nivel. */\nexport interface ChartHoveredNode {\n label: string;\n value: number;\n}\n\n/** Caminho do grupo de topo ate o no, sem a raiz que o layout cria por fora. */\nexport function hoverPath(node: HierarchyNode<{ label: string }>): ChartHoveredNode[] {\n return node\n .ancestors()\n .reverse()\n .slice(1)\n .map((ancestor) => ({ label: ancestor.data.label, value: ancestor.value ?? 0 }));\n}\n"],"names":["hoverPath","node","ancestor"],"mappings":"gFASO,SAASA,EAAUC,EAA4D,CACpF,OAAOA,EACJ,YACA,QAAA,EACA,MAAM,CAAC,EACP,IAAKC,IAAc,CAAE,MAAOA,EAAS,KAAK,MAAO,MAAOA,EAAS,OAAS,GAAI,CACnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoverPath.js","sources":["../../../../src/components/charts/core/hoverPath.ts"],"sourcesContent":["import type { HierarchyNode } from 'd3-hierarchy';\n\n/** Um nivel do caminho ate o no sob o ponteiro, com o valor somado daquele nivel. */\nexport interface ChartHoveredNode {\n label: string;\n value: number;\n}\n\n/** Caminho do grupo de topo ate o no, sem a raiz que o layout cria por fora. */\nexport function hoverPath(node: HierarchyNode<{ label: string }>): ChartHoveredNode[] {\n return node\n .ancestors()\n .reverse()\n .slice(1)\n .map((ancestor) => ({ label: ancestor.data.label, value: ancestor.value ?? 0 }));\n}\n"],"names":["hoverPath","node","ancestor"],"mappings":"AASO,SAASA,EAAUC,GAA4D;AACpF,SAAOA,EACJ,YACA,QAAA,EACA,MAAM,CAAC,EACP,IAAI,CAACC,OAAc,EAAE,OAAOA,EAAS,KAAK,OAAO,OAAOA,EAAS,SAAS,IAAI;AACnF;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=[{display:!0,papel:"display-large",size:36,lineHeight:44},{display:!0,papel:"headline-medium",size:24,lineHeight:32},{display:!1,papel:"title",size:16,lineHeight:24}],r={centerSteps:c.map(({display:t,lineHeight:e,size:i})=>({display:t,lineHeight:e,size:i})),family:"sans-serif",headingFamily:"sans-serif",lineHeight:16,size:12},y=.58;function m(t){if(!t||typeof getComputedStyle!="function")return r;const e=getComputedStyle(t),i=e.getPropertyValue("--pl-font-body").trim()||e.fontFamily||r.family,n=e.getPropertyValue("--pl-font-heading").trim()||i,o=Number.parseFloat(e.getPropertyValue("--pl-type-caption-size"))||r.size,u=Number.parseFloat(e.getPropertyValue("--pl-type-caption-line-height")),p=l=>Number.parseFloat(e.getPropertyValue(`--pl-type-${l}`));return{centerSteps:c.map(l=>({display:l.display,lineHeight:p(`${l.papel}-line-height`)||l.lineHeight,size:p(`${l.papel}-size`)||l.size})),family:i,headingFamily:n,lineHeight:u||o*1.34,size:o}}let a;function f(){if(a===void 0)try{a=document.createElement("canvas").getContext("2d")}catch{a=null}return a}function s(t,e){const i=t.length*e.size*y,n=f();return n?(n.font=`${e.size}px ${e.family}`,n.measureText(t).width||i):i}function d(t,e){return t.reduce((i,n)=>Math.max(i,s(n,e)),0)}function g(t,e,i){if(i<=0)return"";if(s(t,e)<=i)return t;let n=t.length;for(;n>0&&s(`${t.slice(0,n)}…`,e)>i;)n-=1;return n>0?`${t.slice(0,n)}…`:""}exports.labelFontOf=m;exports.measureLabel=s;exports.truncateToWidth=g;exports.widestLabel=d;
|
|
2
|
+
//# sourceMappingURL=measureText.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureText.cjs","sources":["../../../../src/components/charts/core/measureText.ts"],"sourcesContent":["/** Um degrau da escala tipografica para o valor do centro de um anel. */\nexport interface CenterStep {\n display: boolean;\n lineHeight: number;\n size: number;\n}\n\nexport interface LabelFont {\n /** Degraus do valor do centro, do maior ao menor: display, headline e title. */\n centerSteps: readonly CenterStep[];\n family: string;\n /** Familia de display, usada onde o valor e um KPI. */\n headingFamily: string;\n lineHeight: number;\n size: number;\n}\n\n/** Os papeis de cada degrau do centro e o valor deles na referencia tipografica, para quando nao ha CSS. */\nconst DEGRAUS_DO_CENTRO = [\n { display: true, papel: 'display-large', size: 36, lineHeight: 44 },\n { display: true, papel: 'headline-medium', size: 24, lineHeight: 32 },\n { display: false, papel: 'title', size: 16, lineHeight: 24 },\n];\n\nconst PADRAO: LabelFont = {\n centerSteps: DEGRAUS_DO_CENTRO.map(({ display, lineHeight, size }) => ({ display, lineHeight, size })),\n family: 'sans-serif',\n headingFamily: 'sans-serif',\n lineHeight: 16,\n size: 12,\n};\n\n/** Proporcao entre a largura media de um caractere e o corpo da fonte. */\nconst LARGURA_POR_CARACTERE = 0.58;\n\n/**\n * Fonte dos rotulos, lida dos tokens no proprio elemento do grafico. Ler do\n * elemento evita repetir em JavaScript um valor que ja pertence ao CSS.\n */\nexport function labelFontOf(node: Element | null): LabelFont {\n if (!node || typeof getComputedStyle !== 'function') {\n return PADRAO;\n }\n\n const estilo = getComputedStyle(node);\n const family = estilo.getPropertyValue('--pl-font-body').trim() || estilo.fontFamily || PADRAO.family;\n const headingFamily = estilo.getPropertyValue('--pl-font-heading').trim() || family;\n const size = Number.parseFloat(estilo.getPropertyValue('--pl-type-caption-size')) || PADRAO.size;\n const lineHeight = Number.parseFloat(estilo.getPropertyValue('--pl-type-caption-line-height'));\n const token = (nome: string) => Number.parseFloat(estilo.getPropertyValue(`--pl-type-${nome}`));\n const centerSteps = DEGRAUS_DO_CENTRO.map((degrau) => ({\n display: degrau.display,\n lineHeight: token(`${degrau.papel}-line-height`) || degrau.lineHeight,\n size: token(`${degrau.papel}-size`) || degrau.size,\n }));\n\n return { centerSteps, family, headingFamily, lineHeight: lineHeight || size * 1.34, size };\n}\n\nlet contexto: CanvasRenderingContext2D | null | undefined;\n\nfunction contextoDeMedida() {\n if (contexto === undefined) {\n try {\n contexto = document.createElement('canvas').getContext('2d');\n } catch {\n contexto = null;\n }\n }\n\n return contexto;\n}\n\n/**\n * Largura do texto na fonte informada. O canvas mede sem inserir nada na\n * pagina; onde ele nao existe, a estimativa por caractere mantem o calculo\n * deterministico, em vez de devolver zero e amontoar os rotulos.\n */\nexport function measureLabel(text: string, font: LabelFont) {\n const estimativa = text.length * font.size * LARGURA_POR_CARACTERE;\n const medida = contextoDeMedida();\n\n if (!medida) {\n return estimativa;\n }\n\n medida.font = `${font.size}px ${font.family}`;\n\n return medida.measureText(text).width || estimativa;\n}\n\nexport function widestLabel(labels: readonly string[], font: LabelFont) {\n return labels.reduce((maior, rotulo) => Math.max(maior, measureLabel(rotulo, font)), 0);\n}\n\n/**\n * Texto cortado para caber na largura, com reticencia. Onde o desenho e o\n * proprio espaco — o centro de um anel, o retangulo de um mapa de area — nao ha\n * caixa que corte por conta propria.\n */\nexport function truncateToWidth(text: string, font: LabelFont, maxWidth: number) {\n if (maxWidth <= 0) {\n return '';\n }\n\n if (measureLabel(text, font) <= maxWidth) {\n return text;\n }\n\n let corte = text.length;\n\n while (corte > 0 && measureLabel(`${text.slice(0, corte)}…`, font) > maxWidth) {\n corte -= 1;\n }\n\n return corte > 0 ? `${text.slice(0, corte)}…` : '';\n}\n\n"],"names":["DEGRAUS_DO_CENTRO","PADRAO","display","lineHeight","size","LARGURA_POR_CARACTERE","labelFontOf","node","estilo","family","headingFamily","token","nome","degrau","contexto","contextoDeMedida","measureLabel","text","font","estimativa","medida","widestLabel","labels","maior","rotulo","truncateToWidth","maxWidth","corte"],"mappings":"gFAkBA,MAAMA,EAAoB,CACxB,CAAE,QAAS,GAAM,MAAO,gBAAiB,KAAM,GAAI,WAAY,EAAA,EAC/D,CAAE,QAAS,GAAM,MAAO,kBAAmB,KAAM,GAAI,WAAY,EAAA,EACjE,CAAE,QAAS,GAAO,MAAO,QAAS,KAAM,GAAI,WAAY,EAAA,CAC1D,EAEMC,EAAoB,CACxB,YAAaD,EAAkB,IAAI,CAAC,CAAE,QAAAE,EAAS,WAAAC,EAAY,KAAAC,CAAA,KAAY,CAAE,QAAAF,EAAS,WAAAC,EAAY,KAAAC,GAAO,EACrG,OAAQ,aACR,cAAe,aACf,WAAY,GACZ,KAAM,EACR,EAGMC,EAAwB,IAMvB,SAASC,EAAYC,EAAiC,CAC3D,GAAI,CAACA,GAAQ,OAAO,kBAAqB,WACvC,OAAON,EAGT,MAAMO,EAAS,iBAAiBD,CAAI,EAC9BE,EAASD,EAAO,iBAAiB,gBAAgB,EAAE,KAAA,GAAUA,EAAO,YAAcP,EAAO,OACzFS,EAAgBF,EAAO,iBAAiB,mBAAmB,EAAE,QAAUC,EACvEL,EAAO,OAAO,WAAWI,EAAO,iBAAiB,wBAAwB,CAAC,GAAKP,EAAO,KACtFE,EAAa,OAAO,WAAWK,EAAO,iBAAiB,+BAA+B,CAAC,EACvFG,EAASC,GAAiB,OAAO,WAAWJ,EAAO,iBAAiB,aAAaI,CAAI,EAAE,CAAC,EAO9F,MAAO,CAAE,YANWZ,EAAkB,IAAKa,IAAY,CACrD,QAASA,EAAO,QAChB,WAAYF,EAAM,GAAGE,EAAO,KAAK,cAAc,GAAKA,EAAO,WAC3D,KAAMF,EAAM,GAAGE,EAAO,KAAK,OAAO,GAAKA,EAAO,IAAA,EAC9C,EAEoB,OAAAJ,EAAQ,cAAAC,EAAe,WAAYP,GAAcC,EAAO,KAAM,KAAAA,CAAA,CACtF,CAEA,IAAIU,EAEJ,SAASC,GAAmB,CAC1B,GAAID,IAAa,OACf,GAAI,CACFA,EAAW,SAAS,cAAc,QAAQ,EAAE,WAAW,IAAI,CAC7D,MAAQ,CACNA,EAAW,IACb,CAGF,OAAOA,CACT,CAOO,SAASE,EAAaC,EAAcC,EAAiB,CAC1D,MAAMC,EAAaF,EAAK,OAASC,EAAK,KAAOb,EACvCe,EAASL,EAAA,EAEf,OAAKK,GAILA,EAAO,KAAO,GAAGF,EAAK,IAAI,MAAMA,EAAK,MAAM,GAEpCE,EAAO,YAAYH,CAAI,EAAE,OAASE,GALhCA,CAMX,CAEO,SAASE,EAAYC,EAA2BJ,EAAiB,CACtE,OAAOI,EAAO,OAAO,CAACC,EAAOC,IAAW,KAAK,IAAID,EAAOP,EAAaQ,EAAQN,CAAI,CAAC,EAAG,CAAC,CACxF,CAOO,SAASO,EAAgBR,EAAcC,EAAiBQ,EAAkB,CAC/E,GAAIA,GAAY,EACd,MAAO,GAGT,GAAIV,EAAaC,EAAMC,CAAI,GAAKQ,EAC9B,OAAOT,EAGT,IAAIU,EAAQV,EAAK,OAEjB,KAAOU,EAAQ,GAAKX,EAAa,GAAGC,EAAK,MAAM,EAAGU,CAAK,CAAC,IAAKT,CAAI,EAAIQ,GACnEC,GAAS,EAGX,OAAOA,EAAQ,EAAI,GAAGV,EAAK,MAAM,EAAGU,CAAK,CAAC,IAAM,EAClD"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const c = [
|
|
2
|
+
{ display: !0, papel: "display-large", size: 36, lineHeight: 44 },
|
|
3
|
+
{ display: !0, papel: "headline-medium", size: 24, lineHeight: 32 },
|
|
4
|
+
{ display: !1, papel: "title", size: 16, lineHeight: 24 }
|
|
5
|
+
], s = {
|
|
6
|
+
centerSteps: c.map(({ display: t, lineHeight: e, size: i }) => ({ display: t, lineHeight: e, size: i })),
|
|
7
|
+
family: "sans-serif",
|
|
8
|
+
headingFamily: "sans-serif",
|
|
9
|
+
lineHeight: 16,
|
|
10
|
+
size: 12
|
|
11
|
+
}, y = 0.58;
|
|
12
|
+
function h(t) {
|
|
13
|
+
if (!t || typeof getComputedStyle != "function")
|
|
14
|
+
return s;
|
|
15
|
+
const e = getComputedStyle(t), i = e.getPropertyValue("--pl-font-body").trim() || e.fontFamily || s.family, n = e.getPropertyValue("--pl-font-heading").trim() || i, o = Number.parseFloat(e.getPropertyValue("--pl-type-caption-size")) || s.size, u = Number.parseFloat(e.getPropertyValue("--pl-type-caption-line-height")), p = (l) => Number.parseFloat(e.getPropertyValue(`--pl-type-${l}`));
|
|
16
|
+
return { centerSteps: c.map((l) => ({
|
|
17
|
+
display: l.display,
|
|
18
|
+
lineHeight: p(`${l.papel}-line-height`) || l.lineHeight,
|
|
19
|
+
size: p(`${l.papel}-size`) || l.size
|
|
20
|
+
})), family: i, headingFamily: n, lineHeight: u || o * 1.34, size: o };
|
|
21
|
+
}
|
|
22
|
+
let a;
|
|
23
|
+
function m() {
|
|
24
|
+
if (a === void 0)
|
|
25
|
+
try {
|
|
26
|
+
a = document.createElement("canvas").getContext("2d");
|
|
27
|
+
} catch {
|
|
28
|
+
a = null;
|
|
29
|
+
}
|
|
30
|
+
return a;
|
|
31
|
+
}
|
|
32
|
+
function r(t, e) {
|
|
33
|
+
const i = t.length * e.size * y, n = m();
|
|
34
|
+
return n ? (n.font = `${e.size}px ${e.family}`, n.measureText(t).width || i) : i;
|
|
35
|
+
}
|
|
36
|
+
function g(t, e) {
|
|
37
|
+
return t.reduce((i, n) => Math.max(i, r(n, e)), 0);
|
|
38
|
+
}
|
|
39
|
+
function d(t, e, i) {
|
|
40
|
+
if (i <= 0)
|
|
41
|
+
return "";
|
|
42
|
+
if (r(t, e) <= i)
|
|
43
|
+
return t;
|
|
44
|
+
let n = t.length;
|
|
45
|
+
for (; n > 0 && r(`${t.slice(0, n)}…`, e) > i; )
|
|
46
|
+
n -= 1;
|
|
47
|
+
return n > 0 ? `${t.slice(0, n)}…` : "";
|
|
48
|
+
}
|
|
49
|
+
export {
|
|
50
|
+
h as labelFontOf,
|
|
51
|
+
r as measureLabel,
|
|
52
|
+
d as truncateToWidth,
|
|
53
|
+
g as widestLabel
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=measureText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureText.js","sources":["../../../../src/components/charts/core/measureText.ts"],"sourcesContent":["/** Um degrau da escala tipografica para o valor do centro de um anel. */\nexport interface CenterStep {\n display: boolean;\n lineHeight: number;\n size: number;\n}\n\nexport interface LabelFont {\n /** Degraus do valor do centro, do maior ao menor: display, headline e title. */\n centerSteps: readonly CenterStep[];\n family: string;\n /** Familia de display, usada onde o valor e um KPI. */\n headingFamily: string;\n lineHeight: number;\n size: number;\n}\n\n/** Os papeis de cada degrau do centro e o valor deles na referencia tipografica, para quando nao ha CSS. */\nconst DEGRAUS_DO_CENTRO = [\n { display: true, papel: 'display-large', size: 36, lineHeight: 44 },\n { display: true, papel: 'headline-medium', size: 24, lineHeight: 32 },\n { display: false, papel: 'title', size: 16, lineHeight: 24 },\n];\n\nconst PADRAO: LabelFont = {\n centerSteps: DEGRAUS_DO_CENTRO.map(({ display, lineHeight, size }) => ({ display, lineHeight, size })),\n family: 'sans-serif',\n headingFamily: 'sans-serif',\n lineHeight: 16,\n size: 12,\n};\n\n/** Proporcao entre a largura media de um caractere e o corpo da fonte. */\nconst LARGURA_POR_CARACTERE = 0.58;\n\n/**\n * Fonte dos rotulos, lida dos tokens no proprio elemento do grafico. Ler do\n * elemento evita repetir em JavaScript um valor que ja pertence ao CSS.\n */\nexport function labelFontOf(node: Element | null): LabelFont {\n if (!node || typeof getComputedStyle !== 'function') {\n return PADRAO;\n }\n\n const estilo = getComputedStyle(node);\n const family = estilo.getPropertyValue('--pl-font-body').trim() || estilo.fontFamily || PADRAO.family;\n const headingFamily = estilo.getPropertyValue('--pl-font-heading').trim() || family;\n const size = Number.parseFloat(estilo.getPropertyValue('--pl-type-caption-size')) || PADRAO.size;\n const lineHeight = Number.parseFloat(estilo.getPropertyValue('--pl-type-caption-line-height'));\n const token = (nome: string) => Number.parseFloat(estilo.getPropertyValue(`--pl-type-${nome}`));\n const centerSteps = DEGRAUS_DO_CENTRO.map((degrau) => ({\n display: degrau.display,\n lineHeight: token(`${degrau.papel}-line-height`) || degrau.lineHeight,\n size: token(`${degrau.papel}-size`) || degrau.size,\n }));\n\n return { centerSteps, family, headingFamily, lineHeight: lineHeight || size * 1.34, size };\n}\n\nlet contexto: CanvasRenderingContext2D | null | undefined;\n\nfunction contextoDeMedida() {\n if (contexto === undefined) {\n try {\n contexto = document.createElement('canvas').getContext('2d');\n } catch {\n contexto = null;\n }\n }\n\n return contexto;\n}\n\n/**\n * Largura do texto na fonte informada. O canvas mede sem inserir nada na\n * pagina; onde ele nao existe, a estimativa por caractere mantem o calculo\n * deterministico, em vez de devolver zero e amontoar os rotulos.\n */\nexport function measureLabel(text: string, font: LabelFont) {\n const estimativa = text.length * font.size * LARGURA_POR_CARACTERE;\n const medida = contextoDeMedida();\n\n if (!medida) {\n return estimativa;\n }\n\n medida.font = `${font.size}px ${font.family}`;\n\n return medida.measureText(text).width || estimativa;\n}\n\nexport function widestLabel(labels: readonly string[], font: LabelFont) {\n return labels.reduce((maior, rotulo) => Math.max(maior, measureLabel(rotulo, font)), 0);\n}\n\n/**\n * Texto cortado para caber na largura, com reticencia. Onde o desenho e o\n * proprio espaco — o centro de um anel, o retangulo de um mapa de area — nao ha\n * caixa que corte por conta propria.\n */\nexport function truncateToWidth(text: string, font: LabelFont, maxWidth: number) {\n if (maxWidth <= 0) {\n return '';\n }\n\n if (measureLabel(text, font) <= maxWidth) {\n return text;\n }\n\n let corte = text.length;\n\n while (corte > 0 && measureLabel(`${text.slice(0, corte)}…`, font) > maxWidth) {\n corte -= 1;\n }\n\n return corte > 0 ? `${text.slice(0, corte)}…` : '';\n}\n\n"],"names":["DEGRAUS_DO_CENTRO","PADRAO","display","lineHeight","size","LARGURA_POR_CARACTERE","labelFontOf","node","estilo","family","headingFamily","token","nome","degrau","contexto","contextoDeMedida","measureLabel","text","font","estimativa","medida","widestLabel","labels","maior","rotulo","truncateToWidth","maxWidth","corte"],"mappings":"AAkBA,MAAMA,IAAoB;AAAA,EACxB,EAAE,SAAS,IAAM,OAAO,iBAAiB,MAAM,IAAI,YAAY,GAAA;AAAA,EAC/D,EAAE,SAAS,IAAM,OAAO,mBAAmB,MAAM,IAAI,YAAY,GAAA;AAAA,EACjE,EAAE,SAAS,IAAO,OAAO,SAAS,MAAM,IAAI,YAAY,GAAA;AAC1D,GAEMC,IAAoB;AAAA,EACxB,aAAaD,EAAkB,IAAI,CAAC,EAAE,SAAAE,GAAS,YAAAC,GAAY,MAAAC,EAAA,OAAY,EAAE,SAAAF,GAAS,YAAAC,GAAY,MAAAC,IAAO;AAAA,EACrG,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,MAAM;AACR,GAGMC,IAAwB;AAMvB,SAASC,EAAYC,GAAiC;AAC3D,MAAI,CAACA,KAAQ,OAAO,oBAAqB;AACvC,WAAON;AAGT,QAAMO,IAAS,iBAAiBD,CAAI,GAC9BE,IAASD,EAAO,iBAAiB,gBAAgB,EAAE,KAAA,KAAUA,EAAO,cAAcP,EAAO,QACzFS,IAAgBF,EAAO,iBAAiB,mBAAmB,EAAE,UAAUC,GACvEL,IAAO,OAAO,WAAWI,EAAO,iBAAiB,wBAAwB,CAAC,KAAKP,EAAO,MACtFE,IAAa,OAAO,WAAWK,EAAO,iBAAiB,+BAA+B,CAAC,GACvFG,IAAQ,CAACC,MAAiB,OAAO,WAAWJ,EAAO,iBAAiB,aAAaI,CAAI,EAAE,CAAC;AAO9F,SAAO,EAAE,aANWZ,EAAkB,IAAI,CAACa,OAAY;AAAA,IACrD,SAASA,EAAO;AAAA,IAChB,YAAYF,EAAM,GAAGE,EAAO,KAAK,cAAc,KAAKA,EAAO;AAAA,IAC3D,MAAMF,EAAM,GAAGE,EAAO,KAAK,OAAO,KAAKA,EAAO;AAAA,EAAA,EAC9C,GAEoB,QAAAJ,GAAQ,eAAAC,GAAe,YAAYP,KAAcC,IAAO,MAAM,MAAAA,EAAA;AACtF;AAEA,IAAIU;AAEJ,SAASC,IAAmB;AAC1B,MAAID,MAAa;AACf,QAAI;AACF,MAAAA,IAAW,SAAS,cAAc,QAAQ,EAAE,WAAW,IAAI;AAAA,IAC7D,QAAQ;AACN,MAAAA,IAAW;AAAA,IACb;AAGF,SAAOA;AACT;AAOO,SAASE,EAAaC,GAAcC,GAAiB;AAC1D,QAAMC,IAAaF,EAAK,SAASC,EAAK,OAAOb,GACvCe,IAASL,EAAA;AAEf,SAAKK,KAILA,EAAO,OAAO,GAAGF,EAAK,IAAI,MAAMA,EAAK,MAAM,IAEpCE,EAAO,YAAYH,CAAI,EAAE,SAASE,KALhCA;AAMX;AAEO,SAASE,EAAYC,GAA2BJ,GAAiB;AACtE,SAAOI,EAAO,OAAO,CAACC,GAAOC,MAAW,KAAK,IAAID,GAAOP,EAAaQ,GAAQN,CAAI,CAAC,GAAG,CAAC;AACxF;AAOO,SAASO,EAAgBR,GAAcC,GAAiBQ,GAAkB;AAC/E,MAAIA,KAAY;AACd,WAAO;AAGT,MAAIV,EAAaC,GAAMC,CAAI,KAAKQ;AAC9B,WAAOT;AAGT,MAAIU,IAAQV,EAAK;AAEjB,SAAOU,IAAQ,KAAKX,EAAa,GAAGC,EAAK,MAAM,GAAGU,CAAK,CAAC,KAAKT,CAAI,IAAIQ;AACnE,IAAAC,KAAS;AAGX,SAAOA,IAAQ,IAAI,GAAGV,EAAK,MAAM,GAAGU,CAAK,CAAC,MAAM;AAClD;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A={end:-6,middle:0,start:6},b=14;function f(c,n,t,d,m){const l=c[n][t],i=c[n].length-1,a=t===0?"start":t===i?"end":"middle";return{below:l!==null&&c.some((u,e)=>{const o=u[t];return e===n||m(e)||!o?!1:(o.y<l.y||o.y===l.y&&e<n)&&l.y-o.y<d+b}),dx:A[a],textAnchor:a}}exports.pointLabelPlacement=f;
|
|
2
|
+
//# sourceMappingURL=pointLabels.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointLabels.cjs","sources":["../../../../src/components/charts/core/pointLabels.ts"],"sourcesContent":["import type { ChartPoint } from './shapes';\n\nexport interface PointLabelPlacement {\n /** Abaixo do ponto, quando outra serie tem ponto logo acima na mesma categoria. */\n below: boolean;\n /** Afastamento horizontal do ponto: nas pontas, o rotulo sai de lado para nao encostar no marcador. */\n dx: number;\n textAnchor: 'start' | 'middle' | 'end';\n}\n\nconst AFASTAMENTO = { end: -6, middle: 0, start: 6 } as const;\n\n/** O rotulo acima fica 10px sobre o ponto; o marcador tem 4px de raio. */\nconst FOLGA_ACIMA = 14;\n\n/**\n * Onde vai o rotulo de um ponto. Nas pontas ele se alinha para dentro, para nao cobrir os numeros do eixo; e,\n * quando o rotulo de uma serie alcancaria o ponto de outra logo acima, na mesma categoria, ele desce para baixo do ponto.\n */\nexport function pointLabelPlacement(\n pointsBySeries: readonly (readonly (ChartPoint | null)[])[],\n series: number,\n category: number,\n lineHeight: number,\n isHidden: (seriesIndex: number) => boolean,\n): PointLabelPlacement {\n const ponto = pointsBySeries[series][category];\n const ultima = pointsBySeries[series].length - 1;\n const textAnchor = category === 0 ? 'start' : category === ultima ? 'end' : 'middle';\n\n const below =\n ponto !== null &&\n pointsBySeries.some((pontos, outra) => {\n const vizinho = pontos[category];\n\n if (outra === series || isHidden(outra) || !vizinho) {\n return false;\n }\n\n const acima = vizinho.y < ponto.y || (vizinho.y === ponto.y && outra < series);\n\n return acima && ponto.y - vizinho.y < lineHeight + FOLGA_ACIMA;\n });\n\n return { below, dx: AFASTAMENTO[textAnchor], textAnchor };\n}\n"],"names":["AFASTAMENTO","FOLGA_ACIMA","pointLabelPlacement","pointsBySeries","series","category","lineHeight","isHidden","ponto","ultima","textAnchor","pontos","outra","vizinho"],"mappings":"gFAUA,MAAMA,EAAc,CAAE,IAAK,GAAI,OAAQ,EAAG,MAAO,CAAA,EAG3CC,EAAc,GAMb,SAASC,EACdC,EACAC,EACAC,EACAC,EACAC,EACqB,CACrB,MAAMC,EAAQL,EAAeC,CAAM,EAAEC,CAAQ,EACvCI,EAASN,EAAeC,CAAM,EAAE,OAAS,EACzCM,EAAaL,IAAa,EAAI,QAAUA,IAAaI,EAAS,MAAQ,SAgB5E,MAAO,CAAE,MAbPD,IAAU,MACVL,EAAe,KAAK,CAACQ,EAAQC,IAAU,CACrC,MAAMC,EAAUF,EAAON,CAAQ,EAE/B,OAAIO,IAAUR,GAAUG,EAASK,CAAK,GAAK,CAACC,EACnC,IAGKA,EAAQ,EAAIL,EAAM,GAAMK,EAAQ,IAAML,EAAM,GAAKI,EAAQR,IAEvDI,EAAM,EAAIK,EAAQ,EAAIP,EAAaL,CACrD,CAAC,EAEa,GAAID,EAAYU,CAAU,EAAG,WAAAA,CAAA,CAC/C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const b = { end: -6, middle: 0, start: 6 }, f = 14;
|
|
2
|
+
function x(c, n, t, A, a) {
|
|
3
|
+
const l = c[n][t], e = c[n].length - 1, m = t === 0 ? "start" : t === e ? "end" : "middle";
|
|
4
|
+
return { below: l !== null && c.some((u, d) => {
|
|
5
|
+
const o = u[t];
|
|
6
|
+
return d === n || a(d) || !o ? !1 : (o.y < l.y || o.y === l.y && d < n) && l.y - o.y < A + f;
|
|
7
|
+
}), dx: b[m], textAnchor: m };
|
|
8
|
+
}
|
|
9
|
+
export {
|
|
10
|
+
x as pointLabelPlacement
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=pointLabels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pointLabels.js","sources":["../../../../src/components/charts/core/pointLabels.ts"],"sourcesContent":["import type { ChartPoint } from './shapes';\n\nexport interface PointLabelPlacement {\n /** Abaixo do ponto, quando outra serie tem ponto logo acima na mesma categoria. */\n below: boolean;\n /** Afastamento horizontal do ponto: nas pontas, o rotulo sai de lado para nao encostar no marcador. */\n dx: number;\n textAnchor: 'start' | 'middle' | 'end';\n}\n\nconst AFASTAMENTO = { end: -6, middle: 0, start: 6 } as const;\n\n/** O rotulo acima fica 10px sobre o ponto; o marcador tem 4px de raio. */\nconst FOLGA_ACIMA = 14;\n\n/**\n * Onde vai o rotulo de um ponto. Nas pontas ele se alinha para dentro, para nao cobrir os numeros do eixo; e,\n * quando o rotulo de uma serie alcancaria o ponto de outra logo acima, na mesma categoria, ele desce para baixo do ponto.\n */\nexport function pointLabelPlacement(\n pointsBySeries: readonly (readonly (ChartPoint | null)[])[],\n series: number,\n category: number,\n lineHeight: number,\n isHidden: (seriesIndex: number) => boolean,\n): PointLabelPlacement {\n const ponto = pointsBySeries[series][category];\n const ultima = pointsBySeries[series].length - 1;\n const textAnchor = category === 0 ? 'start' : category === ultima ? 'end' : 'middle';\n\n const below =\n ponto !== null &&\n pointsBySeries.some((pontos, outra) => {\n const vizinho = pontos[category];\n\n if (outra === series || isHidden(outra) || !vizinho) {\n return false;\n }\n\n const acima = vizinho.y < ponto.y || (vizinho.y === ponto.y && outra < series);\n\n return acima && ponto.y - vizinho.y < lineHeight + FOLGA_ACIMA;\n });\n\n return { below, dx: AFASTAMENTO[textAnchor], textAnchor };\n}\n"],"names":["AFASTAMENTO","FOLGA_ACIMA","pointLabelPlacement","pointsBySeries","series","category","lineHeight","isHidden","ponto","ultima","textAnchor","pontos","outra","vizinho"],"mappings":"AAUA,MAAMA,IAAc,EAAE,KAAK,IAAI,QAAQ,GAAG,OAAO,EAAA,GAG3CC,IAAc;AAMb,SAASC,EACdC,GACAC,GACAC,GACAC,GACAC,GACqB;AACrB,QAAMC,IAAQL,EAAeC,CAAM,EAAEC,CAAQ,GACvCI,IAASN,EAAeC,CAAM,EAAE,SAAS,GACzCM,IAAaL,MAAa,IAAI,UAAUA,MAAaI,IAAS,QAAQ;AAgB5E,SAAO,EAAE,OAbPD,MAAU,QACVL,EAAe,KAAK,CAACQ,GAAQC,MAAU;AACrC,UAAMC,IAAUF,EAAON,CAAQ;AAE/B,WAAIO,MAAUR,KAAUG,EAASK,CAAK,KAAK,CAACC,IACnC,MAGKA,EAAQ,IAAIL,EAAM,KAAMK,EAAQ,MAAML,EAAM,KAAKI,IAAQR,MAEvDI,EAAM,IAAIK,EAAQ,IAAIP,IAAaL;AAAA,EACrD,CAAC,GAEa,IAAID,EAAYU,CAAU,GAAG,YAAAA,EAAA;AAC/C;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("d3-shape");function f(i){return i==="smooth"?c.curveMonotoneX:c.curveLinear}function v(i,r){return c.line().defined(e=>e!==null&&Number.isFinite(e.x)&&Number.isFinite(e.y)).x(e=>(e==null?void 0:e.x)??0).y(e=>(e==null?void 0:e.y)??0).curve(f(r))(i)??""}function L(i,r){return c.area().defined(e=>e!==null&&Number.isFinite(e.y0)&&Number.isFinite(e.y1)).x(e=>(e==null?void 0:e.x)??0).y0(e=>(e==null?void 0:e.y0)??0).y1(e=>(e==null?void 0:e.y1)??0).curve(f(r))(i)??""}function y(i,r,e,m,h){const M=Math.max(Math.min(e,m)/2,0),[u,n,s,l]=h.map(P=>Math.max(Math.min(P,M),0)),t=i+e,$=r+m;return[`M${i+u},${r}`,`L${t-n},${r}`,n?`Q${t},${r} ${t},${r+n}`:"",`L${t},${$-s}`,s?`Q${t},${$} ${t-s},${$}`:"",`L${i+l},${$}`,l?`Q${i},${$} ${i},${$-l}`:"",`L${i},${r+u}`,u?`Q${i},${r} ${i+u},${r}`:"","Z"].filter(Boolean).join("")}exports.areaPath=L;exports.linePath=v;exports.roundedBarPath=y;
|
|
2
|
+
//# sourceMappingURL=shapes.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shapes.cjs","sources":["../../../../src/components/charts/core/shapes.ts"],"sourcesContent":["import { area, curveLinear, curveMonotoneX, line } from 'd3-shape';\n\nexport type ChartCurve = 'smooth' | 'straight';\n\nexport interface ChartPoint {\n x: number;\n y: number;\n}\n\nexport interface ChartBand {\n x: number;\n y0: number;\n y1: number;\n}\n\nfunction curveOf(curve: ChartCurve) {\n return curve === 'smooth' ? curveMonotoneX : curveLinear;\n}\n\n/**\n * Caminho de uma curva, com interrupcao onde o valor nao existe. Emendar sobre\n * o buraco desenharia um trecho que o dado nao afirma.\n */\nexport function linePath(points: readonly (ChartPoint | null)[], curve: ChartCurve) {\n return (\n line<ChartPoint | null>()\n .defined((ponto) => ponto !== null && Number.isFinite(ponto.x) && Number.isFinite(ponto.y))\n .x((ponto) => ponto?.x ?? 0)\n .y((ponto) => ponto?.y ?? 0)\n .curve(curveOf(curve))(points) ?? ''\n );\n}\n\n/** Caminho da faixa entre duas linhas. A base varia quando as areas empilham. */\nexport function areaPath(bands: readonly (ChartBand | null)[], curve: ChartCurve) {\n return (\n area<ChartBand | null>()\n .defined((banda) => banda !== null && Number.isFinite(banda.y0) && Number.isFinite(banda.y1))\n .x((banda) => banda?.x ?? 0)\n .y0((banda) => banda?.y0 ?? 0)\n .y1((banda) => banda?.y1 ?? 0)\n .curve(curveOf(curve))(bands) ?? ''\n );\n}\n\n/** Raios dos quatro cantos, no sentido horario a partir do superior esquerdo. */\nexport type CornerRadii = [number, number, number, number];\n\n/**\n * Retangulo com raio por canto, arredondado por curva quadratica com o controle\n * no proprio canto. O atributo `rx` arredonda os quatro de uma vez, e numa barra\n * empilhada isso separa os segmentos: a pilha precisa das duas pontas\n * arredondadas e do meio reto, para parecer uma barra so.\n */\nexport function roundedBarPath(\n x: number,\n y: number,\n width: number,\n height: number,\n radii: CornerRadii,\n) {\n const limite = Math.max(Math.min(width, height) / 2, 0);\n const [se, sd, id, ie] = radii.map((raio) => Math.max(Math.min(raio, limite), 0));\n const direita = x + width;\n const base = y + height;\n\n // Todos os comandos levam par de coordenadas, sem `H` nem `V`: o caminho fica\n // uniforme e as suas medidas saem dele sem interpretar comando a comando.\n return [\n `M${x + se},${y}`,\n `L${direita - sd},${y}`,\n sd ? `Q${direita},${y} ${direita},${y + sd}` : '',\n `L${direita},${base - id}`,\n id ? `Q${direita},${base} ${direita - id},${base}` : '',\n `L${x + ie},${base}`,\n ie ? `Q${x},${base} ${x},${base - ie}` : '',\n `L${x},${y + se}`,\n se ? `Q${x},${y} ${x + se},${y}` : '',\n 'Z',\n ]\n .filter(Boolean)\n .join('');\n}\n"],"names":["curveOf","curve","curveMonotoneX","curveLinear","linePath","points","line","ponto","areaPath","bands","area","banda","roundedBarPath","x","y","width","height","radii","limite","se","sd","id","ie","raio","direita","base"],"mappings":"4GAeA,SAASA,EAAQC,EAAmB,CAClC,OAAOA,IAAU,SAAWC,EAAAA,eAAiBC,EAAAA,WAC/C,CAMO,SAASC,EAASC,EAAwCJ,EAAmB,CAClF,OACEK,EAAAA,OACG,QAASC,GAAUA,IAAU,MAAQ,OAAO,SAASA,EAAM,CAAC,GAAK,OAAO,SAASA,EAAM,CAAC,CAAC,EACzF,EAAGA,IAAUA,GAAA,YAAAA,EAAO,IAAK,CAAC,EAC1B,EAAGA,IAAUA,GAAA,YAAAA,EAAO,IAAK,CAAC,EAC1B,MAAMP,EAAQC,CAAK,CAAC,EAAEI,CAAM,GAAK,EAExC,CAGO,SAASG,EAASC,EAAsCR,EAAmB,CAChF,OACES,EAAAA,KAAA,EACG,QAASC,GAAUA,IAAU,MAAQ,OAAO,SAASA,EAAM,EAAE,GAAK,OAAO,SAASA,EAAM,EAAE,CAAC,EAC3F,EAAGA,IAAUA,GAAA,YAAAA,EAAO,IAAK,CAAC,EAC1B,GAAIA,IAAUA,GAAA,YAAAA,EAAO,KAAM,CAAC,EAC5B,GAAIA,IAAUA,GAAA,YAAAA,EAAO,KAAM,CAAC,EAC5B,MAAMX,EAAQC,CAAK,CAAC,EAAEQ,CAAK,GAAK,EAEvC,CAWO,SAASG,EACdC,EACAC,EACAC,EACAC,EACAC,EACA,CACA,MAAMC,EAAS,KAAK,IAAI,KAAK,IAAIH,EAAOC,CAAM,EAAI,EAAG,CAAC,EAChD,CAACG,EAAIC,EAAIC,EAAIC,CAAE,EAAIL,EAAM,IAAKM,GAAS,KAAK,IAAI,KAAK,IAAIA,EAAML,CAAM,EAAG,CAAC,CAAC,EAC1EM,EAAUX,EAAIE,EACdU,EAAOX,EAAIE,EAIjB,MAAO,CACL,IAAIH,EAAIM,CAAE,IAAIL,CAAC,GACf,IAAIU,EAAUJ,CAAE,IAAIN,CAAC,GACrBM,EAAK,IAAII,CAAO,IAAIV,CAAC,IAAIU,CAAO,IAAIV,EAAIM,CAAE,GAAK,GAC/C,IAAII,CAAO,IAAIC,EAAOJ,CAAE,GACxBA,EAAK,IAAIG,CAAO,IAAIC,CAAI,IAAID,EAAUH,CAAE,IAAII,CAAI,GAAK,GACrD,IAAIZ,EAAIS,CAAE,IAAIG,CAAI,GAClBH,EAAK,IAAIT,CAAC,IAAIY,CAAI,IAAIZ,CAAC,IAAIY,EAAOH,CAAE,GAAK,GACzC,IAAIT,CAAC,IAAIC,EAAIK,CAAE,GACfA,EAAK,IAAIN,CAAC,IAAIC,CAAC,IAAID,EAAIM,CAAE,IAAIL,CAAC,GAAK,GACnC,GAAA,EAEC,OAAO,OAAO,EACd,KAAK,EAAE,CACZ"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { area as v, line as L, curveMonotoneX as F, curveLinear as N } from "d3-shape";
|
|
2
|
+
function f(i) {
|
|
3
|
+
return i === "smooth" ? F : N;
|
|
4
|
+
}
|
|
5
|
+
function P(i, r) {
|
|
6
|
+
return L().defined((e) => e !== null && Number.isFinite(e.x) && Number.isFinite(e.y)).x((e) => (e == null ? void 0 : e.x) ?? 0).y((e) => (e == null ? void 0 : e.y) ?? 0).curve(f(r))(i) ?? "";
|
|
7
|
+
}
|
|
8
|
+
function y(i, r) {
|
|
9
|
+
return v().defined((e) => e !== null && Number.isFinite(e.y0) && Number.isFinite(e.y1)).x((e) => (e == null ? void 0 : e.x) ?? 0).y0((e) => (e == null ? void 0 : e.y0) ?? 0).y1((e) => (e == null ? void 0 : e.y1) ?? 0).curve(f(r))(i) ?? "";
|
|
10
|
+
}
|
|
11
|
+
function B(i, r, e, n, l) {
|
|
12
|
+
const M = Math.max(Math.min(e, n) / 2, 0), [t, c, m, s] = l.map((h) => Math.max(Math.min(h, M), 0)), $ = i + e, u = r + n;
|
|
13
|
+
return [
|
|
14
|
+
`M${i + t},${r}`,
|
|
15
|
+
`L${$ - c},${r}`,
|
|
16
|
+
c ? `Q${$},${r} ${$},${r + c}` : "",
|
|
17
|
+
`L${$},${u - m}`,
|
|
18
|
+
m ? `Q${$},${u} ${$ - m},${u}` : "",
|
|
19
|
+
`L${i + s},${u}`,
|
|
20
|
+
s ? `Q${i},${u} ${i},${u - s}` : "",
|
|
21
|
+
`L${i},${r + t}`,
|
|
22
|
+
t ? `Q${i},${r} ${i + t},${r}` : "",
|
|
23
|
+
"Z"
|
|
24
|
+
].filter(Boolean).join("");
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
y as areaPath,
|
|
28
|
+
P as linePath,
|
|
29
|
+
B as roundedBarPath
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=shapes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shapes.js","sources":["../../../../src/components/charts/core/shapes.ts"],"sourcesContent":["import { area, curveLinear, curveMonotoneX, line } from 'd3-shape';\n\nexport type ChartCurve = 'smooth' | 'straight';\n\nexport interface ChartPoint {\n x: number;\n y: number;\n}\n\nexport interface ChartBand {\n x: number;\n y0: number;\n y1: number;\n}\n\nfunction curveOf(curve: ChartCurve) {\n return curve === 'smooth' ? curveMonotoneX : curveLinear;\n}\n\n/**\n * Caminho de uma curva, com interrupcao onde o valor nao existe. Emendar sobre\n * o buraco desenharia um trecho que o dado nao afirma.\n */\nexport function linePath(points: readonly (ChartPoint | null)[], curve: ChartCurve) {\n return (\n line<ChartPoint | null>()\n .defined((ponto) => ponto !== null && Number.isFinite(ponto.x) && Number.isFinite(ponto.y))\n .x((ponto) => ponto?.x ?? 0)\n .y((ponto) => ponto?.y ?? 0)\n .curve(curveOf(curve))(points) ?? ''\n );\n}\n\n/** Caminho da faixa entre duas linhas. A base varia quando as areas empilham. */\nexport function areaPath(bands: readonly (ChartBand | null)[], curve: ChartCurve) {\n return (\n area<ChartBand | null>()\n .defined((banda) => banda !== null && Number.isFinite(banda.y0) && Number.isFinite(banda.y1))\n .x((banda) => banda?.x ?? 0)\n .y0((banda) => banda?.y0 ?? 0)\n .y1((banda) => banda?.y1 ?? 0)\n .curve(curveOf(curve))(bands) ?? ''\n );\n}\n\n/** Raios dos quatro cantos, no sentido horario a partir do superior esquerdo. */\nexport type CornerRadii = [number, number, number, number];\n\n/**\n * Retangulo com raio por canto, arredondado por curva quadratica com o controle\n * no proprio canto. O atributo `rx` arredonda os quatro de uma vez, e numa barra\n * empilhada isso separa os segmentos: a pilha precisa das duas pontas\n * arredondadas e do meio reto, para parecer uma barra so.\n */\nexport function roundedBarPath(\n x: number,\n y: number,\n width: number,\n height: number,\n radii: CornerRadii,\n) {\n const limite = Math.max(Math.min(width, height) / 2, 0);\n const [se, sd, id, ie] = radii.map((raio) => Math.max(Math.min(raio, limite), 0));\n const direita = x + width;\n const base = y + height;\n\n // Todos os comandos levam par de coordenadas, sem `H` nem `V`: o caminho fica\n // uniforme e as suas medidas saem dele sem interpretar comando a comando.\n return [\n `M${x + se},${y}`,\n `L${direita - sd},${y}`,\n sd ? `Q${direita},${y} ${direita},${y + sd}` : '',\n `L${direita},${base - id}`,\n id ? `Q${direita},${base} ${direita - id},${base}` : '',\n `L${x + ie},${base}`,\n ie ? `Q${x},${base} ${x},${base - ie}` : '',\n `L${x},${y + se}`,\n se ? `Q${x},${y} ${x + se},${y}` : '',\n 'Z',\n ]\n .filter(Boolean)\n .join('');\n}\n"],"names":["curveOf","curve","curveMonotoneX","curveLinear","linePath","points","line","ponto","areaPath","bands","area","banda","roundedBarPath","x","y","width","height","radii","limite","se","sd","id","ie","raio","direita","base"],"mappings":";AAeA,SAASA,EAAQC,GAAmB;AAClC,SAAOA,MAAU,WAAWC,IAAiBC;AAC/C;AAMO,SAASC,EAASC,GAAwCJ,GAAmB;AAClF,SACEK,IACG,QAAQ,CAACC,MAAUA,MAAU,QAAQ,OAAO,SAASA,EAAM,CAAC,KAAK,OAAO,SAASA,EAAM,CAAC,CAAC,EACzF,EAAE,CAACA,OAAUA,KAAA,gBAAAA,EAAO,MAAK,CAAC,EAC1B,EAAE,CAACA,OAAUA,KAAA,gBAAAA,EAAO,MAAK,CAAC,EAC1B,MAAMP,EAAQC,CAAK,CAAC,EAAEI,CAAM,KAAK;AAExC;AAGO,SAASG,EAASC,GAAsCR,GAAmB;AAChF,SACES,EAAA,EACG,QAAQ,CAACC,MAAUA,MAAU,QAAQ,OAAO,SAASA,EAAM,EAAE,KAAK,OAAO,SAASA,EAAM,EAAE,CAAC,EAC3F,EAAE,CAACA,OAAUA,KAAA,gBAAAA,EAAO,MAAK,CAAC,EAC1B,GAAG,CAACA,OAAUA,KAAA,gBAAAA,EAAO,OAAM,CAAC,EAC5B,GAAG,CAACA,OAAUA,KAAA,gBAAAA,EAAO,OAAM,CAAC,EAC5B,MAAMX,EAAQC,CAAK,CAAC,EAAEQ,CAAK,KAAK;AAEvC;AAWO,SAASG,EACdC,GACAC,GACAC,GACAC,GACAC,GACA;AACA,QAAMC,IAAS,KAAK,IAAI,KAAK,IAAIH,GAAOC,CAAM,IAAI,GAAG,CAAC,GAChD,CAACG,GAAIC,GAAIC,GAAIC,CAAE,IAAIL,EAAM,IAAI,CAACM,MAAS,KAAK,IAAI,KAAK,IAAIA,GAAML,CAAM,GAAG,CAAC,CAAC,GAC1EM,IAAUX,IAAIE,GACdU,IAAOX,IAAIE;AAIjB,SAAO;AAAA,IACL,IAAIH,IAAIM,CAAE,IAAIL,CAAC;AAAA,IACf,IAAIU,IAAUJ,CAAE,IAAIN,CAAC;AAAA,IACrBM,IAAK,IAAII,CAAO,IAAIV,CAAC,IAAIU,CAAO,IAAIV,IAAIM,CAAE,KAAK;AAAA,IAC/C,IAAII,CAAO,IAAIC,IAAOJ,CAAE;AAAA,IACxBA,IAAK,IAAIG,CAAO,IAAIC,CAAI,IAAID,IAAUH,CAAE,IAAII,CAAI,KAAK;AAAA,IACrD,IAAIZ,IAAIS,CAAE,IAAIG,CAAI;AAAA,IAClBH,IAAK,IAAIT,CAAC,IAAIY,CAAI,IAAIZ,CAAC,IAAIY,IAAOH,CAAE,KAAK;AAAA,IACzC,IAAIT,CAAC,IAAIC,IAAIK,CAAE;AAAA,IACfA,IAAK,IAAIN,CAAC,IAAIC,CAAC,IAAID,IAAIM,CAAE,IAAIL,CAAC,KAAK;AAAA,IACnC;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,EAAE;AACZ;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function u(r){return Number.isFinite(r.value)?Math.max(r.value,0):0}function p(r,{label:c,threshold:n}){const a=r.reduce((e,t)=>e+u(t),0);if(n<=0||a<=0)return r;const i=e=>Number.isFinite(e.value)&&u(e)/a<n,l=r.filter(i);if(l.length<2)return r;const f={intent:"neutral",label:c,value:l.reduce((e,t)=>e+u(t),0)};let o=!1;return r.flatMap(e=>i(e)?o?[]:(o=!0,[f]):[e])}exports.groupSmallSlices=p;
|
|
2
|
+
//# sourceMappingURL=slices.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slices.cjs","sources":["../../../../src/components/charts/core/slices.ts"],"sourcesContent":["import type { SeriesAppearance } from '../palette';\n\nexport interface ChartSlice extends SeriesAppearance {\n label: string;\n value: number;\n}\n\nexport interface GroupSmallSlicesOptions {\n label: string;\n threshold: number;\n}\n\n/**\n * Reune as fatias pequenas numa so. Abaixo de um limiar a fatia deixa de ser\n * legivel no anel e ainda ocupa uma linha da legenda; o agrupamento e a regra\n * de percentual minimo da referencia.\n *\n * A fatia reunida entra no lugar da primeira pequena, para que a ordem das\n * demais, que a legenda repete, permaneca a mesma.\n */\n/** Valor que a fatia ocupa no anel. Invalido tem o destino do ausente; um so desligava o agrupamento. */\nfunction ocupacao(fatia: ChartSlice) {\n return Number.isFinite(fatia.value) ? Math.max(fatia.value, 0) : 0;\n}\n\nexport function groupSmallSlices(\n slices: readonly ChartSlice[],\n { label, threshold }: GroupSmallSlicesOptions,\n): readonly ChartSlice[] {\n const total = slices.reduce((soma, fatia) => soma + ocupacao(fatia), 0);\n\n if (threshold <= 0 || total <= 0) {\n return slices;\n }\n\n const pequena = (fatia: ChartSlice) => Number.isFinite(fatia.value) && ocupacao(fatia) / total < threshold;\n const pequenas = slices.filter(pequena);\n\n if (pequenas.length < 2) {\n return slices;\n }\n\n const reunida: ChartSlice = {\n intent: 'neutral',\n label,\n value: pequenas.reduce((soma, fatia) => soma + ocupacao(fatia), 0),\n };\n\n let inserida = false;\n\n return slices.flatMap((fatia) => {\n if (!pequena(fatia)) {\n return [fatia];\n }\n\n if (inserida) {\n return [];\n }\n\n inserida = true;\n\n return [reunida];\n });\n}\n"],"names":["ocupacao","fatia","groupSmallSlices","slices","label","threshold","total","soma","pequena","pequenas","reunida","inserida"],"mappings":"gFAqBA,SAASA,EAASC,EAAmB,CACnC,OAAO,OAAO,SAASA,EAAM,KAAK,EAAI,KAAK,IAAIA,EAAM,MAAO,CAAC,EAAI,CACnE,CAEO,SAASC,EACdC,EACA,CAAE,MAAAC,EAAO,UAAAC,GACc,CACvB,MAAMC,EAAQH,EAAO,OAAO,CAACI,EAAMN,IAAUM,EAAOP,EAASC,CAAK,EAAG,CAAC,EAEtE,GAAII,GAAa,GAAKC,GAAS,EAC7B,OAAOH,EAGT,MAAMK,EAAWP,GAAsB,OAAO,SAASA,EAAM,KAAK,GAAKD,EAASC,CAAK,EAAIK,EAAQD,EAC3FI,EAAWN,EAAO,OAAOK,CAAO,EAEtC,GAAIC,EAAS,OAAS,EACpB,OAAON,EAGT,MAAMO,EAAsB,CAC1B,OAAQ,UACR,MAAAN,EACA,MAAOK,EAAS,OAAO,CAACF,EAAMN,IAAUM,EAAOP,EAASC,CAAK,EAAG,CAAC,CAAA,EAGnE,IAAIU,EAAW,GAEf,OAAOR,EAAO,QAASF,GAChBO,EAAQP,CAAK,EAIdU,EACK,CAAA,GAGTA,EAAW,GAEJ,CAACD,CAAO,GATN,CAACT,CAAK,CAUhB,CACH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function u(n) {
|
|
2
|
+
return Number.isFinite(n.value) ? Math.max(n.value, 0) : 0;
|
|
3
|
+
}
|
|
4
|
+
function p(n, { label: c, threshold: t }) {
|
|
5
|
+
const a = n.reduce((e, r) => e + u(r), 0);
|
|
6
|
+
if (t <= 0 || a <= 0)
|
|
7
|
+
return n;
|
|
8
|
+
const i = (e) => Number.isFinite(e.value) && u(e) / a < t, o = n.filter(i);
|
|
9
|
+
if (o.length < 2)
|
|
10
|
+
return n;
|
|
11
|
+
const f = {
|
|
12
|
+
intent: "neutral",
|
|
13
|
+
label: c,
|
|
14
|
+
value: o.reduce((e, r) => e + u(r), 0)
|
|
15
|
+
};
|
|
16
|
+
let l = !1;
|
|
17
|
+
return n.flatMap((e) => i(e) ? l ? [] : (l = !0, [f]) : [e]);
|
|
18
|
+
}
|
|
19
|
+
export {
|
|
20
|
+
p as groupSmallSlices
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=slices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slices.js","sources":["../../../../src/components/charts/core/slices.ts"],"sourcesContent":["import type { SeriesAppearance } from '../palette';\n\nexport interface ChartSlice extends SeriesAppearance {\n label: string;\n value: number;\n}\n\nexport interface GroupSmallSlicesOptions {\n label: string;\n threshold: number;\n}\n\n/**\n * Reune as fatias pequenas numa so. Abaixo de um limiar a fatia deixa de ser\n * legivel no anel e ainda ocupa uma linha da legenda; o agrupamento e a regra\n * de percentual minimo da referencia.\n *\n * A fatia reunida entra no lugar da primeira pequena, para que a ordem das\n * demais, que a legenda repete, permaneca a mesma.\n */\n/** Valor que a fatia ocupa no anel. Invalido tem o destino do ausente; um so desligava o agrupamento. */\nfunction ocupacao(fatia: ChartSlice) {\n return Number.isFinite(fatia.value) ? Math.max(fatia.value, 0) : 0;\n}\n\nexport function groupSmallSlices(\n slices: readonly ChartSlice[],\n { label, threshold }: GroupSmallSlicesOptions,\n): readonly ChartSlice[] {\n const total = slices.reduce((soma, fatia) => soma + ocupacao(fatia), 0);\n\n if (threshold <= 0 || total <= 0) {\n return slices;\n }\n\n const pequena = (fatia: ChartSlice) => Number.isFinite(fatia.value) && ocupacao(fatia) / total < threshold;\n const pequenas = slices.filter(pequena);\n\n if (pequenas.length < 2) {\n return slices;\n }\n\n const reunida: ChartSlice = {\n intent: 'neutral',\n label,\n value: pequenas.reduce((soma, fatia) => soma + ocupacao(fatia), 0),\n };\n\n let inserida = false;\n\n return slices.flatMap((fatia) => {\n if (!pequena(fatia)) {\n return [fatia];\n }\n\n if (inserida) {\n return [];\n }\n\n inserida = true;\n\n return [reunida];\n });\n}\n"],"names":["ocupacao","fatia","groupSmallSlices","slices","label","threshold","total","soma","pequena","pequenas","reunida","inserida"],"mappings":"AAqBA,SAASA,EAASC,GAAmB;AACnC,SAAO,OAAO,SAASA,EAAM,KAAK,IAAI,KAAK,IAAIA,EAAM,OAAO,CAAC,IAAI;AACnE;AAEO,SAASC,EACdC,GACA,EAAE,OAAAC,GAAO,WAAAC,KACc;AACvB,QAAMC,IAAQH,EAAO,OAAO,CAACI,GAAMN,MAAUM,IAAOP,EAASC,CAAK,GAAG,CAAC;AAEtE,MAAII,KAAa,KAAKC,KAAS;AAC7B,WAAOH;AAGT,QAAMK,IAAU,CAACP,MAAsB,OAAO,SAASA,EAAM,KAAK,KAAKD,EAASC,CAAK,IAAIK,IAAQD,GAC3FI,IAAWN,EAAO,OAAOK,CAAO;AAEtC,MAAIC,EAAS,SAAS;AACpB,WAAON;AAGT,QAAMO,IAAsB;AAAA,IAC1B,QAAQ;AAAA,IACR,OAAAN;AAAA,IACA,OAAOK,EAAS,OAAO,CAACF,GAAMN,MAAUM,IAAOP,EAASC,CAAK,GAAG,CAAC;AAAA,EAAA;AAGnE,MAAIU,IAAW;AAEf,SAAOR,EAAO,QAAQ,CAACF,MAChBO,EAAQP,CAAK,IAIdU,IACK,CAAA,KAGTA,IAAW,IAEJ,CAACD,CAAO,KATN,CAACT,CAAK,CAUhB;AACH;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=8,s=12,u=.24;function R(t){return t.lineHeight+a/2}const A=2,T={offset:0,thickness:0};function l(t,e){const _=e.reduce((n,o)=>n+o,0),i=Math.max((t-A*Math.max(_-1,0))/Math.max(_,1),0);return e.map((n,o)=>({offset:e.slice(0,o).reduce((r,c)=>r+(i+A)*c,0),thickness:i*n}))}function L(t,e){return Math.max(Math.min(t,e)-a*2,0)}exports.CHART_BAR_GAP=A;exports.CHART_EDGE_GAP=s;exports.CHART_LABEL_BAND=u;exports.CHART_LABEL_OFFSET=a;exports.NO_BAR_SLOT=T;exports.barSlots=l;exports.ringDiameter=L;exports.valueLabelRoom=R;
|
|
2
|
+
//# sourceMappingURL=spacing.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.cjs","sources":["../../../../src/components/charts/core/spacing.ts"],"sourcesContent":["import type { LabelFont } from './measureText';\n\n/**\n * Medidas de espaco do desenho. Elas vivem aqui, e nao em cada grafico, porque\n * sao a mesma decisao visual repetida: quando cada arquivo guardava a sua, o\n * mesmo conceito aparecia com valores diferentes em dois vizinhos.\n *\n * Geometria em SVG nao le variavel CSS, entao estes sao numeros — mas numeros\n * de um lugar so.\n */\n\n/** Distancia entre uma marca e o rotulo que a descreve. */\nexport const CHART_LABEL_OFFSET = 8;\n\n/** Folga minima nas bordas, para o rotulo das pontas nao encostar no limite. */\nexport const CHART_EDGE_GAP = 12;\n\n/** Teto da banda de rotulos projetados, como fracao da largura. */\nexport const CHART_LABEL_BAND = 0.24;\n\n/**\n * Espaco que um rotulo de valor ocupa acima da marca. Sai da entrelinha medida,\n * e nao de um numero fixo: o rotulo ocupa o que o texto ocupa.\n */\nexport function valueLabelRoom(font: LabelFont) {\n return font.lineHeight + CHART_LABEL_OFFSET / 2;\n}\n\n/** Folga entre duas barras vizinhas dentro da mesma faixa. */\nexport const CHART_BAR_GAP = 2;\n\nexport interface BarSlot {\n offset: number;\n thickness: number;\n}\n\n/**\n * Faixa de um indice que ainda nao existe. Quando entra uma serie, o tween\n * devolve o array anterior por um render, e ali a nova nao tem presenca.\n */\nexport const NO_BAR_SLOT: BarSlot = { offset: 0, thickness: 0 };\n\n/**\n * Espessura e deslocamento de cada barra dentro da faixa, a partir da presenca\n * de cada serie. A barra desligada encolhe a zero e as demais ocupam o lugar\n * dela, sem deixar a folga sobrando no fim.\n */\nexport function barSlots(band: number, presences: readonly number[]): BarSlot[] {\n const total = presences.reduce((soma, presenca) => soma + presenca, 0);\n const unit = Math.max((band - CHART_BAR_GAP * Math.max(total - 1, 0)) / Math.max(total, 1), 0);\n\n return presences.map((presenca, indice) => ({\n offset: presences\n .slice(0, indice)\n .reduce((soma, anterior) => soma + (unit + CHART_BAR_GAP) * anterior, 0),\n thickness: unit * presenca,\n }));\n}\n\n/** Diametro do anel: o lado menor da area disponivel, menos a folga. */\nexport function ringDiameter(width: number, height: number) {\n return Math.max(Math.min(width, height) - CHART_LABEL_OFFSET * 2, 0);\n}\n"],"names":["CHART_LABEL_OFFSET","CHART_EDGE_GAP","CHART_LABEL_BAND","valueLabelRoom","font","CHART_BAR_GAP","NO_BAR_SLOT","barSlots","band","presences","total","soma","presenca","unit","indice","anterior","ringDiameter","width","height"],"mappings":"gFAYO,MAAMA,EAAqB,EAGrBC,EAAiB,GAGjBC,EAAmB,IAMzB,SAASC,EAAeC,EAAiB,CAC9C,OAAOA,EAAK,WAAaJ,EAAqB,CAChD,CAGO,MAAMK,EAAgB,EAWhBC,EAAuB,CAAE,OAAQ,EAAG,UAAW,CAAA,EAOrD,SAASC,EAASC,EAAcC,EAAyC,CAC9E,MAAMC,EAAQD,EAAU,OAAO,CAACE,EAAMC,IAAaD,EAAOC,EAAU,CAAC,EAC/DC,EAAO,KAAK,KAAKL,EAAOH,EAAgB,KAAK,IAAIK,EAAQ,EAAG,CAAC,GAAK,KAAK,IAAIA,EAAO,CAAC,EAAG,CAAC,EAE7F,OAAOD,EAAU,IAAI,CAACG,EAAUE,KAAY,CAC1C,OAAQL,EACL,MAAM,EAAGK,CAAM,EACf,OAAO,CAACH,EAAMI,IAAaJ,GAAQE,EAAOR,GAAiBU,EAAU,CAAC,EACzE,UAAWF,EAAOD,CAAA,EAClB,CACJ,CAGO,SAASI,EAAaC,EAAeC,EAAgB,CAC1D,OAAO,KAAK,IAAI,KAAK,IAAID,EAAOC,CAAM,EAAIlB,EAAqB,EAAG,CAAC,CACrE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const s = 8, r = 12, u = 0.24;
|
|
2
|
+
function L(t) {
|
|
3
|
+
return t.lineHeight + 8 / 2;
|
|
4
|
+
}
|
|
5
|
+
const c = 2, T = { offset: 0, thickness: 0 };
|
|
6
|
+
function E(t, n) {
|
|
7
|
+
const A = n.reduce((o, a) => o + a, 0), _ = Math.max((t - c * Math.max(A - 1, 0)) / Math.max(A, 1), 0);
|
|
8
|
+
return n.map((o, a) => ({
|
|
9
|
+
offset: n.slice(0, a).reduce((e, i) => e + (_ + c) * i, 0),
|
|
10
|
+
thickness: _ * o
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
function R(t, n) {
|
|
14
|
+
return Math.max(Math.min(t, n) - 16, 0);
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
c as CHART_BAR_GAP,
|
|
18
|
+
r as CHART_EDGE_GAP,
|
|
19
|
+
u as CHART_LABEL_BAND,
|
|
20
|
+
s as CHART_LABEL_OFFSET,
|
|
21
|
+
T as NO_BAR_SLOT,
|
|
22
|
+
E as barSlots,
|
|
23
|
+
R as ringDiameter,
|
|
24
|
+
L as valueLabelRoom
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=spacing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spacing.js","sources":["../../../../src/components/charts/core/spacing.ts"],"sourcesContent":["import type { LabelFont } from './measureText';\n\n/**\n * Medidas de espaco do desenho. Elas vivem aqui, e nao em cada grafico, porque\n * sao a mesma decisao visual repetida: quando cada arquivo guardava a sua, o\n * mesmo conceito aparecia com valores diferentes em dois vizinhos.\n *\n * Geometria em SVG nao le variavel CSS, entao estes sao numeros — mas numeros\n * de um lugar so.\n */\n\n/** Distancia entre uma marca e o rotulo que a descreve. */\nexport const CHART_LABEL_OFFSET = 8;\n\n/** Folga minima nas bordas, para o rotulo das pontas nao encostar no limite. */\nexport const CHART_EDGE_GAP = 12;\n\n/** Teto da banda de rotulos projetados, como fracao da largura. */\nexport const CHART_LABEL_BAND = 0.24;\n\n/**\n * Espaco que um rotulo de valor ocupa acima da marca. Sai da entrelinha medida,\n * e nao de um numero fixo: o rotulo ocupa o que o texto ocupa.\n */\nexport function valueLabelRoom(font: LabelFont) {\n return font.lineHeight + CHART_LABEL_OFFSET / 2;\n}\n\n/** Folga entre duas barras vizinhas dentro da mesma faixa. */\nexport const CHART_BAR_GAP = 2;\n\nexport interface BarSlot {\n offset: number;\n thickness: number;\n}\n\n/**\n * Faixa de um indice que ainda nao existe. Quando entra uma serie, o tween\n * devolve o array anterior por um render, e ali a nova nao tem presenca.\n */\nexport const NO_BAR_SLOT: BarSlot = { offset: 0, thickness: 0 };\n\n/**\n * Espessura e deslocamento de cada barra dentro da faixa, a partir da presenca\n * de cada serie. A barra desligada encolhe a zero e as demais ocupam o lugar\n * dela, sem deixar a folga sobrando no fim.\n */\nexport function barSlots(band: number, presences: readonly number[]): BarSlot[] {\n const total = presences.reduce((soma, presenca) => soma + presenca, 0);\n const unit = Math.max((band - CHART_BAR_GAP * Math.max(total - 1, 0)) / Math.max(total, 1), 0);\n\n return presences.map((presenca, indice) => ({\n offset: presences\n .slice(0, indice)\n .reduce((soma, anterior) => soma + (unit + CHART_BAR_GAP) * anterior, 0),\n thickness: unit * presenca,\n }));\n}\n\n/** Diametro do anel: o lado menor da area disponivel, menos a folga. */\nexport function ringDiameter(width: number, height: number) {\n return Math.max(Math.min(width, height) - CHART_LABEL_OFFSET * 2, 0);\n}\n"],"names":["CHART_LABEL_OFFSET","CHART_EDGE_GAP","CHART_LABEL_BAND","valueLabelRoom","font","CHART_BAR_GAP","NO_BAR_SLOT","barSlots","band","presences","total","soma","presenca","unit","indice","anterior","ringDiameter","width","height"],"mappings":"AAYO,MAAMA,IAAqB,GAGrBC,IAAiB,IAGjBC,IAAmB;AAMzB,SAASC,EAAeC,GAAiB;AAC9C,SAAOA,EAAK,aAAa,IAAqB;AAChD;AAGO,MAAMC,IAAgB,GAWhBC,IAAuB,EAAE,QAAQ,GAAG,WAAW,EAAA;AAOrD,SAASC,EAASC,GAAcC,GAAyC;AAC9E,QAAMC,IAAQD,EAAU,OAAO,CAACE,GAAMC,MAAaD,IAAOC,GAAU,CAAC,GAC/DC,IAAO,KAAK,KAAKL,IAAOH,IAAgB,KAAK,IAAIK,IAAQ,GAAG,CAAC,KAAK,KAAK,IAAIA,GAAO,CAAC,GAAG,CAAC;AAE7F,SAAOD,EAAU,IAAI,CAACG,GAAUE,OAAY;AAAA,IAC1C,QAAQL,EACL,MAAM,GAAGK,CAAM,EACf,OAAO,CAACH,GAAMI,MAAaJ,KAAQE,IAAOR,KAAiBU,GAAU,CAAC;AAAA,IACzE,WAAWF,IAAOD;AAAA,EAAA,EAClB;AACJ;AAGO,SAASI,EAAaC,GAAeC,GAAgB;AAC1D,SAAO,KAAK,IAAI,KAAK,IAAID,GAAOC,CAAM,IAAI,IAAwB,CAAC;AACrE;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function m({categories:r,colors:c,format:u,index:l,isHidden:e,series:t,showTotal:a=!1}){const o=l===null?[]:t.flatMap((n,s)=>{const i=n.values[l];return e(n.label)||i===null||i===void 0||!Number.isFinite(i)?[]:[{color:c[s],format:n.format,label:n.label,values:[i]}]});return{columns:[{format:u}],computed:"none",rows:o,showTotal:a&&o.length>1,title:l===null?void 0:r[l]}}function p({colors:r,formatPercent:c,formatValue:u,index:l,slices:e,total:t}){const a=l===null?void 0:e[l];return{columns:[{format:u}],computed:{compute:o=>t>0?o/t:0,format:c},rows:a&&l!==null?[{color:r[l],label:a.label,values:[Math.max(a.value,0)]}]:[]}}function f({color:r,format:c,formatPercent:u,path:l,total:e=0}){var a;const t=l??[];return{columns:[{format:c}],computed:u?{compute:o=>e>0?o/e:0,format:u}:"none",rows:t.map((o,n)=>{const s=n===t.length-1;return{color:s?r:void 0,emphasis:s,label:o.label,values:[o.value]}}),title:(a=t.at(-1))==null?void 0:a.label}}exports.categoryTooltip=m;exports.pathTooltip=f;exports.sliceTooltip=p;
|
|
2
|
+
//# sourceMappingURL=tooltips.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltips.cjs","sources":["../../../../src/components/charts/core/tooltips.ts"],"sourcesContent":["import type { ChartFrameProps } from './ChartFrame';\nimport type { ChartHoveredNode } from './hoverPath';\n\nexport type ChartFrameTooltip = NonNullable<ChartFrameProps['tooltip']>;\n\nexport interface CategoryTooltipSeries {\n /** Formato desta serie, quando difere do grafico, como a do eixo da direita. */\n format?: (value: number) => string;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface CategoryTooltipOptions {\n categories: readonly string[];\n colors: readonly string[];\n format: (value: number) => string;\n /** Categoria sob o ponteiro; `null` deixa o balao sem linhas, e ele nao aparece. */\n index: number | null;\n isHidden: (label: string) => boolean;\n series: readonly CategoryTooltipSeries[];\n /** Soma das series na ultima linha, para a pilha. */\n showTotal?: boolean;\n}\n\n/** Balao dos graficos de categoria: uma linha por serie visivel, com a cor dela e o valor naquela categoria. */\nexport function categoryTooltip({\n categories,\n colors,\n format,\n index,\n isHidden,\n series,\n showTotal = false,\n}: CategoryTooltipOptions): ChartFrameTooltip {\n const rows =\n index === null\n ? []\n : series.flatMap((serie, ordem) => {\n const valor = serie.values[index];\n\n if (isHidden(serie.label) || valor === null || valor === undefined || !Number.isFinite(valor)) {\n return [];\n }\n\n return [{ color: colors[ordem], format: serie.format, label: serie.label, values: [valor] }];\n });\n\n return {\n columns: [{ format }],\n computed: 'none',\n rows,\n showTotal: showTotal && rows.length > 1,\n title: index === null ? undefined : categories[index],\n };\n}\n\nexport interface SliceTooltipOptions {\n colors: readonly string[];\n formatPercent: (ratio: number) => string;\n formatValue: (value: number) => string;\n /** Fatia sob o ponteiro; `null` deixa o balao sem linhas. */\n index: number | null;\n slices: readonly { label: string; value: number }[];\n /** Soma das fatias ligadas, base da porcentagem. */\n total: number;\n}\n\n/** Balao do anel: a fatia sob o ponteiro, com o valor e a parte do total. */\nexport function sliceTooltip({ colors, formatPercent, formatValue, index, slices, total }: SliceTooltipOptions): ChartFrameTooltip {\n const fatia = index === null ? undefined : slices[index];\n\n return {\n columns: [{ format: formatValue }],\n computed: { compute: (valor) => (total > 0 ? valor / total : 0), format: formatPercent },\n rows: fatia && index !== null ? [{ color: colors[index], label: fatia.label, values: [Math.max(fatia.value, 0)] }] : [],\n };\n}\n\nexport interface PathTooltipOptions {\n /** Cor do no sob o ponteiro. */\n color?: string;\n format: (value: number) => string;\n /** Com ele, cada nivel mostra tambem a parte do total. */\n formatPercent?: (ratio: number) => string;\n /** Caminho do grupo ate o no; `null` deixa o balao sem linhas. */\n path: readonly ChartHoveredNode[] | null;\n total?: number;\n}\n\n/** Balao dos hierarquicos: uma linha por nivel do caminho, com o no sob o ponteiro em destaque. */\nexport function pathTooltip({ color, format, formatPercent, path, total = 0 }: PathTooltipOptions): ChartFrameTooltip {\n const niveis = path ?? [];\n\n return {\n columns: [{ format }],\n computed: formatPercent ? { compute: (valor) => (total > 0 ? valor / total : 0), format: formatPercent } : 'none',\n rows: niveis.map((nivel, indice) => {\n const ultimo = indice === niveis.length - 1;\n return { color: ultimo ? color : undefined, emphasis: ultimo, label: nivel.label, values: [nivel.value] };\n }),\n title: niveis.at(-1)?.label,\n };\n}\n"],"names":["categoryTooltip","categories","colors","format","index","isHidden","series","showTotal","rows","serie","ordem","valor","sliceTooltip","formatPercent","formatValue","slices","total","fatia","pathTooltip","color","path","niveis","nivel","indice","ultimo","_a"],"mappings":"gFAyBO,SAASA,EAAgB,CAC9B,WAAAC,EACA,OAAAC,EACA,OAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,UAAAC,EAAY,EACd,EAA8C,CAC5C,MAAMC,EACJJ,IAAU,KACN,CAAA,EACAE,EAAO,QAAQ,CAACG,EAAOC,IAAU,CAC/B,MAAMC,EAAQF,EAAM,OAAOL,CAAK,EAEhC,OAAIC,EAASI,EAAM,KAAK,GAAKE,IAAU,MAAQA,IAAU,QAAa,CAAC,OAAO,SAASA,CAAK,EACnF,CAAA,EAGF,CAAC,CAAE,MAAOT,EAAOQ,CAAK,EAAG,OAAQD,EAAM,OAAQ,MAAOA,EAAM,MAAO,OAAQ,CAACE,CAAK,EAAG,CAC7F,CAAC,EAEP,MAAO,CACL,QAAS,CAAC,CAAE,OAAAR,EAAQ,EACpB,SAAU,OACV,KAAAK,EACA,UAAWD,GAAaC,EAAK,OAAS,EACtC,MAAOJ,IAAU,KAAO,OAAYH,EAAWG,CAAK,CAAA,CAExD,CAcO,SAASQ,EAAa,CAAE,OAAAV,EAAQ,cAAAW,EAAe,YAAAC,EAAa,MAAAV,EAAO,OAAAW,EAAQ,MAAAC,GAAiD,CACjI,MAAMC,EAAQb,IAAU,KAAO,OAAYW,EAAOX,CAAK,EAEvD,MAAO,CACL,QAAS,CAAC,CAAE,OAAQU,EAAa,EACjC,SAAU,CAAE,QAAUH,GAAWK,EAAQ,EAAIL,EAAQK,EAAQ,EAAI,OAAQH,CAAA,EACzE,KAAMI,GAASb,IAAU,KAAO,CAAC,CAAE,MAAOF,EAAOE,CAAK,EAAG,MAAOa,EAAM,MAAO,OAAQ,CAAC,KAAK,IAAIA,EAAM,MAAO,CAAC,CAAC,CAAA,CAAG,EAAI,CAAA,CAAC,CAE1H,CAcO,SAASC,EAAY,CAAE,MAAAC,EAAO,OAAAhB,EAAQ,cAAAU,EAAe,KAAAO,EAAM,MAAAJ,EAAQ,GAA4C,OACpH,MAAMK,EAASD,GAAQ,CAAA,EAEvB,MAAO,CACL,QAAS,CAAC,CAAE,OAAAjB,EAAQ,EACpB,SAAUU,EAAgB,CAAE,QAAUF,GAAWK,EAAQ,EAAIL,EAAQK,EAAQ,EAAI,OAAQH,GAAkB,OAC3G,KAAMQ,EAAO,IAAI,CAACC,EAAOC,IAAW,CAClC,MAAMC,EAASD,IAAWF,EAAO,OAAS,EAC1C,MAAO,CAAE,MAAOG,EAASL,EAAQ,OAAW,SAAUK,EAAQ,MAAOF,EAAM,MAAO,OAAQ,CAACA,EAAM,KAAK,CAAA,CACxG,CAAC,EACD,OAAOG,EAAAJ,EAAO,GAAG,EAAE,IAAZ,YAAAI,EAAe,KAAA,CAE1B"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
function p({
|
|
2
|
+
categories: r,
|
|
3
|
+
colors: c,
|
|
4
|
+
format: u,
|
|
5
|
+
index: l,
|
|
6
|
+
isHidden: n,
|
|
7
|
+
series: t,
|
|
8
|
+
showTotal: a = !1
|
|
9
|
+
}) {
|
|
10
|
+
const o = l === null ? [] : t.flatMap((e, s) => {
|
|
11
|
+
const m = e.values[l];
|
|
12
|
+
return n(e.label) || m === null || m === void 0 || !Number.isFinite(m) ? [] : [{ color: c[s], format: e.format, label: e.label, values: [m] }];
|
|
13
|
+
});
|
|
14
|
+
return {
|
|
15
|
+
columns: [{ format: u }],
|
|
16
|
+
computed: "none",
|
|
17
|
+
rows: o,
|
|
18
|
+
showTotal: a && o.length > 1,
|
|
19
|
+
title: l === null ? void 0 : r[l]
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function i({ colors: r, formatPercent: c, formatValue: u, index: l, slices: n, total: t }) {
|
|
23
|
+
const a = l === null ? void 0 : n[l];
|
|
24
|
+
return {
|
|
25
|
+
columns: [{ format: u }],
|
|
26
|
+
computed: { compute: (o) => t > 0 ? o / t : 0, format: c },
|
|
27
|
+
rows: a && l !== null ? [{ color: r[l], label: a.label, values: [Math.max(a.value, 0)] }] : []
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function f({ color: r, format: c, formatPercent: u, path: l, total: n = 0 }) {
|
|
31
|
+
var a;
|
|
32
|
+
const t = l ?? [];
|
|
33
|
+
return {
|
|
34
|
+
columns: [{ format: c }],
|
|
35
|
+
computed: u ? { compute: (o) => n > 0 ? o / n : 0, format: u } : "none",
|
|
36
|
+
rows: t.map((o, e) => {
|
|
37
|
+
const s = e === t.length - 1;
|
|
38
|
+
return { color: s ? r : void 0, emphasis: s, label: o.label, values: [o.value] };
|
|
39
|
+
}),
|
|
40
|
+
title: (a = t.at(-1)) == null ? void 0 : a.label
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
p as categoryTooltip,
|
|
45
|
+
f as pathTooltip,
|
|
46
|
+
i as sliceTooltip
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=tooltips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltips.js","sources":["../../../../src/components/charts/core/tooltips.ts"],"sourcesContent":["import type { ChartFrameProps } from './ChartFrame';\nimport type { ChartHoveredNode } from './hoverPath';\n\nexport type ChartFrameTooltip = NonNullable<ChartFrameProps['tooltip']>;\n\nexport interface CategoryTooltipSeries {\n /** Formato desta serie, quando difere do grafico, como a do eixo da direita. */\n format?: (value: number) => string;\n label: string;\n values: readonly (number | null)[];\n}\n\nexport interface CategoryTooltipOptions {\n categories: readonly string[];\n colors: readonly string[];\n format: (value: number) => string;\n /** Categoria sob o ponteiro; `null` deixa o balao sem linhas, e ele nao aparece. */\n index: number | null;\n isHidden: (label: string) => boolean;\n series: readonly CategoryTooltipSeries[];\n /** Soma das series na ultima linha, para a pilha. */\n showTotal?: boolean;\n}\n\n/** Balao dos graficos de categoria: uma linha por serie visivel, com a cor dela e o valor naquela categoria. */\nexport function categoryTooltip({\n categories,\n colors,\n format,\n index,\n isHidden,\n series,\n showTotal = false,\n}: CategoryTooltipOptions): ChartFrameTooltip {\n const rows =\n index === null\n ? []\n : series.flatMap((serie, ordem) => {\n const valor = serie.values[index];\n\n if (isHidden(serie.label) || valor === null || valor === undefined || !Number.isFinite(valor)) {\n return [];\n }\n\n return [{ color: colors[ordem], format: serie.format, label: serie.label, values: [valor] }];\n });\n\n return {\n columns: [{ format }],\n computed: 'none',\n rows,\n showTotal: showTotal && rows.length > 1,\n title: index === null ? undefined : categories[index],\n };\n}\n\nexport interface SliceTooltipOptions {\n colors: readonly string[];\n formatPercent: (ratio: number) => string;\n formatValue: (value: number) => string;\n /** Fatia sob o ponteiro; `null` deixa o balao sem linhas. */\n index: number | null;\n slices: readonly { label: string; value: number }[];\n /** Soma das fatias ligadas, base da porcentagem. */\n total: number;\n}\n\n/** Balao do anel: a fatia sob o ponteiro, com o valor e a parte do total. */\nexport function sliceTooltip({ colors, formatPercent, formatValue, index, slices, total }: SliceTooltipOptions): ChartFrameTooltip {\n const fatia = index === null ? undefined : slices[index];\n\n return {\n columns: [{ format: formatValue }],\n computed: { compute: (valor) => (total > 0 ? valor / total : 0), format: formatPercent },\n rows: fatia && index !== null ? [{ color: colors[index], label: fatia.label, values: [Math.max(fatia.value, 0)] }] : [],\n };\n}\n\nexport interface PathTooltipOptions {\n /** Cor do no sob o ponteiro. */\n color?: string;\n format: (value: number) => string;\n /** Com ele, cada nivel mostra tambem a parte do total. */\n formatPercent?: (ratio: number) => string;\n /** Caminho do grupo ate o no; `null` deixa o balao sem linhas. */\n path: readonly ChartHoveredNode[] | null;\n total?: number;\n}\n\n/** Balao dos hierarquicos: uma linha por nivel do caminho, com o no sob o ponteiro em destaque. */\nexport function pathTooltip({ color, format, formatPercent, path, total = 0 }: PathTooltipOptions): ChartFrameTooltip {\n const niveis = path ?? [];\n\n return {\n columns: [{ format }],\n computed: formatPercent ? { compute: (valor) => (total > 0 ? valor / total : 0), format: formatPercent } : 'none',\n rows: niveis.map((nivel, indice) => {\n const ultimo = indice === niveis.length - 1;\n return { color: ultimo ? color : undefined, emphasis: ultimo, label: nivel.label, values: [nivel.value] };\n }),\n title: niveis.at(-1)?.label,\n };\n}\n"],"names":["categoryTooltip","categories","colors","format","index","isHidden","series","showTotal","rows","serie","ordem","valor","sliceTooltip","formatPercent","formatValue","slices","total","fatia","pathTooltip","color","path","_a","niveis","nivel","indice","ultimo"],"mappings":"AAyBO,SAASA,EAAgB;AAAA,EAC9B,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,WAAAC,IAAY;AACd,GAA8C;AAC5C,QAAMC,IACJJ,MAAU,OACN,CAAA,IACAE,EAAO,QAAQ,CAACG,GAAOC,MAAU;AAC/B,UAAMC,IAAQF,EAAM,OAAOL,CAAK;AAEhC,WAAIC,EAASI,EAAM,KAAK,KAAKE,MAAU,QAAQA,MAAU,UAAa,CAAC,OAAO,SAASA,CAAK,IACnF,CAAA,IAGF,CAAC,EAAE,OAAOT,EAAOQ,CAAK,GAAG,QAAQD,EAAM,QAAQ,OAAOA,EAAM,OAAO,QAAQ,CAACE,CAAK,GAAG;AAAA,EAC7F,CAAC;AAEP,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,QAAAR,GAAQ;AAAA,IACpB,UAAU;AAAA,IACV,MAAAK;AAAA,IACA,WAAWD,KAAaC,EAAK,SAAS;AAAA,IACtC,OAAOJ,MAAU,OAAO,SAAYH,EAAWG,CAAK;AAAA,EAAA;AAExD;AAcO,SAASQ,EAAa,EAAE,QAAAV,GAAQ,eAAAW,GAAe,aAAAC,GAAa,OAAAV,GAAO,QAAAW,GAAQ,OAAAC,KAAiD;AACjI,QAAMC,IAAQb,MAAU,OAAO,SAAYW,EAAOX,CAAK;AAEvD,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,QAAQU,GAAa;AAAA,IACjC,UAAU,EAAE,SAAS,CAACH,MAAWK,IAAQ,IAAIL,IAAQK,IAAQ,GAAI,QAAQH,EAAA;AAAA,IACzE,MAAMI,KAASb,MAAU,OAAO,CAAC,EAAE,OAAOF,EAAOE,CAAK,GAAG,OAAOa,EAAM,OAAO,QAAQ,CAAC,KAAK,IAAIA,EAAM,OAAO,CAAC,CAAC,EAAA,CAAG,IAAI,CAAA;AAAA,EAAC;AAE1H;AAcO,SAASC,EAAY,EAAE,OAAAC,GAAO,QAAAhB,GAAQ,eAAAU,GAAe,MAAAO,GAAM,OAAAJ,IAAQ,KAA4C;AAjE/G,MAAAK;AAkEL,QAAMC,IAASF,KAAQ,CAAA;AAEvB,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,QAAAjB,GAAQ;AAAA,IACpB,UAAUU,IAAgB,EAAE,SAAS,CAACF,MAAWK,IAAQ,IAAIL,IAAQK,IAAQ,GAAI,QAAQH,MAAkB;AAAA,IAC3G,MAAMS,EAAO,IAAI,CAACC,GAAOC,MAAW;AAClC,YAAMC,IAASD,MAAWF,EAAO,SAAS;AAC1C,aAAO,EAAE,OAAOG,IAASN,IAAQ,QAAW,UAAUM,GAAQ,OAAOF,EAAM,OAAO,QAAQ,CAACA,EAAM,KAAK,EAAA;AAAA,IACxG,CAAC;AAAA,IACD,QAAOF,IAAAC,EAAO,GAAG,EAAE,MAAZ,gBAAAD,EAAe;AAAA,EAAA;AAE1B;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react"),l=require("./cartesianLayout.cjs"),g=require("./useTweenedNumbers.cjs"),h=600,A=240;function f(e,t,r){return{bottom:e.bottom+(t.bottom-e.bottom)*r,left:e.left+(t.left-e.left)*r,right:e.right+(t.right-e.right)*r,top:e.top+(t.top-e.top)*r}}function v(e){const t=[e.xAxis,e.yAxis,e.yAxisRight].includes("onHover"),[r,u]=s.useState(!1),a=s.useRef(void 0),i=t&&r,[m=0]=g.useTweenedNumbers([i?1:0],{duration:A});s.useEffect(()=>()=>clearTimeout(a.current),[]);const n=l.cartesianLayout({...e,revealed:!1}),c=t?l.cartesianLayout({...e,revealed:!0}):n,o=f(n.margins,c.margins,m);return{axisReveal:{onPointerEnter:()=>{t&&(clearTimeout(a.current),a.current=setTimeout(()=>u(!0),h))},onPointerLeave:()=>{clearTimeout(a.current),u(!1)},revealed:i},margins:o,plot:{height:Math.max(e.height-o.top-o.bottom,0),width:Math.max(e.width-o.left-o.right,0)},rotation:(i?c:n).rotation}}exports.useCartesianLayout=v;
|
|
2
|
+
//# sourceMappingURL=useCartesianLayout.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCartesianLayout.cjs","sources":["../../../../src/components/charts/core/useCartesianLayout.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { cartesianLayout, type CartesianLayoutOptions, type ChartMargins } from './cartesianLayout';\nimport { useTweenedNumbers } from './useTweenedNumbers';\n\n/** Ponteiro parado sobre o grafico ate os eixos `onHover` entrarem: so atravessar o grafico nao o faz encolher. */\nconst ATRASO_DA_REVELACAO = 600;\nconst DURACAO_DA_REVELACAO = 240;\n\nexport interface AxisReveal {\n onPointerEnter: () => void;\n onPointerLeave: () => void;\n revealed: boolean;\n}\n\nfunction interpolar(de: ChartMargins, ate: ChartMargins, fator: number): ChartMargins {\n return {\n bottom: de.bottom + (ate.bottom - de.bottom) * fator,\n left: de.left + (ate.left - de.left) * fator,\n right: de.right + (ate.right - de.right) * fator,\n top: de.top + (ate.top - de.top) * fator,\n };\n}\n\n/**\n * Layout cartesiano com os eixos `onHover`. Sem eles revelados, o desenho ocupa\n * o espaco todo; revelados, ele encolhe ate as calhas, numa transicao so. Dado\n * ou tamanho que mudam reposicionam na hora: o que anima e a revelacao.\n */\nexport function useCartesianLayout(options: Omit<CartesianLayoutOptions, 'revealed'>) {\n const dinamico = [options.xAxis, options.yAxis, options.yAxisRight].includes('onHover');\n const [revelado, setRevelado] = useState(false);\n const relogio = useRef<ReturnType<typeof setTimeout>>(undefined);\n const revealed = dinamico && revelado;\n const [progresso = 0] = useTweenedNumbers([revealed ? 1 : 0], { duration: DURACAO_DA_REVELACAO });\n\n useEffect(() => () => clearTimeout(relogio.current), []);\n\n const recolhido = cartesianLayout({ ...options, revealed: false });\n const aberto = dinamico ? cartesianLayout({ ...options, revealed: true }) : recolhido;\n const margins = interpolar(recolhido.margins, aberto.margins, progresso);\n\n const axisReveal: AxisReveal = {\n onPointerEnter: () => {\n if (dinamico) {\n clearTimeout(relogio.current);\n relogio.current = setTimeout(() => setRevelado(true), ATRASO_DA_REVELACAO);\n }\n },\n onPointerLeave: () => {\n clearTimeout(relogio.current);\n setRevelado(false);\n },\n revealed,\n };\n\n return {\n axisReveal,\n margins,\n plot: {\n height: Math.max(options.height - margins.top - margins.bottom, 0),\n width: Math.max(options.width - margins.left - margins.right, 0),\n },\n rotation: (revealed ? aberto : recolhido).rotation,\n };\n}\n"],"names":["ATRASO_DA_REVELACAO","DURACAO_DA_REVELACAO","interpolar","de","ate","fator","useCartesianLayout","options","dinamico","revelado","setRevelado","useState","relogio","useRef","revealed","progresso","useTweenedNumbers","useEffect","recolhido","cartesianLayout","aberto","margins"],"mappings":"iLAKMA,EAAsB,IACtBC,EAAuB,IAQ7B,SAASC,EAAWC,EAAkBC,EAAmBC,EAA6B,CACpF,MAAO,CACL,OAAQF,EAAG,QAAUC,EAAI,OAASD,EAAG,QAAUE,EAC/C,KAAMF,EAAG,MAAQC,EAAI,KAAOD,EAAG,MAAQE,EACvC,MAAOF,EAAG,OAASC,EAAI,MAAQD,EAAG,OAASE,EAC3C,IAAKF,EAAG,KAAOC,EAAI,IAAMD,EAAG,KAAOE,CAAA,CAEvC,CAOO,SAASC,EAAmBC,EAAmD,CACpF,MAAMC,EAAW,CAACD,EAAQ,MAAOA,EAAQ,MAAOA,EAAQ,UAAU,EAAE,SAAS,SAAS,EAChF,CAACE,EAAUC,CAAW,EAAIC,EAAAA,SAAS,EAAK,EACxCC,EAAUC,EAAAA,OAAsC,MAAS,EACzDC,EAAWN,GAAYC,EACvB,CAACM,EAAY,CAAC,EAAIC,EAAAA,kBAAkB,CAACF,EAAW,EAAI,CAAC,EAAG,CAAE,SAAUb,EAAsB,EAEhGgB,EAAAA,UAAU,IAAM,IAAM,aAAaL,EAAQ,OAAO,EAAG,CAAA,CAAE,EAEvD,MAAMM,EAAYC,EAAAA,gBAAgB,CAAE,GAAGZ,EAAS,SAAU,GAAO,EAC3Da,EAASZ,EAAWW,kBAAgB,CAAE,GAAGZ,EAAS,SAAU,EAAA,CAAM,EAAIW,EACtEG,EAAUnB,EAAWgB,EAAU,QAASE,EAAO,QAASL,CAAS,EAgBvE,MAAO,CACL,WAf6B,CAC7B,eAAgB,IAAM,CAChBP,IACF,aAAaI,EAAQ,OAAO,EAC5BA,EAAQ,QAAU,WAAW,IAAMF,EAAY,EAAI,EAAGV,CAAmB,EAE7E,EACA,eAAgB,IAAM,CACpB,aAAaY,EAAQ,OAAO,EAC5BF,EAAY,EAAK,CACnB,EACA,SAAAI,CAAA,EAKA,QAAAO,EACA,KAAM,CACJ,OAAQ,KAAK,IAAId,EAAQ,OAASc,EAAQ,IAAMA,EAAQ,OAAQ,CAAC,EACjE,MAAO,KAAK,IAAId,EAAQ,MAAQc,EAAQ,KAAOA,EAAQ,MAAO,CAAC,CAAA,EAEjE,UAAWP,EAAWM,EAASF,GAAW,QAAA,CAE9C"}
|