@plenustech/design-system 0.2.2 → 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/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/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/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/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/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/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/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.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/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 +184 -122
- 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/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/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/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/overlays/Dialog/Dialog.d.ts +2 -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 +35 -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/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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartBar.cjs","sources":["../../../../src/components/charts/ChartBar/ChartBar.tsx"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n BandCursor,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n cartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type CornerRadii,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { bandScale, domainOf, linearScale, mergeDomains, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartBar.module.css';\n\nexport type ChartBarOrientation = 'vertical' | 'horizontal';\n\nexport interface ChartBarSeries extends SeriesAppearance {\n label: string;\n values: readonly number[];\n}\n\nexport interface ChartBarProps {\n accent?: string;\n categories: readonly string[];\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n formatValue?: (value: number) => string;\n height?: ChartHeight;\n hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n orientation?: ChartBarOrientation;\n series: readonly ChartBarSeries[];\n /** Valor alem da ponta de cada barra; empilhada, o total da categoria alem da ponta da pilha. */\n showDataLabels?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartBar({\n accent,\n categories,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n orientation = 'vertical',\n series,\n showDataLabels = false,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartBarProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, toggle } = useSeriesToggle({ defaultHiddenSeries, hiddenSeries, onHiddenSeriesChange });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const vertical = orientation === 'vertical';\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // serie desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n const presenca = (indice: number) => presencas[indice] ?? 0;\n\n const dominio = useMemo(() => {\n const visiveis = series.filter((serie) => !isHidden(serie.label));\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) => stackDiverging(visiveis.map((serie) => serie.values[indice] ?? 0)).flat()),\n );\n }\n\n return mergeDomains(visiveis.map((serie) => domainOf([...serie.values])));\n }, [categories, isHidden, series, stacked]);\n\n // Barras horizontais consomem a largura: a legenda ao lado espremeria o desenho.\n const posicaoDaLegenda = !vertical && (legend === 'left' || legend === 'right') ? 'bottom' : legend;\n\n const rotulosDeValor = valueLabelsFor(dominio, vertical ? alturaDoDesenho : width, formatValue);\n\n const { margins, plot, rotation } = cartesianLayout({\n bottomLabels: vertical ? categories : rotulosDeValor,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: vertical ? rotulosDeValor : categories,\n rightLabels: vertical ? rotulosDeValor : categories,\n topRoom: showDataLabels && vertical ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const comprimentoCategorias = vertical ? plot.width : plot.height;\n const comprimentoValores = vertical ? plot.height : plot.width;\n const inicioDaFaixa = vertical ? comprimentoValores : 0;\n const fimDaFaixa = vertical ? 0 : comprimentoValores;\n\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, comprimentoCategorias] }),\n [categories, comprimentoCategorias],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [inicioDaFaixa, fimDaFaixa] }),\n [dominio, fimDaFaixa, inicioDaFaixa],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () =>\n linearScale({\n domain: { min: minimo, max: maximo },\n nice: false,\n range: [inicioDaFaixa, fimDaFaixa],\n }),\n [fimDaFaixa, inicioDaFaixa, maximo, minimo],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, comprimentoValores);\n\n const vao = escalaCategorias.bandwidth();\n const faixas = barSlots(vao, presencas);\n\n // Empilhada, a serie ocupa a faixa inteira: quem reparte e a pilha, nao a faixa.\n function faixaDa(indiceSerie: number) {\n return faixas[indiceSerie] ?? NO_BAR_SLOT;\n }\n\n function espessuraDa(indiceSerie: number) {\n return stacked ? vao : faixaDa(indiceSerie).thickness;\n }\n\n function deslocamentoDa(indiceSerie: number) {\n return stacked ? 0 : faixaDa(indiceSerie).offset;\n }\n\n /** Valor que a serie empilha, ja pesado pela presenca, para a pilha encolher junto; invalido conta zero. */\n function contribuicao(indiceSerie: number, indiceCategoria: number) {\n const valor = series[indiceSerie].values[indiceCategoria];\n const real = Number.isFinite(valor) ? (valor as number) : 0;\n\n return real * (stacked ? presenca(indiceSerie) : 1);\n }\n\n const pilhas = categories.map((_, indiceCategoria) =>\n stacked ? stackDiverging(series.map((_, indiceSerie) => contribuicao(indiceSerie, indiceCategoria))) : [],\n );\n\n function segmentoDa(indiceSerie: number, indiceCategoria: number): [number, number] {\n return pilhas[indiceCategoria][indiceSerie] ?? [0, contribuicao(indiceSerie, indiceCategoria)];\n }\n\n /**\n * Cantos de um segmento. Empilhado, so as pontas de cada pilha, a de cima do zero e a de baixo,\n * sao arredondadas e o meio fica reto, para os segmentos lerem como uma barra so.\n */\n function cantosDa(indiceSerie: number, indiceCategoria: number): CornerRadii {\n const [inicio, fim] = segmentoDa(indiceSerie, indiceCategoria);\n\n if (!stacked) {\n return [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto];\n }\n\n const pilha = pilhas[indiceCategoria];\n const extremo = fim < inicio ? Math.min(...pilha.map(([, ate]) => ate)) : Math.max(...pilha.map(([, ate]) => ate));\n const abre = fim !== inicio && inicio === 0 ? raioDoCanto : 0;\n const fecha = fim !== inicio && fim === extremo ? raioDoCanto : 0;\n // Na tela, o lado de maior valor fica em cima na vertical e a direita na horizontal.\n const [menor, maior] = fim < inicio ? [fecha, abre] : [abre, fecha];\n\n return vertical ? [maior, maior, menor, menor] : [menor, maior, maior, menor];\n }\n\n /** Rotulo alem da ponta da barra: no negativo ela esta embaixo, ou a esquerda. */\n function rotuloAlemDaPonta(valor: number, ponta: number, centro: number, chave: number) {\n const negativo = valor < 0;\n\n return (\n <text\n className={styles.valueLabel}\n dominantBaseline={vertical ? (negativo ? 'hanging' : 'auto') : 'middle'}\n key={chave}\n textAnchor={vertical ? 'middle' : negativo ? 'end' : 'start'}\n x={vertical ? centro : ponta + (negativo ? -6 : 6)}\n y={vertical ? ponta + (negativo ? 6 : -6) : centro}\n >\n {formatValue(valor)}\n </text>\n );\n }\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n const eixoDeCategoria = { labelRotation: rotation, ticks: marcasCategoria };\n const eixoDeValor = { hideLine: true, ticks: marcasValor };\n\n return (\n <CartesianFrame\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: vertical ? 'horizontal' : 'vertical',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={posicaoDaLegenda}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n width={width}\n xAxis={{ ...(vertical ? eixoDeCategoria : eixoDeValor), visibility: xAxis }}\n yAxis={{ ...(vertical ? eixoDeValor : eixoDeCategoria), visibility: yAxis }}\n yAxisRight={{ ...(vertical ? eixoDeValor : eixoDeCategoria), hideLine: true, visibility: yAxisRight }}\n >\n {faixaEmFoco !== null && (\n <BandCursor\n offset={escalaCategorias(categories[faixaEmFoco]) ?? 0}\n orientation={orientation}\n plot={plot}\n size={vao}\n />\n )}\n\n {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n if (!Number.isFinite(serie.values[indiceCategoria])) {\n return null;\n }\n\n const inicioCategoria = escalaCategorias(categoria) ?? 0;\n const [de, ate] = segmentoDa(indiceSerie, indiceCategoria);\n const comeco = escalaValores(de);\n const fim = escalaValores(ate);\n const tamanho = Math.abs(fim - comeco);\n const espessura = espessuraDa(indiceSerie);\n const deslocamento = deslocamentoDa(indiceSerie);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatValue(serie.values[indiceCategoria])}`}\n className={styles.bar}\n d={roundedBarPath(\n vertical ? inicioCategoria + deslocamento : Math.min(comeco, fim),\n vertical ? Math.min(comeco, fim) : inicioCategoria + deslocamento,\n vertical ? espessura : tamanho,\n vertical ? tamanho : espessura,\n cantosDa(indiceSerie, indiceCategoria),\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => focarFaixa(indiceCategoria)}\n onMouseLeave={() => focarFaixa(null)}\n />\n );\n })}\n\n {showDataLabels &&\n !stacked &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (!Number.isFinite(valor)) {\n return null;\n }\n\n const centro =\n (escalaCategorias(categoria) ?? 0) + deslocamentoDa(indiceSerie) + espessuraDa(indiceSerie) / 2;\n\n return rotuloAlemDaPonta(valor, escalaValores(valor), centro, indiceCategoria);\n })}\n </g>\n );\n })}\n\n {showDataLabels &&\n stacked &&\n categories.map((categoria, indiceCategoria) => {\n const presentes = series.filter(\n (serie) => !isHidden(serie.label) && Number.isFinite(serie.values[indiceCategoria]),\n );\n\n if (presentes.length === 0) {\n return null;\n }\n\n const total = presentes.reduce((soma, serie) => soma + serie.values[indiceCategoria], 0);\n const pontas = pilhas[indiceCategoria].map(([, ate]) => ate);\n const extremo = total < 0 ? Math.min(0, ...pontas) : Math.max(0, ...pontas);\n const centro = (escalaCategorias(categoria) ?? 0) + vao / 2;\n\n return rotuloAlemDaPonta(total, escalaValores(extremo), centro, indiceCategoria);\n })}\n </CartesianFrame>\n );\n}\n"],"names":["ChartBar","accent","categories","defaultHiddenSeries","emptyMessage","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","orientation","series","showDataLabels","stacked","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","toggle","useSeriesToggle","focarFaixa","faixaEmFoco","useHoveredBand","vertical","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","serie","presenca","indice","dominio","visiveis","domainOf","_","stackDiverging","mergeDomains","posicaoDaLegenda","rotulosDeValor","valueLabelsFor","margins","plot","rotation","cartesianLayout","valueLabelRoom","comprimentoCategorias","comprimentoValores","inicioDaFaixa","fimDaFaixa","escalaCategorias","bandScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","vao","faixas","barSlots","faixaDa","indiceSerie","NO_BAR_SLOT","espessuraDa","deslocamentoDa","contribuicao","indiceCategoria","valor","pilhas","segmentoDa","cantosDa","inicio","fim","pilha","extremo","ate","abre","fecha","menor","maior","rotuloAlemDaPonta","ponta","centro","chave","negativo","jsx","styles","marcasCategoria","categoria","marcasValor","eixoDeCategoria","eixoDeValor","jsxs","CartesianFrame","BandCursor","oculta","inicioCategoria","de","comeco","tamanho","espessura","deslocamento","roundedBarPath","presentes","total","soma","pontas"],"mappings":"upBA4DO,SAASA,GAAS,CACvB,OAAAC,EACA,WAAAC,EACA,oBAAAC,GACA,aAAAC,GAAe,uBACf,YAAAC,EAAcC,GAAAA,eACd,OAAAC,GAAS,IACT,aAAAC,GACA,WAAAC,GAAa,OACb,OAAAC,EAAS,SACT,YAAAC,GACA,qBAAAC,GACA,gBAAAC,GACA,YAAAC,EAAc,WACd,OAAAC,EACA,eAAAC,EAAiB,GACjB,QAAAC,EAAU,GACV,MAAAC,GACA,MAAAC,EAAQ,UACR,MAAAC,EAAQ,UACR,WAAAC,EAAa,QACf,EAAkB,CAChB,KAAM,CAAE,KAAAC,EAAM,OAAQC,GAAc,OAAQC,EAAa,IAAAC,GAAK,MAAAC,CAAA,EAAUC,mBAAA,EAClE,CAAE,WAAAC,GAAY,MAAOC,GAAoBC,EAAAA,YAAYvB,GAAQgB,EAAY,EACzE,CAAE,SAAAQ,EAAU,OAAAC,IAAWC,GAAAA,gBAAgB,CAAE,oBAAA9B,GAAqB,aAAAK,GAAc,qBAAAI,GAAsB,EAClG,CAAE,MAAOsB,EAAY,QAASC,CAAA,EAAgBC,GAAAA,eAAevB,EAAe,EAC5EwB,EAAWvB,IAAgB,WAI3BwB,EAAQC,EAAAA,QAAQ,IAAMC,GAAAA,oBAAoBzB,EAAQ,CAAE,OAAAd,CAAA,CAAQ,EAAG,CAACA,EAAQc,CAAM,CAAC,EAI/E0B,EAAYC,GAAAA,kBAAkB3B,EAAO,IAAK4B,GAAWZ,EAASY,EAAM,KAAK,EAAI,EAAI,CAAE,CAAC,EACpFC,GAAYC,GAAmBJ,EAAUI,CAAM,GAAK,EAEpDC,EAAUP,EAAAA,QAAQ,IAAM,CAC5B,MAAMQ,EAAWhC,EAAO,OAAQ4B,GAAU,CAACZ,EAASY,EAAM,KAAK,CAAC,EAEhE,OAAI1B,EACK+B,EAAAA,SACL9C,EAAW,QAAQ,CAAC+C,EAAGJ,IAAWK,EAAAA,eAAeH,EAAS,IAAKJ,GAAUA,EAAM,OAAOE,CAAM,GAAK,CAAC,CAAC,EAAE,MAAM,CAAA,EAIxGM,eAAaJ,EAAS,IAAKJ,GAAUK,WAAS,CAAC,GAAGL,EAAM,MAAM,CAAC,CAAC,CAAC,CAC1E,EAAG,CAACzC,EAAY6B,EAAUhB,EAAQE,CAAO,CAAC,EAGpCmC,GAAmB,CAACf,IAAa3B,IAAW,QAAUA,IAAW,SAAW,SAAWA,EAEvF2C,EAAiBC,EAAAA,eAAeR,EAAST,EAAWR,EAAkBH,EAAOrB,CAAW,EAExF,CAAE,QAAAkD,GAAS,KAAAC,EAAM,SAAAC,EAAA,EAAaC,EAAAA,gBAAgB,CAClD,aAAcrB,EAAWnC,EAAamD,EACtC,KAAA/B,EACA,OAAQO,EACR,WAAApB,GACA,WAAY4B,EAAWgB,EAAiBnD,EACxC,YAAamC,EAAWgB,EAAiBnD,EACzC,QAASc,GAAkBqB,EAAWsB,EAAAA,eAAerC,CAAI,EAAI,EAC7D,MAAAI,EACA,MAAAP,EACA,MAAAC,EACA,WAAAC,CAAA,CACD,EAEKuC,EAAwBvB,EAAWmB,EAAK,MAAQA,EAAK,OACrDK,EAAqBxB,EAAWmB,EAAK,OAASA,EAAK,MACnDM,EAAgBzB,EAAWwB,EAAqB,EAChDE,EAAa1B,EAAW,EAAIwB,EAE5BG,EAAmBzB,EAAAA,QACvB,IAAM0B,EAAAA,UAAU,CAAE,OAAQ/D,EAAY,MAAO,CAAC,EAAG0D,CAAqB,EAAG,EACzE,CAAC1D,EAAY0D,CAAqB,CAAA,EAK9BM,EAAa3B,EAAAA,QACjB,IAAM4B,EAAAA,YAAY,CAAE,OAAQrB,EAAS,MAAO,CAACgB,EAAeC,CAAU,EAAG,EACzE,CAACjB,EAASiB,EAAYD,CAAa,CAAA,EAG/B,CAACM,EAAQC,CAAM,EAAI3B,GAAAA,kBAAkBwB,EAAW,QAAQ,EAExDI,EAAgB/B,EAAAA,QACpB,IACE4B,cAAY,CACV,OAAQ,CAAE,IAAKC,EAAQ,IAAKC,CAAA,EAC5B,KAAM,GACN,MAAO,CAACP,EAAeC,CAAU,CAAA,CAClC,EACH,CAACA,EAAYD,EAAeO,EAAQD,CAAM,CAAA,EAGtCG,GAAgBC,EAAAA,SAASN,EAAYL,CAAkB,EAEvDY,EAAMT,EAAiB,UAAA,EACvBU,GAASC,EAAAA,SAASF,EAAKhC,CAAS,EAGtC,SAASmC,GAAQC,EAAqB,CACpC,OAAOH,GAAOG,CAAW,GAAKC,EAAAA,WAChC,CAEA,SAASC,GAAYF,EAAqB,CACxC,OAAO5D,EAAUwD,EAAMG,GAAQC,CAAW,EAAE,SAC9C,CAEA,SAASG,GAAeH,EAAqB,CAC3C,OAAO5D,EAAU,EAAI2D,GAAQC,CAAW,EAAE,MAC5C,CAGA,SAASI,GAAaJ,EAAqBK,EAAyB,CAClE,MAAMC,EAAQpE,EAAO8D,CAAW,EAAE,OAAOK,CAAe,EAGxD,OAFa,OAAO,SAASC,CAAK,EAAKA,EAAmB,IAE3ClE,EAAU2B,GAASiC,CAAW,EAAI,EACnD,CAEA,MAAMO,EAASlF,EAAW,IAAI,CAAC+C,EAAGiC,IAChCjE,EAAUiC,EAAAA,eAAenC,EAAO,IAAI,CAACkC,EAAG4B,IAAgBI,GAAaJ,EAAaK,CAAe,CAAC,CAAC,EAAI,CAAA,CAAC,EAG1G,SAASG,GAAWR,EAAqBK,EAA2C,CAClF,OAAOE,EAAOF,CAAe,EAAEL,CAAW,GAAK,CAAC,EAAGI,GAAaJ,EAAaK,CAAe,CAAC,CAC/F,CAMA,SAASI,GAAST,EAAqBK,EAAsC,CAC3E,KAAM,CAACK,EAAQC,CAAG,EAAIH,GAAWR,EAAaK,CAAe,EAE7D,GAAI,CAACjE,EACH,MAAO,CAACO,EAAaA,EAAaA,EAAaA,CAAW,EAG5D,MAAMiE,EAAQL,EAAOF,CAAe,EAC9BQ,EAAUF,EAAMD,EAAS,KAAK,IAAI,GAAGE,EAAM,IAAI,CAAC,EAAGE,CAAG,IAAMA,CAAG,CAAC,EAAI,KAAK,IAAI,GAAGF,EAAM,IAAI,CAAC,CAAA,CAAGE,CAAG,IAAMA,CAAG,CAAC,EAC3GC,EAAOJ,IAAQD,GAAUA,IAAW,EAAI/D,EAAc,EACtDqE,EAAQL,IAAQD,GAAUC,IAAQE,EAAUlE,EAAc,EAE1D,CAACsE,EAAOC,CAAK,EAAIP,EAAMD,EAAS,CAACM,EAAOD,CAAI,EAAI,CAACA,EAAMC,CAAK,EAElE,OAAOxD,EAAW,CAAC0D,EAAOA,EAAOD,EAAOA,CAAK,EAAI,CAACA,EAAOC,EAAOA,EAAOD,CAAK,CAC9E,CAGA,SAASE,GAAkBb,EAAec,EAAeC,EAAgBC,EAAe,CACtF,MAAMC,EAAWjB,EAAQ,EAEzB,OACEkB,EAAAA,IAAC,OAAA,CACC,UAAWC,EAAAA,QAAO,WAClB,iBAAkBjE,EAAY+D,EAAW,UAAY,OAAU,SAE/D,WAAY/D,EAAW,SAAW+D,EAAW,MAAQ,QACrD,EAAG/D,EAAW6D,EAASD,GAASG,EAAW,GAAK,GAChD,EAAG/D,EAAW4D,GAASG,EAAW,EAAI,IAAMF,EAE3C,WAAYf,CAAK,CAAA,EALbgB,CAAA,CAQX,CAEA,MAAMI,GAA8BrG,EAAW,IAAKsG,IAAe,CACjE,MAAOA,EACP,UAAWxC,EAAiBwC,CAAS,GAAK,GAAK/B,EAAM,CAAA,EACrD,EAEIgC,GAA0BlC,GAAc,IAAKY,IAAW,CAC5D,MAAO9E,EAAY8E,CAAK,EACxB,SAAUb,EAAca,CAAK,CAAA,EAC7B,EAEIuB,EAAkB,CAAE,cAAejD,GAAU,MAAO8C,EAAA,EACpDI,EAAc,CAAE,SAAU,GAAM,MAAOF,EAAA,EAE7C,OACEG,EAAAA,KAACC,GAAAA,eAAA,CACC,aAAcpF,GACd,MAAOV,EAAO,SAAW,GAAKb,EAAW,SAAW,EACpD,aAAAE,GACA,WAAAwB,GACA,KAAM,CACJ,CACE,SAAU0C,EAAc,CAAC,EACzB,MAAOC,GAAc,IAAKY,GAAUb,EAAca,CAAK,CAAC,EACxD,YAAa9C,EAAW,aAAe,UAAA,CACzC,EAEF,OAAQR,EACR,OAAQd,EAAO,IAAI,CAAC4B,EAAOE,KAAY,CACrC,MAAOP,EAAMO,CAAM,EACnB,OAAQd,EAASY,EAAM,KAAK,EAC5B,MAAOA,EAAM,KAAA,EACb,EACF,YAAAhC,GACA,eAAgByC,GAChB,QAAAG,GACA,eAAgBvB,GAChB,KAAAwB,EACA,MAAAtC,GACA,MAAAQ,EACA,MAAO,CAAE,GAAIW,EAAWqE,EAAkBC,EAAc,WAAYxF,CAAA,EACpE,MAAO,CAAE,GAAIkB,EAAWsE,EAAcD,EAAkB,WAAYtF,CAAA,EACpE,WAAY,CAAE,GAAIiB,EAAWsE,EAAcD,EAAkB,SAAU,GAAM,WAAYrF,CAAA,EAExF,SAAA,CAAAc,IAAgB,MACfkE,EAAAA,IAACS,GAAAA,WAAA,CACC,OAAQ9C,EAAiB9D,EAAWiC,CAAW,CAAC,GAAK,EACrD,YAAArB,EACA,KAAA0C,EACA,KAAMiB,CAAA,CAAA,EAIT1D,EAAO,IAAI,CAAC4B,EAAOkC,IAAgB,CAClC,MAAMkC,EAAShF,EAASY,EAAM,KAAK,EAEnC,OACEiE,EAAAA,KAAC,IAAA,CACC,cAAaG,GAAU,OACvB,UAAW,GAAGT,EAAAA,QAAO,MAAM,IAAIS,EAAST,EAAAA,QAAO,UAAY,EAAE,GAG5D,SAAA,CAAApG,EAAW,IAAI,CAACsG,EAAWtB,IAAoB,CAC9C,GAAI,CAAC,OAAO,SAASvC,EAAM,OAAOuC,CAAe,CAAC,EAChD,OAAO,KAGT,MAAM8B,EAAkBhD,EAAiBwC,CAAS,GAAK,EACjD,CAACS,EAAItB,CAAG,EAAIN,GAAWR,EAAaK,CAAe,EACnDgC,EAAS5C,EAAc2C,CAAE,EACzBzB,EAAMlB,EAAcqB,CAAG,EACvBwB,EAAU,KAAK,IAAI3B,EAAM0B,CAAM,EAC/BE,GAAYrC,GAAYF,CAAW,EACnCwC,GAAerC,GAAeH,CAAW,EAE/C,OACEwB,EAAAA,IAAC,OAAA,CACC,aAAY,GAAG1D,EAAM,KAAK,KAAK6D,CAAS,KAAKnG,EAAYsC,EAAM,OAAOuC,CAAe,CAAC,CAAC,GACvF,UAAWoB,EAAAA,QAAO,IAClB,EAAGgB,GAAAA,eACDjF,EAAW2E,EAAkBK,GAAe,KAAK,IAAIH,EAAQ1B,CAAG,EAChEnD,EAAW,KAAK,IAAI6E,EAAQ1B,CAAG,EAAIwB,EAAkBK,GACrDhF,EAAW+E,GAAYD,EACvB9E,EAAW8E,EAAUC,GACrB9B,GAAST,EAAaK,CAAe,CAAA,EAEvC,KAAM5C,EAAMuC,CAAW,EAEvB,aAAc,IAAM3C,EAAWgD,CAAe,EAC9C,aAAc,IAAMhD,EAAW,IAAI,CAAA,EAF9BgD,CAAA,CAKX,CAAC,EAEAlE,GACC,CAACC,GACDf,EAAW,IAAI,CAACsG,EAAWtB,IAAoB,CAC7C,MAAMC,EAAQxC,EAAM,OAAOuC,CAAe,EAE1C,GAAI,CAAC,OAAO,SAASC,CAAK,EACxB,OAAO,KAGT,MAAMe,GACHlC,EAAiBwC,CAAS,GAAK,GAAKxB,GAAeH,CAAW,EAAIE,GAAYF,CAAW,EAAI,EAEhG,OAAOmB,GAAkBb,EAAOb,EAAca,CAAK,EAAGe,EAAQhB,CAAe,CAC/E,CAAC,CAAA,CAAA,EA/CEL,CAAA,CAkDX,CAAC,EAEA7D,GACCC,GACAf,EAAW,IAAI,CAACsG,EAAWtB,IAAoB,CAC7C,MAAMqC,EAAYxG,EAAO,OACtB4B,GAAU,CAACZ,EAASY,EAAM,KAAK,GAAK,OAAO,SAASA,EAAM,OAAOuC,CAAe,CAAC,CAAA,EAGpF,GAAIqC,EAAU,SAAW,EACvB,OAAO,KAGT,MAAMC,EAAQD,EAAU,OAAO,CAACE,EAAM9E,IAAU8E,EAAO9E,EAAM,OAAOuC,CAAe,EAAG,CAAC,EACjFwC,EAAStC,EAAOF,CAAe,EAAE,IAAI,CAAC,CAAA,CAAGS,CAAG,IAAMA,CAAG,EACrDD,EAAU8B,EAAQ,EAAI,KAAK,IAAI,EAAG,GAAGE,CAAM,EAAI,KAAK,IAAI,EAAG,GAAGA,CAAM,EACpExB,GAAUlC,EAAiBwC,CAAS,GAAK,GAAK/B,EAAM,EAE1D,OAAOuB,GAAkBwB,EAAOlD,EAAcoB,CAAO,EAAGQ,EAAQhB,CAAe,CACjF,CAAC,CAAA,CAAA,CAAA,CAGT"}
|
|
1
|
+
{"version":3,"file":"ChartBar.cjs","sources":["../../../../src/components/charts/ChartBar/ChartBar.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport {\n BandCursor,\n categoryTooltip,\n markShown,\n CartesianFrame,\n NO_BAR_SLOT,\n barSlots,\n seriesInScale,\n useCartesianLayout,\n chartHeight,\n roundedBarPath,\n useChartMetrics,\n useHoveredBand,\n useSeriesToggle,\n useTweenedNumbers,\n valueLabelRoom,\n valueLabelsFor,\n type AxisLabelAngle,\n type AxisTick,\n type AxisVisibility,\n type ChartHeight,\n type ChartLegendAlign,\n type ChartLegendPosition,\n type MarkVisibility,\n type CornerRadii,\n} from '../core';\nimport { resolveSeriesColors, type SeriesAppearance } from '../palette';\nimport { bandScale, domainOf, linearScale, mergeDomains, stackDiverging, ticksFor } from '../scales';\nimport { formatarNumero } from '../../../utils/formatters';\nimport styles from './ChartBar.module.css';\n\nexport type ChartBarOrientation = 'vertical' | 'horizontal';\n\nexport interface ChartBarSeries extends SeriesAppearance {\n label: string;\n values: readonly number[];\n}\n\nexport interface ChartBarProps {\n accent?: string;\n categories: readonly string[];\n defaultHiddenSeries?: readonly string[];\n emptyMessage?: string;\n /** 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 hiddenSeries?: readonly string[];\n labelAngle?: AxisLabelAngle;\n legend?: ChartLegendPosition;\n legendAlign?: ChartLegendAlign;\n onHiddenSeriesChange?: (hidden: readonly string[]) => void;\n /** Indice da categoria sob o ponteiro, ou `null` ao sair dela. */\n onHoverCategory?: (index: number | null) => void;\n orientation?: ChartBarOrientation;\n series: readonly ChartBarSeries[];\n /**\n * Valor alem da ponta de cada barra; empilhada, o total da categoria alem da ponta da pilha. Em `onHover`,\n * so os da serie da barra sob o ponteiro, ou o total da pilha sob ele.\n */\n showDataLabels?: MarkVisibility;\n /** Balao com o detalhe do que esta sob o ponteiro. Desligue para montar o proprio `ChartTooltip` pela costura. */\n showTooltip?: boolean;\n stacked?: boolean;\n title: string;\n xAxis?: AxisVisibility;\n yAxis?: AxisVisibility;\n yAxisRight?: AxisVisibility;\n}\n\nexport function ChartBar({\n accent,\n categories,\n defaultHiddenSeries,\n emptyMessage = 'Sem dados no período',\n formatTooltipValue,\n formatValue = formatarNumero,\n height = 260,\n hiddenSeries,\n labelAngle = 'auto',\n legend = 'bottom',\n legendAlign,\n onHiddenSeriesChange,\n onHoverCategory,\n orientation = 'vertical',\n series,\n showDataLabels = 'hidden',\n showTooltip = true,\n stacked = false,\n title,\n xAxis = 'visible',\n yAxis = 'visible',\n yAxisRight = 'hidden',\n}: ChartBarProps) {\n const { font, height: alturaMedida, radius: raioDoCanto, ref, width } = useChartMetrics();\n const { fillHeight, value: alturaDoDesenho } = chartHeight(height, alturaMedida);\n const { isHidden, isOutOfScale, toggle } = useSeriesToggle({\n defaultHiddenSeries,\n hiddenSeries,\n labels: series.map((serie) => serie.label),\n onHiddenSeriesChange,\n });\n const { hover: focarFaixa, hovered: faixaEmFoco } = useHoveredBand(onHoverCategory);\n const [serieEmFoco, setSerieEmFoco] = useState<number | null>(null);\n const vertical = orientation === 'vertical';\n\n // A cor sai da lista inteira, e nao das visiveis: desligar uma serie nao pode\n // repintar as demais.\n const cores = useMemo(() => resolveSeriesColors(series, { accent }), [accent, series]);\n\n // Presenca de cada serie, entre zero e um. E ela que reparte a faixa, entao a\n // serie desligada encolhe enquanto as demais ocupam o lugar dela.\n const presencas = useTweenedNumbers(series.map((serie) => (isHidden(serie.label) ? 0 : 1)));\n const presenca = (indice: number) => presencas[indice] ?? 0;\n\n const dominio = useMemo(() => {\n const naEscala = seriesInScale(series, isOutOfScale);\n\n if (stacked) {\n return domainOf(\n categories.flatMap((_, indice) => stackDiverging(naEscala.map((serie) => serie.values[indice] ?? 0)).flat()),\n );\n }\n\n return mergeDomains(naEscala.map((serie) => domainOf([...serie.values])));\n }, [categories, isOutOfScale, series, stacked]);\n\n // Barras horizontais consomem a largura: a legenda ao lado espremeria o desenho.\n const posicaoDaLegenda = !vertical && (legend === 'left' || legend === 'right') ? 'bottom' : legend;\n\n const rotulosDeValor = valueLabelsFor(dominio, vertical ? alturaDoDesenho : width, formatValue);\n\n const { axisReveal, margins, plot, rotation } = useCartesianLayout({\n bottomLabels: vertical ? categories : rotulosDeValor,\n font,\n height: alturaDoDesenho,\n labelAngle,\n leftLabels: vertical ? rotulosDeValor : categories,\n rightLabels: vertical ? rotulosDeValor : categories,\n topRoom: showDataLabels !== 'hidden' && vertical ? valueLabelRoom(font) : 0,\n width,\n xAxis,\n yAxis,\n yAxisRight,\n });\n\n const comprimentoCategorias = vertical ? plot.width : plot.height;\n const comprimentoValores = vertical ? plot.height : plot.width;\n const inicioDaFaixa = vertical ? comprimentoValores : 0;\n const fimDaFaixa = vertical ? 0 : comprimentoValores;\n\n const escalaCategorias = useMemo(\n () => bandScale({ domain: categories, range: [0, comprimentoCategorias] }),\n [categories, comprimentoCategorias],\n );\n\n // A escala alvo fixa as marcas; a animada posiciona o desenho. Sem separar as\n // duas, as marcas exibiriam valores quebrados durante a transicao.\n const escalaAlvo = useMemo(\n () => linearScale({ domain: dominio, range: [inicioDaFaixa, fimDaFaixa] }),\n [dominio, fimDaFaixa, inicioDaFaixa],\n );\n\n const [minimo, maximo] = useTweenedNumbers(escalaAlvo.domain());\n\n const escalaValores = useMemo(\n () =>\n linearScale({\n domain: { min: minimo, max: maximo },\n nice: false,\n range: [inicioDaFaixa, fimDaFaixa],\n }),\n [fimDaFaixa, inicioDaFaixa, maximo, minimo],\n );\n\n const marcasDeValor = ticksFor(escalaAlvo, comprimentoValores);\n\n const vao = escalaCategorias.bandwidth();\n const faixas = barSlots(vao, presencas);\n\n // Empilhada, a serie ocupa a faixa inteira: quem reparte e a pilha, nao a faixa.\n function faixaDa(indiceSerie: number) {\n return faixas[indiceSerie] ?? NO_BAR_SLOT;\n }\n\n function espessuraDa(indiceSerie: number) {\n return stacked ? vao : faixaDa(indiceSerie).thickness;\n }\n\n function deslocamentoDa(indiceSerie: number) {\n return stacked ? 0 : faixaDa(indiceSerie).offset;\n }\n\n /** Valor que a serie empilha, ja pesado pela presenca, para a pilha encolher junto; invalido conta zero. */\n function contribuicao(indiceSerie: number, indiceCategoria: number) {\n const valor = series[indiceSerie].values[indiceCategoria];\n const real = Number.isFinite(valor) ? (valor as number) : 0;\n\n return real * (stacked ? presenca(indiceSerie) : 1);\n }\n\n const pilhas = categories.map((_, indiceCategoria) =>\n stacked ? stackDiverging(series.map((_, indiceSerie) => contribuicao(indiceSerie, indiceCategoria))) : [],\n );\n\n function segmentoDa(indiceSerie: number, indiceCategoria: number): [number, number] {\n return pilhas[indiceCategoria][indiceSerie] ?? [0, contribuicao(indiceSerie, indiceCategoria)];\n }\n\n /**\n * Cantos de um segmento. Empilhado, so as pontas de cada pilha, a de cima do zero e a de baixo,\n * sao arredondadas e o meio fica reto, para os segmentos lerem como uma barra so.\n */\n function cantosDa(indiceSerie: number, indiceCategoria: number): CornerRadii {\n const [inicio, fim] = segmentoDa(indiceSerie, indiceCategoria);\n\n if (!stacked) {\n return [raioDoCanto, raioDoCanto, raioDoCanto, raioDoCanto];\n }\n\n const pilha = pilhas[indiceCategoria];\n const extremo = fim < inicio ? Math.min(...pilha.map(([, ate]) => ate)) : Math.max(...pilha.map(([, ate]) => ate));\n const abre = fim !== inicio && inicio === 0 ? raioDoCanto : 0;\n const fecha = fim !== inicio && fim === extremo ? raioDoCanto : 0;\n // Na tela, o lado de maior valor fica em cima na vertical e a direita na horizontal.\n const [menor, maior] = fim < inicio ? [fecha, abre] : [abre, fecha];\n\n return vertical ? [maior, maior, menor, menor] : [menor, maior, maior, menor];\n }\n\n /** Rotulo alem da ponta da barra: no negativo ela esta embaixo, ou a esquerda. */\n function rotuloAlemDaPonta(valor: number, ponta: number, centro: number, chave: number, emFoco: boolean) {\n const negativo = valor < 0;\n\n return (\n <text\n className={`${styles.valueLabel} ${markShown(showDataLabels, emFoco) ? '' : styles.valueLabelHidden}`}\n dominantBaseline={vertical ? (negativo ? 'hanging' : 'auto') : 'middle'}\n key={chave}\n textAnchor={vertical ? 'middle' : negativo ? 'end' : 'start'}\n x={vertical ? centro : ponta + (negativo ? -6 : 6)}\n y={vertical ? ponta + (negativo ? 6 : -6) : centro}\n >\n {formatValue(valor)}\n </text>\n );\n }\n\n const marcasCategoria: AxisTick[] = categories.map((categoria) => ({\n label: categoria,\n position: (escalaCategorias(categoria) ?? 0) + vao / 2,\n }));\n\n const marcasValor: AxisTick[] = marcasDeValor.map((valor) => ({\n label: formatValue(valor),\n position: escalaValores(valor),\n }));\n\n const eixoDeCategoria = { labelRotation: rotation, ticks: marcasCategoria };\n const eixoDeValor = { hideLine: true, ticks: marcasValor };\n\n return (\n <CartesianFrame\n axisReveal={axisReveal}\n containerRef={ref}\n empty={series.length === 0 || categories.length === 0}\n emptyMessage={emptyMessage}\n fillHeight={fillHeight}\n grid={[\n {\n baseline: escalaValores(0),\n lines: marcasDeValor.map((valor) => escalaValores(valor)),\n orientation: vertical ? 'horizontal' : 'vertical',\n },\n ]}\n height={alturaDoDesenho}\n legend={series.map((serie, indice) => ({\n color: cores[indice],\n hidden: isHidden(serie.label),\n label: serie.label,\n }))}\n legendAlign={legendAlign}\n legendPosition={posicaoDaLegenda}\n margins={margins}\n onToggleSeries={toggle}\n plot={plot}\n title={title}\n tooltip={\n showTooltip\n ? categoryTooltip({\n categories,\n colors: cores,\n format: formatTooltipValue ?? formatValue,\n index: faixaEmFoco,\n isHidden,\n series,\n showTotal: stacked,\n })\n : undefined\n }\n width={width}\n xAxis={{ ...(vertical ? eixoDeCategoria : eixoDeValor), visibility: xAxis }}\n yAxis={{ ...(vertical ? eixoDeValor : eixoDeCategoria), visibility: yAxis }}\n yAxisRight={{ ...(vertical ? eixoDeValor : eixoDeCategoria), hideLine: true, visibility: yAxisRight }}\n >\n {faixaEmFoco !== null && (\n <BandCursor\n offset={escalaCategorias(categories[faixaEmFoco]) ?? 0}\n orientation={orientation}\n plot={plot}\n size={vao}\n />\n )}\n\n {series.map((serie, indiceSerie) => {\n const oculta = isHidden(serie.label);\n\n return (\n <g\n aria-hidden={oculta || undefined}\n className={`${styles.series} ${oculta ? styles.seriesOff : ''}`}\n key={indiceSerie}\n >\n {categories.map((categoria, indiceCategoria) => {\n if (!Number.isFinite(serie.values[indiceCategoria])) {\n return null;\n }\n\n const inicioCategoria = escalaCategorias(categoria) ?? 0;\n const [de, ate] = segmentoDa(indiceSerie, indiceCategoria);\n const comeco = escalaValores(de);\n const fim = escalaValores(ate);\n const tamanho = Math.abs(fim - comeco);\n const espessura = espessuraDa(indiceSerie);\n const deslocamento = deslocamentoDa(indiceSerie);\n\n return (\n <path\n aria-label={`${serie.label}, ${categoria}: ${formatValue(serie.values[indiceCategoria])}`}\n className={styles.bar}\n d={roundedBarPath(\n vertical ? inicioCategoria + deslocamento : Math.min(comeco, fim),\n vertical ? Math.min(comeco, fim) : inicioCategoria + deslocamento,\n vertical ? espessura : tamanho,\n vertical ? tamanho : espessura,\n cantosDa(indiceSerie, indiceCategoria),\n )}\n fill={cores[indiceSerie]}\n key={indiceCategoria}\n onMouseEnter={() => {\n focarFaixa(indiceCategoria);\n setSerieEmFoco(indiceSerie);\n }}\n onMouseLeave={() => {\n focarFaixa(null);\n setSerieEmFoco(null);\n }}\n />\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n !stacked &&\n categories.map((categoria, indiceCategoria) => {\n const valor = serie.values[indiceCategoria];\n\n if (!Number.isFinite(valor)) {\n return null;\n }\n\n const centro =\n (escalaCategorias(categoria) ?? 0) + deslocamentoDa(indiceSerie) + espessuraDa(indiceSerie) / 2;\n\n return rotuloAlemDaPonta(valor, escalaValores(valor), centro, indiceCategoria, indiceSerie === serieEmFoco);\n })}\n </g>\n );\n })}\n\n {showDataLabels !== 'hidden' &&\n stacked &&\n categories.map((categoria, indiceCategoria) => {\n const presentes = series.filter(\n (serie) => !isHidden(serie.label) && Number.isFinite(serie.values[indiceCategoria]),\n );\n\n if (presentes.length === 0) {\n return null;\n }\n\n const total = presentes.reduce((soma, serie) => soma + serie.values[indiceCategoria], 0);\n const pontas = pilhas[indiceCategoria].map(([, ate]) => ate);\n const extremo = total < 0 ? Math.min(0, ...pontas) : Math.max(0, ...pontas);\n const centro = (escalaCategorias(categoria) ?? 0) + vao / 2;\n\n return rotuloAlemDaPonta(total, escalaValores(extremo), centro, indiceCategoria, indiceCategoria === faixaEmFoco);\n })}\n </CartesianFrame>\n );\n}\n"],"names":["ChartBar","accent","categories","defaultHiddenSeries","emptyMessage","formatTooltipValue","formatValue","formatarNumero","height","hiddenSeries","labelAngle","legend","legendAlign","onHiddenSeriesChange","onHoverCategory","orientation","series","showDataLabels","showTooltip","stacked","title","xAxis","yAxis","yAxisRight","font","alturaMedida","raioDoCanto","ref","width","useChartMetrics","fillHeight","alturaDoDesenho","chartHeight","isHidden","isOutOfScale","toggle","useSeriesToggle","serie","focarFaixa","faixaEmFoco","useHoveredBand","serieEmFoco","setSerieEmFoco","useState","vertical","cores","useMemo","resolveSeriesColors","presencas","useTweenedNumbers","presenca","indice","dominio","naEscala","seriesInScale","domainOf","_","stackDiverging","mergeDomains","posicaoDaLegenda","rotulosDeValor","valueLabelsFor","axisReveal","margins","plot","rotation","useCartesianLayout","valueLabelRoom","comprimentoCategorias","comprimentoValores","inicioDaFaixa","fimDaFaixa","escalaCategorias","bandScale","escalaAlvo","linearScale","minimo","maximo","escalaValores","marcasDeValor","ticksFor","vao","faixas","barSlots","faixaDa","indiceSerie","NO_BAR_SLOT","espessuraDa","deslocamentoDa","contribuicao","indiceCategoria","valor","pilhas","segmentoDa","cantosDa","inicio","fim","pilha","extremo","ate","abre","fecha","menor","maior","rotuloAlemDaPonta","ponta","centro","chave","emFoco","negativo","jsx","styles","markShown","marcasCategoria","categoria","marcasValor","eixoDeCategoria","eixoDeValor","jsxs","CartesianFrame","categoryTooltip","BandCursor","oculta","inicioCategoria","de","comeco","tamanho","espessura","deslocamento","roundedBarPath","presentes","total","soma","pontas"],"mappings":"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"}
|
|
@@ -1,216 +1,239 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useMemo as g } from "react";
|
|
3
|
-
import
|
|
4
|
-
import { useChartMetrics as
|
|
5
|
-
import { useSeriesToggle as
|
|
6
|
-
import { useHoveredBand as
|
|
7
|
-
import { resolveSeriesColors as
|
|
8
|
-
import { useTweenedNumbers as
|
|
9
|
-
import { domainOf as
|
|
10
|
-
import { valueLabelsFor as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { jsxs as eo, jsx as z } from "react/jsx-runtime";
|
|
2
|
+
import { useState as So, useMemo as g } from "react";
|
|
3
|
+
import L from "./ChartBar.module.css.js";
|
|
4
|
+
import { useChartMetrics as Vo } from "../core/useChartMetrics.js";
|
|
5
|
+
import { useSeriesToggle as Io, seriesInScale as qo } from "../core/useSeriesToggle.js";
|
|
6
|
+
import { useHoveredBand as Co } from "../core/useHoveredBand.js";
|
|
7
|
+
import { resolveSeriesColors as Go } from "../palette/seriesColor.js";
|
|
8
|
+
import { useTweenedNumbers as io } from "../core/useTweenedNumbers.js";
|
|
9
|
+
import { domainOf as uo, stackDiverging as co, mergeDomains as Jo, bandScale as Ko, linearScale as fo, ticksFor as Qo } from "../scales/scales.js";
|
|
10
|
+
import { valueLabelsFor as Uo, chartHeight as Wo, markShown as Xo } from "../core/cartesianLayout.js";
|
|
11
|
+
import { useCartesianLayout as Yo } from "../core/useCartesianLayout.js";
|
|
12
|
+
import { valueLabelRoom as Zo, barSlots as ko, NO_BAR_SLOT as ot } from "../core/spacing.js";
|
|
13
|
+
import { formatarNumero as tt } from "../../../utils/formatters/formatarNumero.js";
|
|
14
|
+
import { CartesianFrame as nt } from "../core/CartesianFrame.js";
|
|
15
|
+
import { BandCursor as at } from "../core/BandCursor.js";
|
|
16
|
+
import { roundedBarPath as lt } from "../core/shapes.js";
|
|
17
|
+
import { categoryTooltip as rt } from "../core/tooltips.js";
|
|
18
|
+
function Lt({
|
|
19
|
+
accent: S,
|
|
18
20
|
categories: s,
|
|
19
|
-
defaultHiddenSeries:
|
|
20
|
-
emptyMessage:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
defaultHiddenSeries: ho,
|
|
22
|
+
emptyMessage: po = "Sem dados no período",
|
|
23
|
+
formatTooltipValue: bo,
|
|
24
|
+
formatValue: D = tt,
|
|
25
|
+
height: vo = 260,
|
|
26
|
+
hiddenSeries: xo,
|
|
27
|
+
labelAngle: Do = "auto",
|
|
28
|
+
legend: O = "bottom",
|
|
29
|
+
legendAlign: Fo,
|
|
30
|
+
onHiddenSeriesChange: Mo,
|
|
31
|
+
onHoverCategory: go,
|
|
32
|
+
orientation: V = "vertical",
|
|
33
|
+
series: e,
|
|
34
|
+
showDataLabels: N = "hidden",
|
|
35
|
+
showTooltip: Lo = !0,
|
|
36
|
+
stacked: u = !1,
|
|
37
|
+
title: No,
|
|
38
|
+
xAxis: I = "visible",
|
|
35
39
|
yAxis: q = "visible",
|
|
36
40
|
yAxisRight: C = "hidden"
|
|
37
41
|
}) {
|
|
38
|
-
const { font: G, height:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
},
|
|
44
|
-
|
|
42
|
+
const { font: G, height: yo, radius: b, ref: $o, width: R } = Vo(), { fillHeight: Bo, value: T } = Wo(vo, yo), { isHidden: F, isOutOfScale: J, toggle: Oo } = Io({
|
|
43
|
+
defaultHiddenSeries: ho,
|
|
44
|
+
hiddenSeries: xo,
|
|
45
|
+
labels: e.map((o) => o.label),
|
|
46
|
+
onHiddenSeriesChange: Mo
|
|
47
|
+
}), { hover: K, hovered: y } = Co(go), [Ro, Q] = So(null), n = V === "vertical", E = g(() => Go(e, { accent: S }), [S, e]), U = io(e.map((o) => F(o.label) ? 0 : 1)), To = (o) => U[o] ?? 0, H = g(() => {
|
|
48
|
+
const o = qo(e, J);
|
|
49
|
+
return u ? uo(
|
|
50
|
+
s.flatMap((t, a) => co(o.map((l) => l.values[a] ?? 0)).flat())
|
|
51
|
+
) : Jo(o.map((t) => uo([...t.values])));
|
|
52
|
+
}, [s, J, e, u]), Eo = !n && (O === "left" || O === "right") ? "bottom" : O, _ = Uo(H, n ? T : R, D), { axisReveal: Ho, margins: _o, plot: v, rotation: wo } = Yo({
|
|
53
|
+
bottomLabels: n ? s : _,
|
|
45
54
|
font: G,
|
|
46
|
-
height:
|
|
47
|
-
labelAngle:
|
|
48
|
-
leftLabels: n ?
|
|
49
|
-
rightLabels: n ?
|
|
50
|
-
topRoom:
|
|
51
|
-
width:
|
|
52
|
-
xAxis:
|
|
55
|
+
height: T,
|
|
56
|
+
labelAngle: Do,
|
|
57
|
+
leftLabels: n ? _ : s,
|
|
58
|
+
rightLabels: n ? _ : s,
|
|
59
|
+
topRoom: N !== "hidden" && n ? Zo(G) : 0,
|
|
60
|
+
width: R,
|
|
61
|
+
xAxis: I,
|
|
53
62
|
yAxis: q,
|
|
54
63
|
yAxisRight: C
|
|
55
|
-
}),
|
|
56
|
-
() =>
|
|
57
|
-
[s,
|
|
58
|
-
),
|
|
59
|
-
() =>
|
|
60
|
-
[
|
|
61
|
-
), [
|
|
62
|
-
() =>
|
|
63
|
-
domain: { min:
|
|
64
|
+
}), W = n ? v.width : v.height, w = n ? v.height : v.width, $ = n ? w : 0, B = n ? 0 : w, d = g(
|
|
65
|
+
() => Ko({ domain: s, range: [0, W] }),
|
|
66
|
+
[s, W]
|
|
67
|
+
), X = g(
|
|
68
|
+
() => fo({ domain: H, range: [$, B] }),
|
|
69
|
+
[H, B, $]
|
|
70
|
+
), [Y, Z] = io(X.domain()), p = g(
|
|
71
|
+
() => fo({
|
|
72
|
+
domain: { min: Y, max: Z },
|
|
64
73
|
nice: !1,
|
|
65
|
-
range: [
|
|
74
|
+
range: [$, B]
|
|
66
75
|
}),
|
|
67
|
-
[
|
|
68
|
-
),
|
|
69
|
-
function
|
|
70
|
-
return
|
|
76
|
+
[B, $, Z, Y]
|
|
77
|
+
), k = Qo(X, w), M = d.bandwidth(), Ao = ko(M, U);
|
|
78
|
+
function oo(o) {
|
|
79
|
+
return Ao[o] ?? ot;
|
|
71
80
|
}
|
|
72
|
-
function
|
|
73
|
-
return
|
|
81
|
+
function to(o) {
|
|
82
|
+
return u ? M : oo(o).thickness;
|
|
74
83
|
}
|
|
75
|
-
function
|
|
76
|
-
return
|
|
84
|
+
function no(o) {
|
|
85
|
+
return u ? 0 : oo(o).offset;
|
|
77
86
|
}
|
|
78
|
-
function
|
|
79
|
-
const a =
|
|
80
|
-
return (Number.isFinite(a) ? a : 0) * (
|
|
87
|
+
function ao(o, t) {
|
|
88
|
+
const a = e[o].values[t];
|
|
89
|
+
return (Number.isFinite(a) ? a : 0) * (u ? To(o) : 1);
|
|
81
90
|
}
|
|
82
|
-
const
|
|
83
|
-
(o, t) =>
|
|
91
|
+
const A = s.map(
|
|
92
|
+
(o, t) => u ? co(e.map((a, l) => ao(l, t))) : []
|
|
84
93
|
);
|
|
85
|
-
function
|
|
86
|
-
return
|
|
94
|
+
function lo(o, t) {
|
|
95
|
+
return A[t][o] ?? [0, ao(o, t)];
|
|
87
96
|
}
|
|
88
|
-
function
|
|
89
|
-
const [a, l] =
|
|
90
|
-
if (!
|
|
97
|
+
function Po(o, t) {
|
|
98
|
+
const [a, l] = lo(o, t);
|
|
99
|
+
if (!u)
|
|
91
100
|
return [b, b, b, b];
|
|
92
|
-
const r =
|
|
93
|
-
return n ? [h, h,
|
|
101
|
+
const r = A[t], m = l < a ? Math.min(...r.map(([, x]) => x)) : Math.max(...r.map(([, x]) => x)), f = l !== a && a === 0 ? b : 0, i = l !== a && l === m ? b : 0, [c, h] = l < a ? [i, f] : [f, i];
|
|
102
|
+
return n ? [h, h, c, c] : [c, h, h, c];
|
|
94
103
|
}
|
|
95
|
-
function
|
|
96
|
-
const
|
|
97
|
-
return /* @__PURE__ */
|
|
104
|
+
function ro(o, t, a, l, r) {
|
|
105
|
+
const m = o < 0;
|
|
106
|
+
return /* @__PURE__ */ z(
|
|
98
107
|
"text",
|
|
99
108
|
{
|
|
100
|
-
className:
|
|
101
|
-
dominantBaseline: n ?
|
|
102
|
-
textAnchor: n ? "middle" :
|
|
103
|
-
x: n ? a : t + (
|
|
104
|
-
y: n ? t + (
|
|
105
|
-
children:
|
|
109
|
+
className: `${L.valueLabel} ${Xo(N, r) ? "" : L.valueLabelHidden}`,
|
|
110
|
+
dominantBaseline: n ? m ? "hanging" : "auto" : "middle",
|
|
111
|
+
textAnchor: n ? "middle" : m ? "end" : "start",
|
|
112
|
+
x: n ? a : t + (m ? -6 : 6),
|
|
113
|
+
y: n ? t + (m ? 6 : -6) : a,
|
|
114
|
+
children: D(o)
|
|
106
115
|
},
|
|
107
116
|
l
|
|
108
117
|
);
|
|
109
118
|
}
|
|
110
|
-
const
|
|
119
|
+
const jo = s.map((o) => ({
|
|
111
120
|
label: o,
|
|
112
|
-
position: (
|
|
113
|
-
})),
|
|
114
|
-
label:
|
|
121
|
+
position: (d(o) ?? 0) + M / 2
|
|
122
|
+
})), zo = k.map((o) => ({
|
|
123
|
+
label: D(o),
|
|
115
124
|
position: p(o)
|
|
116
|
-
})),
|
|
117
|
-
return /* @__PURE__ */
|
|
118
|
-
|
|
125
|
+
})), P = { labelRotation: wo, ticks: jo }, j = { hideLine: !0, ticks: zo };
|
|
126
|
+
return /* @__PURE__ */ eo(
|
|
127
|
+
nt,
|
|
119
128
|
{
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
129
|
+
axisReveal: Ho,
|
|
130
|
+
containerRef: $o,
|
|
131
|
+
empty: e.length === 0 || s.length === 0,
|
|
132
|
+
emptyMessage: po,
|
|
133
|
+
fillHeight: Bo,
|
|
124
134
|
grid: [
|
|
125
135
|
{
|
|
126
136
|
baseline: p(0),
|
|
127
|
-
lines:
|
|
137
|
+
lines: k.map((o) => p(o)),
|
|
128
138
|
orientation: n ? "horizontal" : "vertical"
|
|
129
139
|
}
|
|
130
140
|
],
|
|
131
|
-
height:
|
|
132
|
-
legend:
|
|
133
|
-
color:
|
|
134
|
-
hidden:
|
|
141
|
+
height: T,
|
|
142
|
+
legend: e.map((o, t) => ({
|
|
143
|
+
color: E[t],
|
|
144
|
+
hidden: F(o.label),
|
|
135
145
|
label: o.label
|
|
136
146
|
})),
|
|
137
|
-
legendAlign:
|
|
138
|
-
legendPosition:
|
|
139
|
-
margins:
|
|
140
|
-
onToggleSeries:
|
|
141
|
-
plot:
|
|
142
|
-
title:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
+
legendAlign: Fo,
|
|
148
|
+
legendPosition: Eo,
|
|
149
|
+
margins: _o,
|
|
150
|
+
onToggleSeries: Oo,
|
|
151
|
+
plot: v,
|
|
152
|
+
title: No,
|
|
153
|
+
tooltip: Lo ? rt({
|
|
154
|
+
categories: s,
|
|
155
|
+
colors: E,
|
|
156
|
+
format: bo ?? D,
|
|
157
|
+
index: y,
|
|
158
|
+
isHidden: F,
|
|
159
|
+
series: e,
|
|
160
|
+
showTotal: u
|
|
161
|
+
}) : void 0,
|
|
162
|
+
width: R,
|
|
163
|
+
xAxis: { ...n ? P : j, visibility: I },
|
|
164
|
+
yAxis: { ...n ? j : P, visibility: q },
|
|
165
|
+
yAxisRight: { ...n ? j : P, hideLine: !0, visibility: C },
|
|
147
166
|
children: [
|
|
148
|
-
|
|
149
|
-
|
|
167
|
+
y !== null && /* @__PURE__ */ z(
|
|
168
|
+
at,
|
|
150
169
|
{
|
|
151
|
-
offset:
|
|
152
|
-
orientation:
|
|
153
|
-
plot:
|
|
170
|
+
offset: d(s[y]) ?? 0,
|
|
171
|
+
orientation: V,
|
|
172
|
+
plot: v,
|
|
154
173
|
size: M
|
|
155
174
|
}
|
|
156
175
|
),
|
|
157
|
-
|
|
158
|
-
const a =
|
|
159
|
-
return /* @__PURE__ */
|
|
176
|
+
e.map((o, t) => {
|
|
177
|
+
const a = F(o.label);
|
|
178
|
+
return /* @__PURE__ */ eo(
|
|
160
179
|
"g",
|
|
161
180
|
{
|
|
162
181
|
"aria-hidden": a || void 0,
|
|
163
|
-
className: `${
|
|
182
|
+
className: `${L.series} ${a ? L.seriesOff : ""}`,
|
|
164
183
|
children: [
|
|
165
184
|
s.map((l, r) => {
|
|
166
185
|
if (!Number.isFinite(o.values[r]))
|
|
167
186
|
return null;
|
|
168
|
-
const
|
|
169
|
-
return /* @__PURE__ */
|
|
187
|
+
const m = d(l) ?? 0, [f, i] = lo(t, r), c = p(f), h = p(i), x = Math.abs(h - c), so = to(t), mo = no(t);
|
|
188
|
+
return /* @__PURE__ */ z(
|
|
170
189
|
"path",
|
|
171
190
|
{
|
|
172
|
-
"aria-label": `${o.label}, ${l}: ${
|
|
173
|
-
className:
|
|
174
|
-
d:
|
|
175
|
-
n ?
|
|
176
|
-
n ? Math.min(
|
|
177
|
-
n ?
|
|
178
|
-
n ?
|
|
179
|
-
|
|
191
|
+
"aria-label": `${o.label}, ${l}: ${D(o.values[r])}`,
|
|
192
|
+
className: L.bar,
|
|
193
|
+
d: lt(
|
|
194
|
+
n ? m + mo : Math.min(c, h),
|
|
195
|
+
n ? Math.min(c, h) : m + mo,
|
|
196
|
+
n ? so : x,
|
|
197
|
+
n ? x : so,
|
|
198
|
+
Po(t, r)
|
|
180
199
|
),
|
|
181
|
-
fill:
|
|
182
|
-
onMouseEnter: () =>
|
|
183
|
-
|
|
200
|
+
fill: E[t],
|
|
201
|
+
onMouseEnter: () => {
|
|
202
|
+
K(r), Q(t);
|
|
203
|
+
},
|
|
204
|
+
onMouseLeave: () => {
|
|
205
|
+
K(null), Q(null);
|
|
206
|
+
}
|
|
184
207
|
},
|
|
185
208
|
r
|
|
186
209
|
);
|
|
187
210
|
}),
|
|
188
|
-
|
|
189
|
-
const
|
|
190
|
-
if (!Number.isFinite(
|
|
211
|
+
N !== "hidden" && !u && s.map((l, r) => {
|
|
212
|
+
const m = o.values[r];
|
|
213
|
+
if (!Number.isFinite(m))
|
|
191
214
|
return null;
|
|
192
|
-
const f = (
|
|
193
|
-
return
|
|
215
|
+
const f = (d(l) ?? 0) + no(t) + to(t) / 2;
|
|
216
|
+
return ro(m, p(m), f, r, t === Ro);
|
|
194
217
|
})
|
|
195
218
|
]
|
|
196
219
|
},
|
|
197
220
|
t
|
|
198
221
|
);
|
|
199
222
|
}),
|
|
200
|
-
|
|
201
|
-
const a =
|
|
202
|
-
(
|
|
223
|
+
N !== "hidden" && u && s.map((o, t) => {
|
|
224
|
+
const a = e.filter(
|
|
225
|
+
(i) => !F(i.label) && Number.isFinite(i.values[t])
|
|
203
226
|
);
|
|
204
227
|
if (a.length === 0)
|
|
205
228
|
return null;
|
|
206
|
-
const l = a.reduce((
|
|
207
|
-
return
|
|
229
|
+
const l = a.reduce((i, c) => i + c.values[t], 0), r = A[t].map(([, i]) => i), m = l < 0 ? Math.min(0, ...r) : Math.max(0, ...r), f = (d(o) ?? 0) + M / 2;
|
|
230
|
+
return ro(l, p(m), f, t, t === y);
|
|
208
231
|
})
|
|
209
232
|
]
|
|
210
233
|
}
|
|
211
234
|
);
|
|
212
235
|
}
|
|
213
236
|
export {
|
|
214
|
-
|
|
237
|
+
Lt as ChartBar
|
|
215
238
|
};
|
|
216
239
|
//# sourceMappingURL=ChartBar.js.map
|