@plenustech/design-system 0.2.2 → 0.2.4
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/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 +1 -1
- package/dist/components/charts/ChartArea/ChartArea.cjs.map +1 -1
- package/dist/components/charts/ChartArea/ChartArea.js +196 -148
- package/dist/components/charts/ChartArea/ChartArea.js.map +1 -1
- package/dist/components/charts/ChartArea/ChartArea.module.css.cjs +1 -1
- package/dist/components/charts/ChartArea/ChartArea.module.css.js +12 -10
- package/dist/components/charts/ChartArea/ChartArea.module.css.js.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.cjs +1 -1
- package/dist/components/charts/ChartBar/ChartBar.cjs.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.js +168 -145
- package/dist/components/charts/ChartBar/ChartBar.js.map +1 -1
- package/dist/components/charts/ChartBar/ChartBar.module.css.cjs +1 -1
- package/dist/components/charts/ChartBar/ChartBar.module.css.js +12 -10
- package/dist/components/charts/ChartBar/ChartBar.module.css.js.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.cjs +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.cjs.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.js +179 -154
- package/dist/components/charts/ChartCombo/ChartCombo.js.map +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.cjs +1 -1
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js +16 -14
- package/dist/components/charts/ChartCombo/ChartCombo.module.css.js.map +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.cjs +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.cjs.map +1 -1
- package/dist/components/charts/ChartDonut/ChartDonut.js +72 -61
- package/dist/components/charts/ChartDonut/ChartDonut.js.map +1 -1
- package/dist/components/charts/ChartGauge/ChartGauge.cjs +2 -0
- package/dist/components/charts/ChartGauge/ChartGauge.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.js +307 -0
- package/dist/components/charts/ChartGauge/ChartGauge.js.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs +2 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.js +76 -0
- package/dist/components/charts/ChartGauge/ChartGauge.module.css.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.js +107 -0
- package/dist/components/charts/ChartGauge/gaugeLayout.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeReading.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeReading.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeReading.js +112 -0
- package/dist/components/charts/ChartGauge/gaugeReading.js.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeScale.cjs +2 -0
- package/dist/components/charts/ChartGauge/gaugeScale.cjs.map +1 -0
- package/dist/components/charts/ChartGauge/gaugeScale.js +57 -0
- package/dist/components/charts/ChartGauge/gaugeScale.js.map +1 -0
- package/dist/components/charts/ChartLine/ChartLine.cjs +1 -1
- package/dist/components/charts/ChartLine/ChartLine.cjs.map +1 -1
- package/dist/components/charts/ChartLine/ChartLine.js +196 -143
- package/dist/components/charts/ChartLine/ChartLine.js.map +1 -1
- package/dist/components/charts/ChartLine/ChartLine.module.css.cjs +1 -1
- package/dist/components/charts/ChartLine/ChartLine.module.css.js +16 -14
- package/dist/components/charts/ChartLine/ChartLine.module.css.js.map +1 -1
- package/dist/components/charts/ChartMap/ChartMap.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMap.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.js +523 -0
- package/dist/components/charts/ChartMap/ChartMap.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.js +124 -0
- package/dist/components/charts/ChartMap/ChartMap.module.css.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.js +102 -0
- package/dist/components/charts/ChartMap/ChartMapLegend.js.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapTable.cjs +2 -0
- package/dist/components/charts/ChartMap/ChartMapTable.cjs.map +1 -0
- package/dist/components/charts/ChartMap/ChartMapTable.js +118 -0
- package/dist/components/charts/ChartMap/ChartMapTable.js.map +1 -0
- package/dist/components/charts/ChartMap/mapGeometry.cjs +2 -0
- package/dist/components/charts/ChartMap/mapGeometry.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapGeometry.js +113 -0
- package/dist/components/charts/ChartMap/mapGeometry.js.map +1 -0
- package/dist/components/charts/ChartMap/mapLabels.cjs +2 -0
- package/dist/components/charts/ChartMap/mapLabels.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapLabels.js +80 -0
- package/dist/components/charts/ChartMap/mapLabels.js.map +1 -0
- package/dist/components/charts/ChartMap/mapScales.cjs +2 -0
- package/dist/components/charts/ChartMap/mapScales.cjs.map +1 -0
- package/dist/components/charts/ChartMap/mapScales.js +131 -0
- package/dist/components/charts/ChartMap/mapScales.js.map +1 -0
- package/dist/components/charts/ChartMap/polylabel.cjs +2 -0
- package/dist/components/charts/ChartMap/polylabel.cjs.map +1 -0
- package/dist/components/charts/ChartMap/polylabel.js +50 -0
- package/dist/components/charts/ChartMap/polylabel.js.map +1 -0
- package/dist/components/charts/ChartPie/ChartPie.cjs +1 -1
- package/dist/components/charts/ChartPie/ChartPie.cjs.map +1 -1
- package/dist/components/charts/ChartPie/ChartPie.js +71 -60
- package/dist/components/charts/ChartPie/ChartPie.js.map +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.cjs +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.cjs.map +1 -1
- package/dist/components/charts/ChartRadial/ChartRadial.js +101 -84
- package/dist/components/charts/ChartRadial/ChartRadial.js.map +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.cjs +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.cjs.map +1 -1
- package/dist/components/charts/ChartSankey/ChartSankey.js +148 -125
- package/dist/components/charts/ChartSankey/ChartSankey.js.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.cjs +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.cjs.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.js +138 -106
- package/dist/components/charts/ChartScatter/ChartScatter.js.map +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.cjs +1 -1
- package/dist/components/charts/ChartScatter/ChartScatter.module.css.js +3 -3
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs +1 -1
- package/dist/components/charts/ChartSunburst/ChartSunburst.cjs.map +1 -1
- package/dist/components/charts/ChartSunburst/ChartSunburst.js +115 -100
- package/dist/components/charts/ChartSunburst/ChartSunburst.js.map +1 -1
- package/dist/components/charts/ChartTimeline/ChartTimeline.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.js +703 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.js.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js +124 -0
- package/dist/components/charts/ChartTimeline/ChartTimeline.module.css.js.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs +2 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.js +42 -0
- package/dist/components/charts/ChartTimeline/ChartTimelineTable.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.js +109 -0
- package/dist/components/charts/ChartTimeline/timelineLayout.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTime.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineTime.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTime.js +91 -0
- package/dist/components/charts/ChartTimeline/timelineTime.js.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.cjs +2 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.cjs.map +1 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.js +77 -0
- package/dist/components/charts/ChartTimeline/timelineTooltip.js.map +1 -0
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.cjs.map +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.js +1 -1
- package/dist/components/charts/ChartTooltip/ChartTooltip.js.map +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.cjs.map +1 -1
- package/dist/components/charts/ChartTreemap/ChartTreemap.js +100 -89
- package/dist/components/charts/ChartTreemap/ChartTreemap.js.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.cjs.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js +125 -105
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.js.map +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.cjs +1 -1
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js +8 -6
- package/dist/components/charts/ChartWaterfall/ChartWaterfall.module.css.js.map +1 -1
- package/dist/components/charts/core/CartesianFrame.cjs +1 -1
- package/dist/components/charts/core/CartesianFrame.cjs.map +1 -1
- package/dist/components/charts/core/CartesianFrame.js +61 -96
- package/dist/components/charts/core/CartesianFrame.js.map +1 -1
- package/dist/components/charts/core/Chart.module.css.cjs +1 -1
- package/dist/components/charts/core/Chart.module.css.js +52 -54
- package/dist/components/charts/core/Chart.module.css.js.map +1 -1
- package/dist/components/charts/core/ChartFrame.cjs +1 -1
- package/dist/components/charts/core/ChartFrame.cjs.map +1 -1
- package/dist/components/charts/core/ChartFrame.js +53 -47
- package/dist/components/charts/core/ChartFrame.js.map +1 -1
- package/dist/components/charts/core/ChartLegend.cjs +1 -1
- package/dist/components/charts/core/ChartLegend.cjs.map +1 -1
- package/dist/components/charts/core/ChartLegend.js +37 -25
- package/dist/components/charts/core/ChartLegend.js.map +1 -1
- 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/cartesianLayout.cjs +1 -1
- package/dist/components/charts/core/cartesianLayout.cjs.map +1 -1
- package/dist/components/charts/core/cartesianLayout.js +49 -41
- package/dist/components/charts/core/cartesianLayout.js.map +1 -1
- 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/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/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 +1 -1
- package/dist/components/charts/core/useChartMetrics.cjs.map +1 -1
- package/dist/components/charts/core/useChartMetrics.js +20 -25
- package/dist/components/charts/core/useChartMetrics.js.map +1 -1
- package/dist/components/charts/core/useSeriesToggle.cjs +1 -1
- package/dist/components/charts/core/useSeriesToggle.cjs.map +1 -1
- package/dist/components/charts/core/useSeriesToggle.js +19 -12
- package/dist/components/charts/core/useSeriesToggle.js.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.cjs.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.js +56 -46
- package/dist/components/data-display/Accordion/Accordion.js.map +1 -1
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs +1 -1
- package/dist/components/data-display/Accordion/Accordion.module.css.js +16 -16
- package/dist/components/data-display/List/List.cjs.map +1 -1
- package/dist/components/data-display/List/List.js.map +1 -1
- package/dist/components/data-display/List/List.module.css.cjs +1 -1
- package/dist/components/data-display/List/List.module.css.js +34 -24
- package/dist/components/data-display/List/List.module.css.js.map +1 -1
- package/dist/components/data-display/List/ListingOptions.cjs +1 -1
- package/dist/components/data-display/List/ListingOptions.cjs.map +1 -1
- package/dist/components/data-display/List/ListingOptions.js +98 -74
- package/dist/components/data-display/List/ListingOptions.js.map +1 -1
- package/dist/components/data-display/List/useListing.cjs.map +1 -1
- package/dist/components/data-display/List/useListing.js.map +1 -1
- 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 +1 -1
- package/dist/components/data-display/Table/Table.cjs.map +1 -1
- package/dist/components/data-display/Table/Table.js +86 -85
- package/dist/components/data-display/Table/Table.js.map +1 -1
- package/dist/components/data-display/Table/Table.module.css.cjs +1 -1
- package/dist/components/data-display/Table/Table.module.css.js +50 -51
- package/dist/components/data-display/Table/Table.module.css.js.map +1 -1
- 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/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/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 +1 -1
- package/dist/components/forms/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/components/forms/Checkbox/Checkbox.js +43 -31
- package/dist/components/forms/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.cjs +1 -1
- package/dist/components/forms/Checkbox/Checkbox.module.css.js +1 -1
- 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.map +1 -1
- package/dist/components/forms/ComboBox/ComboBox.js.map +1 -1
- package/dist/components/forms/ComboBox/ComboBox.module.css.cjs +1 -1
- package/dist/components/forms/ComboBox/ComboBox.module.css.js +20 -20
- package/dist/components/forms/Field/Field.cjs +1 -1
- package/dist/components/forms/Field/Field.cjs.map +1 -1
- package/dist/components/forms/Field/Field.js +21 -20
- package/dist/components/forms/Field/Field.js.map +1 -1
- package/dist/components/forms/Field/Field.module.css.cjs +1 -1
- package/dist/components/forms/Field/Field.module.css.js +18 -12
- package/dist/components/forms/Field/Field.module.css.js.map +1 -1
- 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/InputPassword/InputPassword.module.css.cjs +1 -1
- package/dist/components/forms/InputPassword/InputPassword.module.css.js +12 -12
- package/dist/components/forms/InputText/InputText.cjs +1 -1
- package/dist/components/forms/InputText/InputText.cjs.map +1 -1
- package/dist/components/forms/InputText/InputText.js +55 -47
- package/dist/components/forms/InputText/InputText.js.map +1 -1
- package/dist/components/forms/InputText/InputText.module.css.cjs +1 -1
- package/dist/components/forms/InputText/InputText.module.css.js +10 -10
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.cjs +1 -1
- package/dist/components/forms/RadioGroup/RadioGroup.module.css.js +4 -4
- 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.module.css.cjs +1 -1
- package/dist/components/forms/Select/Select.module.css.js +13 -13
- package/dist/components/forms/Switch/Switch.module.css.cjs +1 -1
- package/dist/components/forms/Switch/Switch.module.css.js +2 -2
- package/dist/components/icons/icons.cjs +1 -1
- package/dist/components/icons/icons.cjs.map +1 -1
- package/dist/components/icons/icons.js +198 -40
- package/dist/components/icons/icons.js.map +1 -1
- 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 +1 -1
- package/dist/components/navigation/Tabs/Tabs.cjs.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.js +88 -79
- package/dist/components/navigation/Tabs/Tabs.js.map +1 -1
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs +1 -1
- package/dist/components/navigation/Tabs/Tabs.module.css.js +18 -14
- package/dist/components/navigation/Tabs/Tabs.module.css.js.map +1 -1
- package/dist/components/navigation/TabsNav/TabsNav.cjs +2 -0
- package/dist/components/navigation/TabsNav/TabsNav.cjs.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.js +21 -0
- package/dist/components/navigation/TabsNav/TabsNav.js.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs +2 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.cjs.map +1 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.js +18 -0
- package/dist/components/navigation/TabsNav/TabsNav.module.css.js.map +1 -0
- package/dist/components/overlays/Dialog/Dialog.cjs +1 -1
- package/dist/components/overlays/Dialog/Dialog.cjs.map +1 -1
- package/dist/components/overlays/Dialog/Dialog.js +11 -58
- package/dist/components/overlays/Dialog/Dialog.js.map +1 -1
- 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 +1 -1
- package/dist/components/overlays/Menu/Menu.cjs.map +1 -1
- package/dist/components/overlays/Menu/Menu.js +105 -86
- package/dist/components/overlays/Menu/Menu.js.map +1 -1
- package/dist/components/overlays/Menu/Menu.module.css.cjs +1 -1
- package/dist/components/overlays/Menu/Menu.module.css.js +24 -6
- package/dist/components/overlays/Menu/Menu.module.css.js.map +1 -1
- package/dist/design-system.css +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +190 -118
- package/dist/index.js.map +1 -1
- 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/ChartGauge/ChartGauge.d.ts +83 -0
- package/dist/types/components/charts/ChartGauge/gaugeLayout.d.ts +64 -0
- package/dist/types/components/charts/ChartGauge/gaugeReading.d.ts +97 -0
- package/dist/types/components/charts/ChartGauge/gaugeScale.d.ts +38 -0
- package/dist/types/components/charts/ChartGauge/index.d.ts +2 -0
- package/dist/types/components/charts/ChartLine/ChartLine.d.ts +15 -4
- package/dist/types/components/charts/ChartMap/ChartMap.d.ts +104 -0
- package/dist/types/components/charts/ChartMap/ChartMapLegend.d.ts +44 -0
- package/dist/types/components/charts/ChartMap/ChartMapTable.d.ts +38 -0
- package/dist/types/components/charts/ChartMap/index.d.ts +4 -0
- package/dist/types/components/charts/ChartMap/mapGeometry.d.ts +56 -0
- package/dist/types/components/charts/ChartMap/mapLabels.d.ts +51 -0
- package/dist/types/components/charts/ChartMap/mapScales.d.ts +76 -0
- package/dist/types/components/charts/ChartMap/polylabel.d.ts +9 -0
- 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/ChartTimeline/ChartTimeline.d.ts +137 -0
- package/dist/types/components/charts/ChartTimeline/ChartTimelineTable.d.ts +25 -0
- package/dist/types/components/charts/ChartTimeline/index.d.ts +2 -0
- package/dist/types/components/charts/ChartTimeline/timelineLayout.d.ts +70 -0
- package/dist/types/components/charts/ChartTimeline/timelineTime.d.ts +16 -0
- package/dist/types/components/charts/ChartTimeline/timelineTooltip.d.ts +45 -0
- 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/ChartLegend.d.ts +3 -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/List/List.d.ts +1 -1
- package/dist/types/components/data-display/List/useListing.d.ts +7 -1
- 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/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/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/ComboBox/ComboBox.d.ts +7 -1
- 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 +29 -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/navigation/TabsNav/TabsNav.d.ts +20 -0
- package/dist/types/components/navigation/TabsNav/index.d.ts +2 -0
- package/dist/types/components/overlays/Dialog/Dialog.d.ts +21 -9
- package/dist/types/components/overlays/Dialog/DialogFrame.d.ts +13 -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 +43 -7
- package/dist/types/utils/formatters/formatarDuracao.d.ts +5 -0
- 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 +4 -1
- package/dist/utils/formatters/formatarDuracao.cjs +2 -0
- package/dist/utils/formatters/formatarDuracao.cjs.map +1 -0
- package/dist/utils/formatters/formatarDuracao.js +10 -0
- package/dist/utils/formatters/formatarDuracao.js.map +1 -0
- package/dist/utils/formatters/formatarNumero.cjs +1 -1
- package/dist/utils/formatters/formatarNumero.cjs.map +1 -1
- package/dist/utils/formatters/formatarNumero.js +42 -17
- package/dist/utils/formatters/formatarNumero.js.map +1 -1
- 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/package.json +3 -1
|
@@ -1,114 +1,125 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { hierarchy as
|
|
4
|
-
import
|
|
5
|
-
import { useChartMetrics as
|
|
6
|
-
import { useSeriesToggle as
|
|
7
|
-
import { resolveSeriesColors as
|
|
8
|
-
import { ChartFrame as
|
|
9
|
-
import { CHART_LABEL_OFFSET as
|
|
10
|
-
import { formatarNumero as
|
|
11
|
-
import { truncateToWidth as
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { jsx as s, jsxs as Y } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo as y, useState as Z } from "react";
|
|
3
|
+
import { hierarchy as H, treemap as ee } from "d3-hierarchy";
|
|
4
|
+
import g from "./ChartTreemap.module.css.js";
|
|
5
|
+
import { useChartMetrics as te } from "../core/useChartMetrics.js";
|
|
6
|
+
import { useSeriesToggle as re } from "../core/useSeriesToggle.js";
|
|
7
|
+
import { resolveSeriesColors as ie, INTENT_TOKENS as S, textColorOn as $ } from "../palette/seriesColor.js";
|
|
8
|
+
import { ChartFrame as oe } from "../core/ChartFrame.js";
|
|
9
|
+
import { CHART_LABEL_OFFSET as l } from "../core/spacing.js";
|
|
10
|
+
import { formatarNumero as ne } from "../../../utils/formatters/formatarNumero.js";
|
|
11
|
+
import { truncateToWidth as N } from "../core/measureText.js";
|
|
12
|
+
import { pathTooltip as le } from "../core/tooltips.js";
|
|
13
|
+
import { hoverPath as j } from "../core/hoverPath.js";
|
|
14
|
+
import { chartHeight as ae } from "../core/cartesianLayout.js";
|
|
15
|
+
function I(c) {
|
|
16
|
+
return Number.isFinite(c.value) ? Math.max(c.value ?? 0, 0) : 0;
|
|
15
17
|
}
|
|
16
|
-
function
|
|
17
|
-
accent:
|
|
18
|
-
defaultHiddenGroups:
|
|
19
|
-
emptyMessage:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
18
|
+
function Te({
|
|
19
|
+
accent: c,
|
|
20
|
+
defaultHiddenGroups: R,
|
|
21
|
+
emptyMessage: _ = "Sem dados no período",
|
|
22
|
+
formatTooltipValue: A,
|
|
23
|
+
formatValue: h = ne,
|
|
24
|
+
gap: T = 5,
|
|
25
|
+
height: L = 280,
|
|
26
|
+
hiddenGroups: P,
|
|
27
|
+
intentLabels: b,
|
|
28
|
+
legend: w = "bottom",
|
|
29
|
+
legendAlign: z,
|
|
27
30
|
nodes: i,
|
|
28
|
-
onHiddenGroupsChange:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
onHiddenGroupsChange: B,
|
|
32
|
+
onHoverNode: m,
|
|
33
|
+
showDataLabels: G = !0,
|
|
34
|
+
showTooltip: C = !0,
|
|
35
|
+
title: K
|
|
31
36
|
}) {
|
|
32
|
-
const { font: a, height:
|
|
33
|
-
defaultHiddenSeries:
|
|
34
|
-
hiddenSeries:
|
|
35
|
-
onHiddenSeriesChange:
|
|
36
|
-
}),
|
|
37
|
-
() => !((
|
|
37
|
+
const { font: a, height: W, ref: k, width: u } = te(), { fillHeight: q, value: d } = ae(L, W), { isHidden: x, toggle: J } = re({
|
|
38
|
+
defaultHiddenSeries: R,
|
|
39
|
+
hiddenSeries: P,
|
|
40
|
+
onHiddenSeriesChange: B
|
|
41
|
+
}), E = y(() => ie(i, { accent: c }), [c, i]), Q = y(
|
|
42
|
+
() => !((H({ children: i, label: "" }).sum(I).value ?? 0) > 0),
|
|
38
43
|
[i]
|
|
39
|
-
),
|
|
40
|
-
const e = i.filter((
|
|
41
|
-
if (
|
|
44
|
+
), F = y(() => {
|
|
45
|
+
const e = i.filter((r) => !x(r.label));
|
|
46
|
+
if (u === 0 || d === 0 || e.length === 0)
|
|
42
47
|
return [];
|
|
43
|
-
const
|
|
44
|
-
return
|
|
45
|
-
}, [d,
|
|
46
|
-
function
|
|
47
|
-
|
|
48
|
-
const r = e.data;
|
|
49
|
-
if (r.color)
|
|
50
|
-
return r.color;
|
|
51
|
-
if (r.intent)
|
|
52
|
-
return x[r.intent];
|
|
53
|
-
const o = (t = e.ancestors().find((l) => l.depth === 1)) == null ? void 0 : t.data;
|
|
54
|
-
return f[i.findIndex((l) => l.label === (o == null ? void 0 : o.label))] ?? x.neutral;
|
|
48
|
+
const t = H({ children: e, label: "" }).sum(I).sort((r, n) => (n.value ?? 0) - (r.value ?? 0));
|
|
49
|
+
return ee().size([u, d]).paddingInner(T).round(!0)(t).leaves();
|
|
50
|
+
}, [d, T, x, i, u]), [v, U] = Z(null), p = v && F.includes(v) ? v : null;
|
|
51
|
+
function M(e) {
|
|
52
|
+
U(e), m == null || m(e && j(e));
|
|
55
53
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
function O(e) {
|
|
55
|
+
var r;
|
|
56
|
+
const t = e.data;
|
|
57
|
+
if (t.color)
|
|
58
|
+
return t.color;
|
|
59
|
+
if (t.intent)
|
|
60
|
+
return S[t.intent];
|
|
61
|
+
const o = (r = e.ancestors().find((n) => n.depth === 1)) == null ? void 0 : r.data;
|
|
62
|
+
return E[i.findIndex((n) => n.label === (o == null ? void 0 : o.label))] ?? S.neutral;
|
|
63
|
+
}
|
|
64
|
+
const V = b ? Object.entries(b).map(([e, t]) => ({
|
|
65
|
+
color: S[e],
|
|
66
|
+
label: t
|
|
67
|
+
})) : i.map((e, t) => ({
|
|
68
|
+
color: E[t],
|
|
69
|
+
hidden: x(e.label),
|
|
62
70
|
label: e.label
|
|
63
71
|
}));
|
|
64
|
-
return /* @__PURE__ */
|
|
65
|
-
|
|
72
|
+
return /* @__PURE__ */ s(
|
|
73
|
+
oe,
|
|
66
74
|
{
|
|
67
|
-
containerRef:
|
|
68
|
-
empty: i.length === 0 ||
|
|
69
|
-
emptyMessage:
|
|
70
|
-
fillHeight:
|
|
75
|
+
containerRef: k,
|
|
76
|
+
empty: i.length === 0 || Q,
|
|
77
|
+
emptyMessage: _,
|
|
78
|
+
fillHeight: q,
|
|
71
79
|
height: d,
|
|
72
|
-
legend:
|
|
73
|
-
legendAlign:
|
|
74
|
-
legendPosition:
|
|
75
|
-
onToggleSeries:
|
|
76
|
-
title:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
legend: V,
|
|
81
|
+
legendAlign: z,
|
|
82
|
+
legendPosition: w,
|
|
83
|
+
onToggleSeries: b ? void 0 : J,
|
|
84
|
+
title: K,
|
|
85
|
+
tooltip: C ? le({ color: p ? O(p) : void 0, format: A ?? h, path: p && j(p) }) : void 0,
|
|
86
|
+
width: u,
|
|
87
|
+
children: F.map((e) => {
|
|
88
|
+
const t = e.x1 - e.x0, o = e.y1 - e.y0, r = t - l * 2, n = G && r > 0 && o >= a.lineHeight + l, X = n && o >= a.lineHeight * 2 + l, D = `${e.data.label}: ${h(e.value ?? 0)}`, f = O(e);
|
|
89
|
+
return /* @__PURE__ */ Y("g", { className: g.cell, children: [
|
|
90
|
+
/* @__PURE__ */ s(
|
|
82
91
|
"rect",
|
|
83
92
|
{
|
|
84
|
-
"aria-label":
|
|
85
|
-
className:
|
|
86
|
-
fill:
|
|
93
|
+
"aria-label": D,
|
|
94
|
+
className: g.tile,
|
|
95
|
+
fill: f,
|
|
87
96
|
height: o,
|
|
88
|
-
width:
|
|
97
|
+
width: t,
|
|
98
|
+
onMouseEnter: () => M(e),
|
|
99
|
+
onMouseLeave: () => M(null),
|
|
89
100
|
x: e.x0,
|
|
90
101
|
y: e.y0,
|
|
91
|
-
children: /* @__PURE__ */
|
|
102
|
+
children: !C && !m && /* @__PURE__ */ s("title", { children: D })
|
|
92
103
|
}
|
|
93
104
|
),
|
|
94
|
-
|
|
105
|
+
n && /* @__PURE__ */ s(
|
|
95
106
|
"text",
|
|
96
107
|
{
|
|
97
|
-
className:
|
|
98
|
-
fill:
|
|
99
|
-
x: e.x0 +
|
|
100
|
-
y: e.y0 +
|
|
101
|
-
children:
|
|
108
|
+
className: g.label,
|
|
109
|
+
fill: $(f),
|
|
110
|
+
x: e.x0 + l,
|
|
111
|
+
y: e.y0 + l + a.lineHeight * 0.6,
|
|
112
|
+
children: N(e.data.label, a, r)
|
|
102
113
|
}
|
|
103
114
|
),
|
|
104
|
-
|
|
115
|
+
X && /* @__PURE__ */ s(
|
|
105
116
|
"text",
|
|
106
117
|
{
|
|
107
|
-
className:
|
|
108
|
-
fill:
|
|
109
|
-
x: e.x0 +
|
|
110
|
-
y: e.y0 +
|
|
111
|
-
children:
|
|
118
|
+
className: g.value,
|
|
119
|
+
fill: $(f),
|
|
120
|
+
x: e.x0 + l,
|
|
121
|
+
y: e.y0 + l + a.lineHeight * 1.6,
|
|
122
|
+
children: N(h(e.value ?? 0), a, r)
|
|
112
123
|
}
|
|
113
124
|
)
|
|
114
125
|
] }, `${e.data.label}-${e.x0}-${e.y0}`);
|
|
@@ -117,6 +128,6 @@ function me({
|
|
|
117
128
|
);
|
|
118
129
|
}
|
|
119
130
|
export {
|
|
120
|
-
|
|
131
|
+
Te as ChartTreemap
|
|
121
132
|
};
|
|
122
133
|
//# sourceMappingURL=ChartTreemap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartTreemap.js","sources":["../../../../src/components/charts/ChartTreemap/ChartTreemap.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport { hierarchy, treemap } from 'd3-hierarchy';\nimport {\n CHART_LABEL_OFFSET,\n ChartFrame,\n chartHeight,\n truncateToWidth,\n useChartMetrics,\n useSeriesToggle,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n} from '../core';\nimport {\n INTENT_TOKENS,\n resolveSeriesColors,\n textColorOn,\n type SeriesAppearance,\n type SeriesIntent,\n} from '../palette';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartTreemap.module.css';\n\nexport interface ChartTreemapNode extends SeriesAppearance {\n children?: readonly ChartTreemapNode[];\n label: string;\n value?: number;\n}\n\nexport interface ChartTreemapProps {\n accent?: string;\n defaultHiddenGroups?: readonly string[];\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n /** Folga entre dois retangulos vizinhos. */\n gap?: number;\n height?: ChartHeight;\n hiddenGroups?: readonly string[];\n /**\n * Nome de cada intencao na legenda. Informado, a legenda deixa de listar os\n * grupos e passa a nomear as cores: e o caso do mapa colorido por status,\n * onde o que a legenda explica e o significado da cor, nao a categoria.\n */\n intentLabels?: Partial<Record<SeriesIntent, string>>;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n nodes: readonly ChartTreemapNode[];\n onHiddenGroupsChange?: (hidden: readonly string[]) => void;\n showDataLabels?: boolean;\n title: string;\n}\n\n\n/** Area que o no ocupa. Invalido ou negativo nao ocupa nada. */\nfunction ocupacao(no: ChartTreemapNode) {\n return Number.isFinite(no.value) ? Math.max(no.value ?? 0, 0) : 0;\n}\n\nexport function ChartTreemap({\n accent,\n defaultHiddenGroups,\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n gap = 5,\n height = 280,\n hiddenGroups,\n intentLabels,\n legend = 'bottom',\n legendAlign,\n nodes,\n onHiddenGroupsChange,\n showDataLabels = true,\n title,\n}: ChartTreemapProps) {\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({\n defaultHiddenSeries: defaultHiddenGroups,\n hiddenSeries: hiddenGroups,\n onHiddenSeriesChange: onHiddenGroupsChange,\n });\n\n // A cor sai da lista inteira, e nao das visiveis: desligar um grupo nao pode\n // repintar os demais.\n const coresDeGrupo = useMemo(() => resolveSeriesColors(nodes, { accent }), [accent, nodes]);\n\n // Sem valor positivo nao ha area a repartir: anuncia vazio. Desligar todos os grupos, nao: a legenda e a volta.\n const semValor = useMemo(\n () => !((hierarchy<ChartTreemapNode>({ children: nodes, label: '' }).sum(ocupacao).value ?? 0) > 0),\n [nodes],\n );\n\n const retangulos = useMemo(() => {\n const visiveis = nodes.filter((grupo) => !isHidden(grupo.label));\n\n if (width === 0 || alturaDoDesenho === 0 || visiveis.length === 0) {\n return [];\n }\n\n const arvore = hierarchy<ChartTreemapNode>({ children: visiveis, label: '' })\n .sum(ocupacao)\n .sort((a, b) => (b.value ?? 0) - (a.value ?? 0));\n\n const posicionar = treemap<ChartTreemapNode>()\n .size([width, alturaDoDesenho])\n .paddingInner(gap)\n .round(true);\n\n return posicionar(arvore).leaves();\n }, [alturaDoDesenho, gap, isHidden, nodes, width]);\n\n /** A folha herda a cor do grupo, e a intencao propria vence a herdada. */\n function corDa(folha: (typeof retangulos)[number]) {\n const proprio = folha.data;\n\n if (proprio.color) {\n return proprio.color;\n }\n\n if (proprio.intent) {\n return INTENT_TOKENS[proprio.intent];\n }\n\n const grupo = folha.ancestors().find((ancestral) => ancestral.depth === 1)?.data;\n\n return coresDeGrupo[nodes.findIndex((no) => no.label === grupo?.label)] ?? INTENT_TOKENS.neutral;\n }\n\n const entradasDaLegenda = intentLabels\n ? (Object.entries(intentLabels) as [SeriesIntent, string][]).map(([intencao, rotulo]) => ({\n color: INTENT_TOKENS[intencao],\n label: rotulo,\n }))\n : nodes.map((grupo, indice) => ({\n color: coresDeGrupo[indice],\n hidden: isHidden(grupo.label),\n label: grupo.label,\n }));\n\n return (\n <ChartFrame\n containerRef={ref}\n empty={nodes.length === 0 || semValor}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={entradasDaLegenda}\n legendAlign={legendAlign}\n legendPosition={legend}\n onToggleSeries={intentLabels ? undefined : toggle}\n title={title}\n width={width}\n >\n {retangulos.map((folha) => {\n const largura = folha.x1 - folha.x0;\n const altura = folha.y1 - folha.y0;\n const disponivel = largura - CHART_LABEL_OFFSET * 2;\n const cabeORotulo = showDataLabels && disponivel > 0 && altura >= font.lineHeight + CHART_LABEL_OFFSET;\n const cabeOValor = cabeORotulo && altura >= font.lineHeight * 2 + CHART_LABEL_OFFSET;\n const descricao = `${folha.data.label}: ${formatValue(folha.value ?? 0)}`;\n const cor = corDa(folha);\n\n return (\n <g className={styles.cell} key={`${folha.data.label}-${folha.x0}-${folha.y0}`}>\n <rect\n aria-label={descricao}\n className={styles.tile}\n fill={cor}\n height={altura}\n width={largura}\n x={folha.x0}\n y={folha.y0}\n >\n <title>{descricao}</title>\n </rect>\n\n {cabeORotulo && (\n <text\n className={styles.label}\n fill={textColorOn(cor)}\n x={folha.x0 + CHART_LABEL_OFFSET}\n y={folha.y0 + CHART_LABEL_OFFSET + font.lineHeight * 0.6}\n >\n {truncateToWidth(folha.data.label, font, disponivel)}\n </text>\n )}\n\n {cabeOValor && (\n <text\n className={styles.value}\n fill={textColorOn(cor)}\n x={folha.x0 + CHART_LABEL_OFFSET}\n y={folha.y0 + CHART_LABEL_OFFSET + font.lineHeight * 1.6}\n >\n {truncateToWidth(formatValue(folha.value ?? 0), font, disponivel)}\n </text>\n )}\n </g>\n );\n })}\n </ChartFrame>\n );\n}\n"],"names":["ocupacao","no","ChartTreemap","accent","defaultHiddenGroups","emptyMessage","formatValue","formatarNumero","gap","height","hiddenGroups","intentLabels","legend","legendAlign","nodes","onHiddenGroupsChange","showDataLabels","title","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","coresDeGrupo","useMemo","resolveSeriesColors","semValor","hierarchy","retangulos","visiveis","grupo","arvore","a","b","treemap","corDa","folha","proprio","INTENT_TOKENS","_a","ancestral","entradasDaLegenda","intencao","rotulo","indice","jsx","ChartFrame","largura","altura","disponivel","CHART_LABEL_OFFSET","cabeORotulo","cabeOValor","descricao","cor","jsxs","styles","textColorOn","truncateToWidth"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChartTreemap.js","sources":["../../../../src/components/charts/ChartTreemap/ChartTreemap.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { hierarchy, treemap } from 'd3-hierarchy';\nimport {\n CHART_LABEL_OFFSET,\n ChartFrame,\n chartHeight,\n hoverPath,\n pathTooltip,\n truncateToWidth,\n useChartMetrics,\n useSeriesToggle,\n type ChartHeight,\n type ChartHoveredNode,\n type ChartLegendAlign,\n type ChartLegendPosition,\n} from '../core';\nimport {\n INTENT_TOKENS,\n resolveSeriesColors,\n textColorOn,\n type SeriesAppearance,\n type SeriesIntent,\n} from '../palette';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartTreemap.module.css';\n\nexport interface ChartTreemapNode extends SeriesAppearance {\n children?: readonly ChartTreemapNode[];\n label: string;\n value?: number;\n}\n\nexport interface ChartTreemapProps {\n accent?: string;\n defaultHiddenGroups?: readonly string[];\n emptyMessage?: string;\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n /** Folga entre dois retangulos vizinhos. */\n gap?: number;\n height?: ChartHeight;\n hiddenGroups?: readonly string[];\n /**\n * Nome de cada intencao na legenda. Informado, a legenda deixa de listar os\n * grupos e passa a nomear as cores: e o caso do mapa colorido por status,\n * onde o que a legenda explica e o significado da cor, nao a categoria.\n */\n intentLabels?: Partial<Record<SeriesIntent, string>>;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n nodes: readonly ChartTreemapNode[];\n onHiddenGroupsChange?: (hidden: readonly string[]) => void;\n /** Caminho ate o no sob o ponteiro, do grupo ao no, cada nivel com o valor somado, ou `null` ao sair. */\n onHoverNode?: (path: readonly ChartHoveredNode[] | null) => void;\n showDataLabels?: boolean;\n /**\n * Balao com o caminho ate o no sob o ponteiro. Desligue para montar o proprio `ChartTooltip`\n * pela costura; sem balao nem costura, o no volta a ter o `<title>`.\n */\n showTooltip?: boolean;\n title: string;\n}\n\n\n/** Area que o no ocupa. Invalido ou negativo nao ocupa nada. */\nfunction ocupacao(no: ChartTreemapNode) {\n return Number.isFinite(no.value) ? Math.max(no.value ?? 0, 0) : 0;\n}\n\nexport function ChartTreemap({\n accent,\n defaultHiddenGroups,\n emptyMessage = 'Sem dados no período',\n formatTooltipValue,\n formatValue = formatarNumero,\n gap = 5,\n height = 280,\n hiddenGroups,\n intentLabels,\n legend = 'bottom',\n legendAlign,\n nodes,\n onHiddenGroupsChange,\n onHoverNode,\n showDataLabels = true,\n showTooltip = true,\n title,\n}: ChartTreemapProps) {\n const { font, height: alturaMedida, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({\n defaultHiddenSeries: defaultHiddenGroups,\n hiddenSeries: hiddenGroups,\n onHiddenSeriesChange: onHiddenGroupsChange,\n });\n\n // A cor sai da lista inteira, e nao das visiveis: desligar um grupo nao pode\n // repintar os demais.\n const coresDeGrupo = useMemo(() => resolveSeriesColors(nodes, { accent }), [accent, nodes]);\n\n // Sem valor positivo nao ha area a repartir: anuncia vazio. Desligar todos os grupos, nao: a legenda e a volta.\n const semValor = useMemo(\n () => !((hierarchy<ChartTreemapNode>({ children: nodes, label: '' }).sum(ocupacao).value ?? 0) > 0),\n [nodes],\n );\n\n const retangulos = useMemo(() => {\n const visiveis = nodes.filter((grupo) => !isHidden(grupo.label));\n\n if (width === 0 || alturaDoDesenho === 0 || visiveis.length === 0) {\n return [];\n }\n\n const arvore = hierarchy<ChartTreemapNode>({ children: visiveis, label: '' })\n .sum(ocupacao)\n .sort((a, b) => (b.value ?? 0) - (a.value ?? 0));\n\n const posicionar = treemap<ChartTreemapNode>()\n .size([width, alturaDoDesenho])\n .paddingInner(gap)\n .round(true);\n\n return posicionar(arvore).leaves();\n }, [alturaDoDesenho, gap, isHidden, nodes, width]);\n\n const [emFoco, setEmFoco] = useState<(typeof retangulos)[number] | null>(null);\n // A folha guardada deixa de existir quando o mapa e remontado; sem conferir, o balao falaria de um no que saiu.\n const foco = emFoco && retangulos.includes(emFoco) ? emFoco : null;\n\n function focar(folha: (typeof retangulos)[number] | null) {\n setEmFoco(folha);\n onHoverNode?.(folha && hoverPath(folha));\n }\n\n /** A folha herda a cor do grupo, e a intencao propria vence a herdada. */\n function corDa(folha: (typeof retangulos)[number]) {\n const proprio = folha.data;\n\n if (proprio.color) {\n return proprio.color;\n }\n\n if (proprio.intent) {\n return INTENT_TOKENS[proprio.intent];\n }\n\n const grupo = folha.ancestors().find((ancestral) => ancestral.depth === 1)?.data;\n\n return coresDeGrupo[nodes.findIndex((no) => no.label === grupo?.label)] ?? INTENT_TOKENS.neutral;\n }\n\n const entradasDaLegenda = intentLabels\n ? (Object.entries(intentLabels) as [SeriesIntent, string][]).map(([intencao, rotulo]) => ({\n color: INTENT_TOKENS[intencao],\n label: rotulo,\n }))\n : nodes.map((grupo, indice) => ({\n color: coresDeGrupo[indice],\n hidden: isHidden(grupo.label),\n label: grupo.label,\n }));\n\n return (\n <ChartFrame\n containerRef={ref}\n empty={nodes.length === 0 || semValor}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legend={entradasDaLegenda}\n legendAlign={legendAlign}\n legendPosition={legend}\n onToggleSeries={intentLabels ? undefined : toggle}\n title={title}\n tooltip={\n showTooltip\n ? pathTooltip({ color: foco ? corDa(foco) : undefined, format: formatTooltipValue ?? formatValue, path: foco && hoverPath(foco) })\n : undefined\n }\n width={width}\n >\n {retangulos.map((folha) => {\n const largura = folha.x1 - folha.x0;\n const altura = folha.y1 - folha.y0;\n const disponivel = largura - CHART_LABEL_OFFSET * 2;\n const cabeORotulo = showDataLabels && disponivel > 0 && altura >= font.lineHeight + CHART_LABEL_OFFSET;\n const cabeOValor = cabeORotulo && altura >= font.lineHeight * 2 + CHART_LABEL_OFFSET;\n const descricao = `${folha.data.label}: ${formatValue(folha.value ?? 0)}`;\n const cor = corDa(folha);\n\n return (\n <g className={styles.cell} key={`${folha.data.label}-${folha.x0}-${folha.y0}`}>\n <rect\n aria-label={descricao}\n className={styles.tile}\n fill={cor}\n height={altura}\n width={largura}\n onMouseEnter={() => focar(folha)}\n onMouseLeave={() => focar(null)}\n x={folha.x0}\n y={folha.y0}\n >\n {!showTooltip && !onHoverNode && <title>{descricao}</title>}\n </rect>\n\n {cabeORotulo && (\n <text\n className={styles.label}\n fill={textColorOn(cor)}\n x={folha.x0 + CHART_LABEL_OFFSET}\n y={folha.y0 + CHART_LABEL_OFFSET + font.lineHeight * 0.6}\n >\n {truncateToWidth(folha.data.label, font, disponivel)}\n </text>\n )}\n\n {cabeOValor && (\n <text\n className={styles.value}\n fill={textColorOn(cor)}\n x={folha.x0 + CHART_LABEL_OFFSET}\n y={folha.y0 + CHART_LABEL_OFFSET + font.lineHeight * 1.6}\n >\n {truncateToWidth(formatValue(folha.value ?? 0), font, disponivel)}\n </text>\n )}\n </g>\n );\n })}\n </ChartFrame>\n );\n}\n"],"names":["ocupacao","no","ChartTreemap","accent","defaultHiddenGroups","emptyMessage","formatTooltipValue","formatValue","formatarNumero","gap","height","hiddenGroups","intentLabels","legend","legendAlign","nodes","onHiddenGroupsChange","onHoverNode","showDataLabels","showTooltip","title","font","alturaMedida","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","coresDeGrupo","useMemo","resolveSeriesColors","semValor","hierarchy","retangulos","visiveis","grupo","arvore","a","b","treemap","emFoco","setEmFoco","useState","foco","focar","folha","hoverPath","corDa","proprio","INTENT_TOKENS","_a","ancestral","entradasDaLegenda","intencao","rotulo","indice","jsx","ChartFrame","pathTooltip","largura","altura","disponivel","CHART_LABEL_OFFSET","cabeORotulo","cabeOValor","descricao","cor","jsxs","styles","textColorOn","truncateToWidth"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("react/jsx-runtime"),f=require("react"),x=require("./ChartWaterfall.module.css.cjs"),V=require("../core/useChartMetrics.cjs"),ee=require("../core/useHoveredBand.cjs"),te=require("../palette/seriesColor.cjs"),b=require("../scales/scales.cjs"),w=require("../core/cartesianLayout.cjs"),oe=require("../core/useCartesianLayout.cjs"),ae=require("../core/spacing.cjs"),ne=require("../core/useTweenedNumbers.cjs"),re=require("../../../utils/formatters/formatarNumero.cjs"),ie=require("../core/CartesianFrame.cjs"),le=require("../core/BandCursor.cjs"),se=require("../core/shapes.cjs");function ue(n){let s=0;return n.map(r=>{if(!Number.isFinite(r.value))return null;const v=r.total?0:s,g=v+r.value;return s=g,{inicio:v,fim:g}})}function ce(n){return n.intent?n.intent:n.total?"neutral":n.value<0?"negative":"positive"}function z(n,s){return n===0?s(0):`${n<0?"-":"+"}${s(Math.abs(n))}`}function me({emptyMessage:n="Sem dados no período",formatTooltipValue:s,formatValue:r=re.formatarNumero,height:v=280,labelAngle:g="auto",onHoverStep:E,showDataLabels:q="visible",showTooltip:O=!0,steps:a,title:_,xAxis:j="visible",yAxis:D="visible",yAxisRight:N="hidden"}){var W;const{font:p,height:G,radius:M,ref:I,width:B}=V.useChartMetrics(),{fillHeight:J,value:C}=w.chartHeight(v,G),{hover:F,hovered:c}=ee.useHoveredBand(E),u=f.useMemo(()=>ue(a),[a]),y=f.useMemo(()=>te.resolveSeriesColors(a.map(e=>({color:e.color,intent:ce(e)}))),[a]),L=f.useMemo(()=>b.domainOf(u.flatMap(e=>e?[e.inicio,e.fim]:[])),[u]),P=w.valueLabelsFor(L,C,r),{axisReveal:K,margins:Q,plot:l,rotation:U}=oe.useCartesianLayout({bottomLabels:a.map(e=>e.label),font:p,height:C,labelAngle:g,leftLabels:P,rightLabels:P,topRoom:q==="hidden"?0:ae.valueLabelRoom(p),width:B,xAxis:j,yAxis:D,yAxisRight:N}),m=f.useMemo(()=>b.bandScale({domain:a.map((e,t)=>String(t)),range:[0,l.width]}),[l.width,a]),h=e=>m(String(e))??0,R=f.useMemo(()=>b.linearScale({domain:L,range:[l.height,0]}),[L,l.height]),[$,k]=ne.useTweenedNumbers(R.domain()),i=f.useMemo(()=>b.linearScale({domain:{min:$,max:k},nice:!1,range:[l.height,0]}),[k,$,l.height]),H=b.ticksFor(R,l.height),X=a.map((e,t)=>({label:e.label,position:h(t)+m.bandwidth()/2})),A=H.map(e=>({label:r(e),position:i(e)}));function T(e){return e.total?r(e.value):z(e.value,r)}function Y(e){if(e===null||!u[e])return[];const t=a[e];return t.total?[{color:y[e],label:"Total",values:[t.value]}]:[{color:y[e],format:o=>z(o,s??r),label:"Variação",values:[t.value]},{label:"Acumulado",values:[u[e].fim]}]}return d.jsxs(ie.CartesianFrame,{axisReveal:K,containerRef:I,empty:a.length===0,emptyMessage:n,grid:[{baseline:i(0),lines:H.map(e=>i(e)),orientation:"horizontal"}],fillHeight:J,height:C,legendPosition:"none",margins:Q,plot:l,title:_,tooltip:O?{columns:[{format:s??r}],computed:"none",rows:Y(c),title:c===null||(W=a[c])==null?void 0:W.label}:void 0,width:B,xAxis:{labelRotation:U,ticks:X,visibility:j},yAxis:{hideLine:!0,ticks:A,visibility:D},yAxisRight:{hideLine:!0,ticks:A,visibility:N},children:[c!==null&&d.jsx(le.BandCursor,{offset:h(c),plot:l,size:m.bandwidth()}),d.jsx("g",{"aria-hidden":"true",children:u.slice(0,-1).map((e,t)=>{if(!e||!u[t+1])return null;const o=i(e.fim);return d.jsx("line",{className:x.default.connector,x1:h(t)+m.bandwidth(),x2:h(t+1),y1:o,y2:o},t)})}),a.map((e,t)=>{const o=u[t];if(!o)return null;const S=Math.min(i(o.inicio),i(o.fim)),Z=Math.abs(i(o.fim)-i(o.inicio));return d.jsx("path",{"aria-label":`${e.label}: ${T(e)}`,className:x.default.bar,d:se.roundedBarPath(h(t),S,m.bandwidth(),Z,[M,M,M,M]),fill:y[t],onMouseEnter:()=>F(t),onMouseLeave:()=>F(null)},t)}),q!=="hidden"&&a.map((e,t)=>{const o=u[t];if(!o)return null;const S=Math.min(i(o.inicio),i(o.fim));return d.jsx("text",{className:`${x.default.valueLabel} ${w.markShown(q,t===c)?"":x.default.valueLabelHidden}`,textAnchor:"middle",x:h(t)+m.bandwidth()/2,y:S-6,children:T(e)},t)})]})}exports.ChartWaterfall=me;
|
|
2
2
|
//# sourceMappingURL=ChartWaterfall.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartWaterfall.cjs","sources":["../../../../src/components/charts/ChartWaterfall/ChartWaterfall.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n cartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n} from '../core';\nimport { resolveSeriesColors, type SeriesIntent } from '../palette';\nimport { bandScale, domainOf, linearScale, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartWaterfall.module.css';\n\nexport interface ChartWaterfallStep {\n color?: string;\n intent?: SeriesIntent;\n label: string;\n total?: boolean;\n value: number;\n}\n\nexport interface ChartWaterfallProps {\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n labelAngle?: AxisLabelAngle;\n /** Indice do passo sob o ponteiro, ou `null` ao sair dele. */\n onHoverStep?: (index: number | null) => void;\n showDataLabels?: boolean;\n steps: readonly ChartWaterfallStep[];\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\ninterface Trecho {\n fim: number;\n inicio: number;\n}\n\n/**\n * Cada passo ocupa a faixa entre o acumulado anterior e o novo acumulado; o total parte do zero, porque\n * fecha a conta. Passo invalido e ausente: nao se desenha nem move o acumulado.\n */\nfunction trechosDe(steps: readonly ChartWaterfallStep[]): (Trecho | null)[] {\n let acumulado = 0;\n\n return steps.map((passo) => {\n if (!Number.isFinite(passo.value)) {\n return null;\n }\n\n const inicio = passo.total ? 0 : acumulado;\n const fim = inicio + passo.value;\n acumulado = fim;\n\n return { inicio, fim };\n });\n}\n\n/** Passo sem intencao declarada recebe a do seu sinal. Total e fechamento, nao aporte. */\nfunction intencaoDe(step: ChartWaterfallStep): SeriesIntent {\n if (step.intent) {\n return step.intent;\n }\n\n if (step.total) {\n return 'neutral';\n }\n\n return step.value < 0 ? 'negative' : 'positive';\n}\n\n/**\n * O sinal e do grafico, nao do formatador: ele formata a magnitude. Delegar o\n * sinal perderia a variacao com qualquer formatador que exiba apenas o valor.\n */\nfunction comSinal(value: number, formatValue: (value: number) => string) {\n if (value === 0) {\n return formatValue(0);\n }\n\n return `${value < 0 ? '-' : '+'}${formatValue(Math.abs(value))}`;\n}\n\nexport function ChartWaterfall({\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n height = 280,\n labelAngle = 'auto',\n onHoverStep,\n showDataLabels = true,\n steps,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartWaterfallProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { hover: focarPasso, hovered: passoEmFoco } = useHoveredBand(onHoverStep);\n\n const trechos = useMemo(() => trechosDe(steps), [steps]);\n\n const cores = useMemo(\n () => resolveSeriesColors(steps.map((passo) => ({ color: passo.color, intent: intencaoDe(passo) }))),\n [steps],\n );\n\n const dominio = useMemo(\n () => domainOf(trechos.flatMap((trecho) => (trecho ? [trecho.inicio, trecho.fim] : []))),\n [trechos],\n );\n\n const rotulosDeValor = valueLabelsFor(dominio, alturaDoDesenho, formatValue);\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: steps.map((passo) => passo.label),\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: rotulosDeValor,\n rightLabels: rotulosDeValor,\n topRoom: showDataLabels ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n // A faixa e indexada pela posicao, nao pelo rotulo: numa sequencia de passos o\n // mesmo rotulo pode repetir, e a escala categorica funde dominios iguais.\n const escalaPassos = useMemo(\n () => bandScale({ domain: steps.map((_, indice) => String(indice)), range: [0, plot.width] }),\n [plot.width, steps],\n );\n\n const faixaDe = (indice: number) => escalaPassos(String(indice)) ?? 0;\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [plot.height, 0] }),\n [dominio, plot.height],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () => linearScale({ domain: { min: minimo, max: maximo }, nice: false, range: [plot.height, 0] }),\n [maximo, minimo, plot.height],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, plot.height);\n\n const marcasPassos: AxisTick[] = steps.map((passo, indice) => ({\n label: passo.label,\n position: faixaDe(indice) + escalaPassos.bandwidth() / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n function rotuloDe(passo: ChartWaterfallStep) {\n return passo.total ? formatValue(passo.value) : comSinal(passo.value, formatValue);\n }\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={steps.length === 0}\n emptyMessage={emptyMessage}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: 'horizontal',\n },\n ]}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legendPosition=\"none\"\n margins={margins}\n plot={plot}\n title={title}\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasPassos, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: marcasValor, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: marcasValor, visibility: yAxisRight }}\n >\n {passoEmFoco !== null && (\n <BandCursor offset={faixaDe(passoEmFoco)} plot={plot} size={escalaPassos.bandwidth()} />\n )}\n\n <g aria-hidden=\"true\">\n {trechos.slice(0, -1).map((trecho, indice) => {\n if (!trecho || !trechos[indice + 1]) {\n return null;\n }\n\n const nivel = escalaValores(trecho.fim);\n\n return (\n <line\n className={styles.connector}\n key={indice}\n x1={faixaDe(indice) + escalaPassos.bandwidth()}\n x2={faixaDe(indice + 1)}\n y1={nivel}\n y2={nivel}\n />\n );\n })}\n </g>\n\n {steps.map((passo, indice) => {\n const trecho = trechos[indice];\n\n if (!trecho) {\n return null;\n }\n\n const topo = Math.min(escalaValores(trecho.inicio), escalaValores(trecho.fim));\n const altura = Math.abs(escalaValores(trecho.fim) - escalaValores(trecho.inicio));\n\n return (\n <path\n aria-label={`${passo.label}: ${rotuloDe(passo)}`}\n className={styles.bar}\n d={roundedBarPath(faixaDe(indice), topo, escalaPassos.bandwidth(), altura, [\n raioDoCanto,\n raioDoCanto,\n raioDoCanto,\n raioDoCanto,\n ])}\n fill={cores[indice]}\n key={indice}\n onMouseEnter={() => focarPasso(indice)}\n onMouseLeave={() => focarPasso(null)}\n />\n );\n })}\n\n {showDataLabels &&\n steps.map((passo, indice) => {\n const trecho = trechos[indice];\n\n if (!trecho) {\n return null;\n }\n\n const topo = Math.min(escalaValores(trecho.inicio), escalaValores(trecho.fim));\n\n return (\n <text\n className={styles.valueLabel}\n key={indice}\n textAnchor=\"middle\"\n x={faixaDe(indice) + escalaPassos.bandwidth() / 2}\n y={topo - 6}\n >\n {rotuloDe(passo)}\n </text>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["trechosDe","steps","acumulado","passo","inicio","fim","intencaoDe","step","comSinal","value","formatValue","ChartWaterfall","emptyMessage","formatarNumero","height","labelAngle","onHoverStep","showDataLabels","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","focarPasso","passoEmFoco","useHoveredBand","trechos","useMemo","cores","resolveSeriesColors","dominio","domainOf","trecho","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","escalaPassos","bandScale","_","indice","faixaDe","escalaAlvo","linearScale","minimo","maximo","useTweenedNumbers","escalaValores","marcasDeValor","ticksFor","marcasPassos","marcasValor","valor","rotuloDe","jsxs","CartesianFrame","jsx","BandCursor","nivel","styles","topo","altura","roundedBarPath"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChartWaterfall.cjs","sources":["../../../../src/components/charts/ChartWaterfall/ChartWaterfall.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n markShown,\n CartesianFrame,\n useCartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type MarkVisibility,\n type ChartHeight,\n} from '../core';\nimport { resolveSeriesColors, type SeriesIntent } from '../palette';\nimport { bandScale, domainOf, linearScale, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartWaterfall.module.css';\n\nexport interface ChartWaterfallStep {\n color?: string;\n intent?: SeriesIntent;\n label: string;\n total?: boolean;\n value: number;\n}\n\nexport interface ChartWaterfallProps {\n emptyMessage?: string;\n /** Formato dos valores no balao. Sem ele, vale o `formatValue`: o eixo pode sair compacto e o balao, exato. */\n formatTooltipValue?: (value: number) => string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n labelAngle?: AxisLabelAngle;\n /** Indice do passo sob o ponteiro, ou `null` ao sair dele. */\n onHoverStep?: (index: number | null) => void;\n /** Variacao acima de cada passo. Em `onHover`, so a do passo sob o ponteiro. */\n showDataLabels?: MarkVisibility;\n /** Balao com a variacao do passo sob o ponteiro e o acumulado ate ele. Desligue para montar o proprio `ChartTooltip`. */\n showTooltip?: boolean;\n steps: readonly ChartWaterfallStep[];\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\ninterface Trecho {\n fim: number;\n inicio: number;\n}\n\n/**\n * Cada passo ocupa a faixa entre o acumulado anterior e o novo acumulado; o total parte do zero, porque\n * fecha a conta. Passo invalido e ausente: nao se desenha nem move o acumulado.\n */\nfunction trechosDe(steps: readonly ChartWaterfallStep[]): (Trecho | null)[] {\n let acumulado = 0;\n\n return steps.map((passo) => {\n if (!Number.isFinite(passo.value)) {\n return null;\n }\n\n const inicio = passo.total ? 0 : acumulado;\n const fim = inicio + passo.value;\n acumulado = fim;\n\n return { inicio, fim };\n });\n}\n\n/** Passo sem intencao declarada recebe a do seu sinal. Total e fechamento, nao aporte. */\nfunction intencaoDe(step: ChartWaterfallStep): SeriesIntent {\n if (step.intent) {\n return step.intent;\n }\n\n if (step.total) {\n return 'neutral';\n }\n\n return step.value < 0 ? 'negative' : 'positive';\n}\n\n/**\n * O sinal e do grafico, nao do formatador: ele formata a magnitude. Delegar o\n * sinal perderia a variacao com qualquer formatador que exiba apenas o valor.\n */\nfunction comSinal(value: number, formatValue: (value: number) => string) {\n if (value === 0) {\n return formatValue(0);\n }\n\n return `${value < 0 ? '-' : '+'}${formatValue(Math.abs(value))}`;\n}\n\nexport function ChartWaterfall({\n emptyMessage = 'Sem dados no período',\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 280,\n labelAngle = 'auto',\n onHoverStep,\n showDataLabels = 'visible',\n showTooltip = true,\n steps,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartWaterfallProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { hover: focarPasso, hovered: passoEmFoco } = useHoveredBand(onHoverStep);\n\n const trechos = useMemo(() => trechosDe(steps), [steps]);\n\n const cores = useMemo(\n () => resolveSeriesColors(steps.map((passo) => ({ color: passo.color, intent: intencaoDe(passo) }))),\n [steps],\n );\n\n const dominio = useMemo(\n () => domainOf(trechos.flatMap((trecho) => (trecho ? [trecho.inicio, trecho.fim] : []))),\n [trechos],\n );\n\n const rotulosDeValor = valueLabelsFor(dominio, alturaDoDesenho, formatValue);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: steps.map((passo) => passo.label),\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: rotulosDeValor,\n rightLabels: rotulosDeValor,\n topRoom: showDataLabels === 'hidden' ? 0 : valueLabelRoom(font),\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n // A faixa e indexada pela posicao, nao pelo rotulo: numa sequencia de passos o\n // mesmo rotulo pode repetir, e a escala categorica funde dominios iguais.\n const escalaPassos = useMemo(\n () => bandScale({ domain: steps.map((_, indice) => String(indice)), range: [0, plot.width] }),\n [plot.width, steps],\n );\n\n const faixaDe = (indice: number) => escalaPassos(String(indice)) ?? 0;\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [plot.height, 0] }),\n [dominio, plot.height],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () => linearScale({ domain: { min: minimo, max: maximo }, nice: false, range: [plot.height, 0] }),\n [maximo, minimo, plot.height],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, plot.height);\n\n const marcasPassos: AxisTick[] = steps.map((passo, indice) => ({\n label: passo.label,\n position: faixaDe(indice) + escalaPassos.bandwidth() / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n function rotuloDe(passo: ChartWaterfallStep) {\n return passo.total ? formatValue(passo.value) : comSinal(passo.value, formatValue);\n }\n\n /** O passo diz quanto mudou; o acumulado, onde a conta ficou. O total ja e o proprio acumulado. */\n function linhasDoBalao(indice: number | null) {\n if (indice === null || !trechos[indice]) {\n return [];\n }\n\n const passo = steps[indice];\n\n if (passo.total) {\n return [{ color: cores[indice], label: 'Total', values: [passo.value] }];\n }\n\n return [\n { color: cores[indice], format: (valor: number) => comSinal(valor, formatTooltipValue ?? formatValue), label: 'Variação', values: [passo.value] },\n { label: 'Acumulado', values: [trechos[indice].fim] },\n ];\n }\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={steps.length === 0}\n emptyMessage={emptyMessage}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: 'horizontal',\n },\n ]}\n fillHeight={fillHeight}\n height={alturaDoDesenho}\n legendPosition=\"none\"\n margins={margins}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? {\n columns: [{ format: formatTooltipValue ?? formatValue }],\n computed: 'none',\n rows: linhasDoBalao(passoEmFoco),\n title: passoEmFoco === null ? undefined : steps[passoEmFoco]?.label,\n }\n : undefined\n }\n width={width}\n xAxis={{ labelRotation: rotation, ticks: marcasPassos, visibility: xAxis }}\n yAxis={{ hideLine: true, ticks: marcasValor, visibility: yAxis }}\n yAxisRight={{ hideLine: true, ticks: marcasValor, visibility: yAxisRight }}\n >\n {passoEmFoco !== null && (\n <BandCursor offset={faixaDe(passoEmFoco)} plot={plot} size={escalaPassos.bandwidth()} />\n )}\n\n <g aria-hidden=\"true\">\n {trechos.slice(0, -1).map((trecho, indice) => {\n if (!trecho || !trechos[indice + 1]) {\n return null;\n }\n\n const nivel = escalaValores(trecho.fim);\n\n return (\n <line\n className={styles.connector}\n key={indice}\n x1={faixaDe(indice) + escalaPassos.bandwidth()}\n x2={faixaDe(indice + 1)}\n y1={nivel}\n y2={nivel}\n />\n );\n })}\n </g>\n\n {steps.map((passo, indice) => {\n const trecho = trechos[indice];\n\n if (!trecho) {\n return null;\n }\n\n const topo = Math.min(escalaValores(trecho.inicio), escalaValores(trecho.fim));\n const altura = Math.abs(escalaValores(trecho.fim) - escalaValores(trecho.inicio));\n\n return (\n <path\n aria-label={`${passo.label}: ${rotuloDe(passo)}`}\n className={styles.bar}\n d={roundedBarPath(faixaDe(indice), topo, escalaPassos.bandwidth(), altura, [\n raioDoCanto,\n raioDoCanto,\n raioDoCanto,\n raioDoCanto,\n ])}\n fill={cores[indice]}\n key={indice}\n onMouseEnter={() => focarPasso(indice)}\n onMouseLeave={() => focarPasso(null)}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n steps.map((passo, indice) => {\n const trecho = trechos[indice];\n\n if (!trecho) {\n return null;\n }\n\n const topo = Math.min(escalaValores(trecho.inicio), escalaValores(trecho.fim));\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, indice === passoEmFoco) ? '' : styles.valueLabelHidden}`}\n key={indice}\n textAnchor=\"middle\"\n x={faixaDe(indice) + escalaPassos.bandwidth() / 2}\n y={topo - 6}\n >\n {rotuloDe(passo)}\n </text>\n );\n })}\n </CartesianFrame>\n );\n}\n"],"names":["trechosDe","steps","acumulado","passo","inicio","fim","intencaoDe","step","comSinal","value","formatValue","ChartWaterfall","emptyMessage","formatTooltipValue","formatarNumero","height","labelAngle","onHoverStep","showDataLabels","showTooltip","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","focarPasso","passoEmFoco","useHoveredBand","trechos","useMemo","cores","resolveSeriesColors","dominio","domainOf","trecho","rotulosDeValor","valueLabelsFor","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelRoom","escalaPassos","bandScale","_","indice","faixaDe","escalaAlvo","linearScale","minimo","maximo","useTweenedNumbers","escalaValores","marcasDeValor","ticksFor","marcasPassos","marcasValor","valor","rotuloDe","linhasDoBalao","jsxs","CartesianFrame","_a","jsx","BandCursor","nivel","styles","topo","altura","roundedBarPath","markShown"],"mappings":"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"}
|