@galaxy-io/dls 1.6.0 → 2.0.0
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/README.md +47 -50
- package/biome/index.json +74 -0
- package/biome/plugins/no-hex-literal.grit +20 -0
- package/biome/plugins/no-inline-style.grit +13 -0
- package/biome/plugins/no-margin.grit +9 -0
- package/biome/plugins/warn/no-hex-literal.grit +23 -0
- package/biome/plugins/warn/no-inline-style.grit +13 -0
- package/biome/plugins/warn/no-margin.grit +9 -0
- package/dist/a11y/FocusScope.d.ts +44 -0
- package/dist/a11y/FocusScope.js +229 -0
- package/dist/a11y/VisuallyHidden.d.ts +21 -0
- package/dist/a11y/VisuallyHidden.js +30 -0
- package/dist/avatar/Avatar.d.ts +56 -14
- package/dist/avatar/Avatar.js +250 -96
- package/dist/avatar/AvatarGroup.d.ts +43 -0
- package/dist/avatar/AvatarGroup.js +153 -0
- package/dist/backgrounds/GridBackground.d.ts +48 -0
- package/dist/backgrounds/GridBackground.js +146 -0
- package/dist/beacons/Beacon.d.ts +86 -22
- package/dist/beacons/Beacon.js +170 -47
- package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
- package/dist/brand/GalaxyFilamentWordmark.js +39 -0
- package/dist/brand/GalaxyLogomark.d.ts +26 -0
- package/dist/brand/GalaxyLogomark.js +41 -0
- package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
- package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
- package/dist/brand/GalaxyWordmark.d.ts +30 -0
- package/dist/brand/GalaxyWordmark.js +63 -0
- package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
- package/dist/brand/brandMark.d.ts +26 -0
- package/dist/brand/brandMark.js +35 -0
- package/dist/buttons/Button.d.ts +148 -59
- package/dist/buttons/Button.js +437 -227
- package/dist/buttons/ButtonGroup.d.ts +38 -0
- package/dist/buttons/ButtonGroup.js +68 -0
- package/dist/buttons/CopyButton.d.ts +77 -0
- package/dist/buttons/CopyButton.js +65 -0
- package/dist/charts/AreaChart.d.ts +49 -0
- package/dist/charts/AreaChart.js +31 -0
- package/dist/charts/BarChart.d.ts +54 -67
- package/dist/charts/BarChart.js +136 -116
- package/dist/charts/ChartAxis.d.ts +35 -40
- package/dist/charts/ChartAxis.js +114 -90
- package/dist/charts/ChartCategoryTargets.d.ts +12 -26
- package/dist/charts/ChartCategoryTargets.js +32 -20
- package/dist/charts/ChartFrame.d.ts +69 -116
- package/dist/charts/ChartFrame.js +253 -119
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +27 -48
- package/dist/charts/ChartLegend.js +206 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +33 -20
- package/dist/charts/ChartPrimitives.d.ts +50 -305
- package/dist/charts/ChartPrimitives.js +65 -413
- package/dist/charts/ChartTooltip.d.ts +20 -26
- package/dist/charts/ChartTooltip.js +77 -40
- package/dist/charts/Heatmap.d.ts +35 -0
- package/dist/charts/Heatmap.js +295 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +159 -117
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +149 -135
- package/dist/charts/Sparkline.d.ts +107 -0
- package/dist/charts/Sparkline.js +244 -0
- package/dist/charts/StatChart.d.ts +37 -13
- package/dist/charts/StatChart.js +82 -35
- package/dist/charts/barChartGeometry.d.ts +138 -86
- package/dist/charts/barChartGeometry.js +122 -101
- package/dist/charts/barChartLegend.d.ts +14 -18
- package/dist/charts/barChartLegend.js +18 -13
- package/dist/charts/chartFormat.d.ts +12 -18
- package/dist/charts/chartFormat.js +20 -52
- package/dist/charts/chartPalette.d.ts +33 -0
- package/dist/charts/chartPalette.js +68 -0
- package/dist/charts/chartScales.d.ts +41 -108
- package/dist/charts/chartScales.js +62 -128
- package/dist/charts/constants.d.ts +96 -256
- package/dist/charts/constants.js +105 -275
- package/dist/charts/heatmapGeometry.d.ts +95 -0
- package/dist/charts/heatmapGeometry.js +155 -0
- package/dist/charts/lineChartGeometry.d.ts +108 -58
- package/dist/charts/lineChartGeometry.js +120 -78
- package/dist/charts/pieChartGeometry.d.ts +66 -40
- package/dist/charts/pieChartGeometry.js +68 -38
- package/dist/charts/types.d.ts +197 -466
- package/dist/charts/types.js +55 -144
- package/dist/charts/useCartesianChartLayout.d.ts +28 -59
- package/dist/charts/useCartesianChartLayout.js +47 -32
- package/dist/charts/useChartDimensions.d.ts +19 -40
- package/dist/charts/useChartDimensions.js +40 -56
- package/dist/charts/useChartFormatters.d.ts +6 -15
- package/dist/charts/useChartFormatters.js +4 -9
- package/dist/charts/useChartInteraction.d.ts +47 -116
- package/dist/charts/useChartInteraction.js +95 -71
- package/dist/charts/useChartTooltipPosition.d.ts +29 -39
- package/dist/charts/useChartTooltipPosition.js +14 -5
- package/dist/charts/useSeriesColorResolver.d.ts +11 -33
- package/dist/charts/useSeriesColorResolver.js +19 -12
- package/dist/chips/Chip.d.ts +155 -44
- package/dist/chips/Chip.js +329 -155
- package/dist/chips/ChipGroup.d.ts +53 -0
- package/dist/chips/ChipGroup.js +98 -0
- package/dist/drawer/Drawer.d.ts +81 -17
- package/dist/drawer/Drawer.js +370 -65
- package/dist/dropdown/Dropdown.d.ts +80 -63
- package/dist/dropdown/Dropdown.js +127 -129
- package/dist/editor/CodeEditor.d.ts +119 -40
- package/dist/editor/CodeEditor.js +490 -400
- package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
- package/dist/editor/CodeEditorReactWidget.js +28 -21
- package/dist/feedback/Alert.d.ts +49 -0
- package/dist/feedback/Alert.js +172 -0
- package/dist/feedback/EmptyState.d.ts +39 -0
- package/dist/feedback/EmptyState.js +109 -0
- package/dist/feedback/ProgressBar.d.ts +125 -0
- package/dist/feedback/ProgressBar.js +183 -0
- package/dist/feedback/ProgressCircle.d.ts +99 -0
- package/dist/feedback/ProgressCircle.js +187 -0
- package/dist/feedback/Skeleton.d.ts +69 -0
- package/dist/feedback/Skeleton.js +130 -0
- package/dist/feedback/Spinner.d.ts +63 -0
- package/dist/feedback/Spinner.js +141 -0
- package/dist/fonts.css +70 -0
- package/dist/hooks/internal/useIsClient.d.ts +2 -0
- package/dist/hooks/internal/useIsClient.js +14 -0
- package/dist/hooks/useClipboard.d.ts +19 -0
- package/dist/hooks/useClipboard.js +45 -0
- package/dist/hooks/useControlledOpenState.d.ts +21 -0
- package/dist/hooks/useControlledOpenState.js +19 -0
- package/dist/hooks/useControlledState.d.ts +19 -0
- package/dist/hooks/useControlledState.js +22 -0
- package/dist/hooks/useDebouncedValue.d.ts +14 -0
- package/dist/hooks/useDebouncedValue.js +33 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +36 -0
- package/dist/hooks/useDismiss.d.ts +23 -27
- package/dist/hooks/useDismiss.js +39 -27
- package/dist/hooks/useElementClientSize.d.ts +10 -10
- package/dist/hooks/useElementClientSize.js +8 -11
- package/dist/hooks/useElementWidth.d.ts +6 -13
- package/dist/hooks/useElementWidth.js +6 -14
- package/dist/hooks/useField.d.ts +47 -0
- package/dist/hooks/useField.js +40 -0
- package/dist/hooks/useHotkey.d.ts +77 -0
- package/dist/hooks/useHotkey.js +246 -0
- package/dist/hooks/useIsMac.d.ts +12 -0
- package/dist/hooks/useIsMac.js +27 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
- package/dist/hooks/useLocalStorage.d.ts +28 -0
- package/dist/hooks/useLocalStorage.js +145 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.js +23 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/usePrefersReducedMotion.js +25 -0
- package/dist/hooks/useResize.d.ts +42 -62
- package/dist/hooks/useResize.js +43 -31
- package/dist/icons/Icon.d.ts +64 -37
- package/dist/icons/Icon.js +96 -37
- package/dist/icons/internal/IconSlot.d.ts +10 -0
- package/dist/icons/internal/IconSlot.js +32 -0
- package/dist/inputs/CheckboxGroup.d.ts +115 -0
- package/dist/inputs/CheckboxGroup.js +183 -0
- package/dist/inputs/CheckboxInput.d.ts +98 -28
- package/dist/inputs/CheckboxInput.js +218 -88
- package/dist/inputs/ColorInput.d.ts +115 -29
- package/dist/inputs/ColorInput.js +748 -326
- package/dist/inputs/CopyInput.d.ts +49 -20
- package/dist/inputs/CopyInput.js +57 -49
- package/dist/inputs/CronInput.d.ts +94 -0
- package/dist/inputs/CronInput.js +618 -0
- package/dist/inputs/DateInput.d.ts +175 -28
- package/dist/inputs/DateInput.js +1109 -451
- package/dist/inputs/DurationInput.d.ts +101 -0
- package/dist/inputs/DurationInput.js +441 -0
- package/dist/inputs/Field.d.ts +75 -0
- package/dist/inputs/Field.js +247 -0
- package/dist/inputs/Fieldset.d.ts +53 -0
- package/dist/inputs/Fieldset.js +149 -0
- package/dist/inputs/FileInput.d.ts +110 -0
- package/dist/inputs/FileInput.js +476 -0
- package/dist/inputs/Input.d.ts +148 -187
- package/dist/inputs/Input.js +339 -259
- package/dist/inputs/KeyValueInput.d.ts +120 -0
- package/dist/inputs/KeyValueInput.js +383 -0
- package/dist/inputs/MultiSelectInput.d.ts +165 -54
- package/dist/inputs/MultiSelectInput.js +175 -559
- package/dist/inputs/NumberInput.d.ts +65 -9
- package/dist/inputs/NumberInput.js +197 -40
- package/dist/inputs/PasswordInput.d.ts +17 -12
- package/dist/inputs/PasswordInput.js +33 -33
- package/dist/inputs/PinInput.d.ts +117 -0
- package/dist/inputs/PinInput.js +364 -0
- package/dist/inputs/RadioGroup.d.ts +115 -0
- package/dist/inputs/RadioGroup.js +179 -0
- package/dist/inputs/RadioInput.d.ts +87 -24
- package/dist/inputs/RadioInput.js +182 -95
- package/dist/inputs/SearchInput.d.ts +66 -0
- package/dist/inputs/SearchInput.js +156 -0
- package/dist/inputs/SelectInput.d.ts +195 -55
- package/dist/inputs/SelectInput.js +1308 -446
- package/dist/inputs/SliderInput.d.ts +150 -30
- package/dist/inputs/SliderInput.js +441 -186
- package/dist/inputs/SwitchInput.d.ts +109 -0
- package/dist/inputs/SwitchInput.js +248 -0
- package/dist/inputs/TagInput.d.ts +117 -0
- package/dist/inputs/TagInput.js +408 -0
- package/dist/inputs/TextAreaInput.d.ts +146 -44
- package/dist/inputs/TextAreaInput.js +292 -198
- package/dist/inputs/TextInput.d.ts +4 -13
- package/dist/inputs/TextInput.js +13 -48
- package/dist/inputs/ToggleInput.d.ts +120 -22
- package/dist/inputs/ToggleInput.js +262 -116
- package/dist/inputs/internal/bareField.d.ts +18 -0
- package/dist/inputs/internal/bareField.js +38 -0
- package/dist/inputs/internal/devWarn.d.ts +7 -0
- package/dist/inputs/internal/devWarn.js +30 -0
- package/dist/inputs/internal/fieldFrame.d.ts +34 -0
- package/dist/inputs/internal/fieldFrame.js +64 -0
- package/dist/inputs/internal/fieldWiring.d.ts +50 -0
- package/dist/inputs/internal/fieldWiring.js +38 -0
- package/dist/inputs/internal/innerButton.d.ts +2 -0
- package/dist/inputs/internal/innerButton.js +24 -0
- package/dist/inputs/internal/ownField.d.ts +45 -0
- package/dist/inputs/internal/ownField.js +58 -0
- package/dist/inputs/internal/predicates.d.ts +9 -0
- package/dist/inputs/internal/predicates.js +11 -0
- package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
- package/dist/inputs/internal/useComboboxPopover.js +92 -0
- package/dist/json/JsonViewer.d.ts +62 -0
- package/dist/json/JsonViewer.js +483 -0
- package/dist/layout/Box.d.ts +87 -0
- package/dist/layout/Box.js +109 -0
- package/dist/layout/Divider.d.ts +25 -0
- package/dist/layout/Divider.js +70 -0
- package/dist/layout/Flex.d.ts +139 -0
- package/dist/layout/Flex.js +165 -0
- package/dist/layout/FlexItem.d.ts +72 -0
- package/dist/layout/FlexItem.js +84 -0
- package/dist/layout/Grid.d.ts +140 -0
- package/dist/layout/Grid.js +178 -0
- package/dist/layout/Portal.d.ts +29 -0
- package/dist/layout/Portal.js +27 -0
- package/dist/layout/ResizablePanels.d.ts +88 -0
- package/dist/layout/ResizablePanels.js +198 -0
- package/dist/layout/ResizeHandle.d.ts +48 -0
- package/dist/layout/ResizeHandle.js +143 -0
- package/dist/layout/ScrollArea.d.ts +30 -0
- package/dist/layout/ScrollArea.js +138 -0
- package/dist/links/Link.d.ts +101 -1
- package/dist/links/Link.js +166 -4
- package/dist/lists/BulletedList.d.ts +25 -7
- package/dist/lists/BulletedList.js +72 -27
- package/dist/lists/DescriptionList.d.ts +91 -0
- package/dist/lists/DescriptionList.js +147 -0
- package/dist/menu/ContextMenu.d.ts +64 -0
- package/dist/menu/ContextMenu.js +34 -0
- package/dist/menu/Menu.d.ts +280 -0
- package/dist/menu/Menu.js +1003 -0
- package/dist/modal/ConfirmDialog.d.ts +55 -0
- package/dist/modal/ConfirmDialog.js +151 -0
- package/dist/modal/Modal.d.ts +64 -14
- package/dist/modal/Modal.js +189 -48
- package/dist/navigation/Breadcrumbs.d.ts +65 -0
- package/dist/navigation/Breadcrumbs.js +243 -0
- package/dist/navigation/CommandPalette.d.ts +83 -0
- package/dist/navigation/CommandPalette.js +509 -0
- package/dist/navigation/Pagination.d.ts +87 -0
- package/dist/navigation/Pagination.js +300 -0
- package/dist/navigation/SidebarNav.d.ts +107 -0
- package/dist/navigation/SidebarNav.js +341 -0
- package/dist/navigation/Stepper.d.ts +52 -0
- package/dist/navigation/Stepper.js +207 -0
- package/dist/navigation/Tabs.d.ts +113 -0
- package/dist/navigation/Tabs.js +543 -0
- package/dist/navigation/Topbar.d.ts +20 -0
- package/dist/navigation/Topbar.js +62 -0
- package/dist/overlay/OverlayProvider.d.ts +28 -32
- package/dist/overlay/OverlayProvider.js +42 -93
- package/dist/overlay/useOverlay.d.ts +88 -12
- package/dist/overlay/useOverlay.js +220 -43
- package/dist/overlays/Popover.d.ts +114 -0
- package/dist/overlays/Popover.js +389 -0
- package/dist/shapes/Circle.d.ts +84 -8
- package/dist/shapes/Circle.js +122 -20
- package/dist/shapes/Square.d.ts +84 -8
- package/dist/shapes/Square.js +123 -20
- package/dist/styles/mixins.d.ts +35 -0
- package/dist/styles/mixins.js +60 -0
- package/dist/styles.css +1 -202
- package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
- package/dist/table/InfiniteSpreadsheet.js +762 -225
- package/dist/table/InfiniteTable.d.ts +116 -14
- package/dist/table/InfiniteTable.js +287 -429
- package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
- package/dist/table/SpreadsheetCellEditor.js +163 -84
- package/dist/table/TableCore.d.ts +252 -0
- package/dist/table/TableCore.js +1077 -0
- package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
- package/dist/table/VirtualizedInfiniteTable.js +280 -219
- package/dist/table/types.d.ts +66 -244
- package/dist/table/types.js +0 -51
- package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
- package/dist/table/useInfiniteScrollSentinel.js +38 -30
- package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
- package/dist/table/useSpreadsheetCellNavigation.js +141 -0
- package/dist/table/useTableColumnLayout.d.ts +90 -25
- package/dist/table/useTableColumnLayout.js +255 -50
- package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
- package/dist/table/useTableKeyboardNavigation.js +95 -71
- package/dist/table/useTableRowSelection.d.ts +24 -25
- package/dist/table/useTableRowSelection.js +57 -84
- package/dist/table/useTableVirtualizer.d.ts +20 -0
- package/dist/table/useTableVirtualizer.js +48 -0
- package/dist/text/Bold.d.ts +5 -6
- package/dist/text/Bold.js +16 -15
- package/dist/text/Code.d.ts +5 -6
- package/dist/text/Code.js +16 -25
- package/dist/text/CodeBlock.d.ts +77 -0
- package/dist/text/CodeBlock.js +373 -0
- package/dist/text/EditableText.d.ts +55 -15
- package/dist/text/EditableText.js +153 -135
- package/dist/text/Ellipsis.d.ts +34 -8
- package/dist/text/Ellipsis.js +55 -23
- package/dist/text/Kbd.d.ts +72 -0
- package/dist/text/Kbd.js +284 -0
- package/dist/text/MarkdownText.d.ts +27 -10
- package/dist/text/MarkdownText.js +317 -300
- package/dist/text/RequiredMarker.d.ts +17 -5
- package/dist/text/RequiredMarker.js +34 -36
- package/dist/text/Selectable.d.ts +5 -6
- package/dist/text/Selectable.js +16 -13
- package/dist/text/Span.d.ts +82 -0
- package/dist/text/Span.js +115 -0
- package/dist/text/Text.d.ts +128 -41
- package/dist/text/Text.js +209 -76
- package/dist/theme/GalaxyProvider.d.ts +75 -0
- package/dist/theme/GalaxyProvider.js +223 -0
- package/dist/theme/ThemeSwitcher.d.ts +52 -0
- package/dist/theme/ThemeSwitcher.js +94 -0
- package/dist/theme/enums.d.ts +118 -0
- package/dist/theme/enums.js +144 -0
- package/dist/theme/tokens/dark.d.ts +2 -0
- package/dist/theme/tokens/dark.js +275 -0
- package/dist/theme/tokens/generate.d.ts +15 -0
- package/dist/theme/tokens/generate.js +47 -0
- package/dist/theme/tokens/light.d.ts +2 -0
- package/dist/theme/tokens/light.js +274 -0
- package/dist/theme/tokens/palette.d.ts +14 -0
- package/dist/theme/tokens/palette.js +153 -0
- package/dist/theme/tokens/scales.d.ts +26 -0
- package/dist/theme/tokens/scales.js +154 -0
- package/dist/theme/tokens/t.d.ts +3 -0
- package/dist/theme/tokens/t.js +25 -0
- package/dist/theme/tokens/types.d.ts +189 -0
- package/dist/theme/tokens/types.js +0 -0
- package/dist/theme/useGalaxyTheme.d.ts +46 -0
- package/dist/theme/useGalaxyTheme.js +36 -0
- package/dist/theme/useInverseScope.d.ts +18 -0
- package/dist/theme/useInverseScope.js +33 -0
- package/dist/three/GalaxyLogomark3D.d.ts +46 -0
- package/dist/three/GalaxyLogomark3D.js +134 -0
- package/dist/three/assets/galaxy-logomark.js +4 -0
- package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
- package/dist/three/galaxyLogomark3DScene.js +165 -0
- package/dist/timeline/Timeline.d.ts +99 -0
- package/dist/timeline/Timeline.js +269 -0
- package/dist/toast/Toast.d.ts +43 -19
- package/dist/toast/Toast.js +130 -89
- package/dist/toast/ToastProvider.d.ts +23 -23
- package/dist/toast/ToastProvider.js +298 -101
- package/dist/toast/ToastViewport.d.ts +12 -0
- package/dist/toast/ToastViewport.js +210 -0
- package/dist/toast/useToast.d.ts +139 -5
- package/dist/toast/useToast.js +15 -13
- package/dist/tokens.css +654 -0
- package/dist/tooltip/Tooltip.d.ts +64 -44
- package/dist/tooltip/Tooltip.js +280 -73
- package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
- package/dist/tooltip/internal/LazyTooltip.js +53 -0
- package/dist/transform/Fade.d.ts +33 -11
- package/dist/transform/Fade.js +71 -19
- package/dist/transform/Flasher.d.ts +25 -0
- package/dist/transform/Flasher.js +39 -0
- package/dist/transform/Rotate.d.ts +24 -12
- package/dist/transform/Rotate.js +36 -22
- package/dist/transform/ScaleFade.d.ts +36 -11
- package/dist/transform/ScaleFade.js +86 -28
- package/dist/transform/internal/CollapseMotion.d.ts +10 -0
- package/dist/transform/internal/CollapseMotion.js +65 -0
- package/dist/tree/Tree.d.ts +85 -0
- package/dist/tree/Tree.js +387 -0
- package/dist/tree/treeRow.d.ts +39 -0
- package/dist/tree/treeRow.js +75 -0
- package/dist/utils/colors.d.ts +46 -13
- package/dist/utils/colors.js +92 -34
- package/dist/utils/css.d.ts +23 -0
- package/dist/utils/css.js +30 -0
- package/dist/utils/format.d.ts +58 -0
- package/dist/utils/format.js +220 -0
- package/dist/vite/index.d.ts +16 -0
- package/dist/vite/index.js +52 -0
- package/dist/widget/Widget.d.ts +164 -48
- package/dist/widget/Widget.js +335 -96
- package/dist/widget/WidgetGroup.d.ts +36 -0
- package/dist/widget/WidgetGroup.js +103 -0
- package/package.json +851 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -27
- package/dist/inputs/SwitcherInput.js +0 -64
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
package/dist/charts/BarChart.js
CHANGED
|
@@ -1,82 +1,80 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { Orientation } from "../theme/enums.js";
|
|
2
|
+
import { ChartKind, ChartLegendPlacement, ChartMarkState, ChartTargetShape } from "./types.js";
|
|
3
|
+
import { CHART_BAR_CSS, CHART_CURSOR_BAND_CSS, CHART_CURSOR_BAND_SELECTED_CSS, CHART_MARK_STATE_TO_CSS_MAP } from "./ChartPrimitives.js";
|
|
4
|
+
import "./constants.js";
|
|
5
|
+
import { ChartCategoryAxis, ChartValueAxis } from "./ChartAxis.js";
|
|
6
|
+
import { resolveChartSeriesColor } from "./chartPalette.js";
|
|
7
|
+
import { ChartLegendSwatch } from "./ChartLegend.js";
|
|
8
|
+
import { ChartFrame } from "./ChartFrame.js";
|
|
9
|
+
import { formatChartValue, resolveValueFormatter } from "./chartFormat.js";
|
|
4
10
|
import { useCartesianChartLayout } from "./useCartesianChartLayout.js";
|
|
11
|
+
import { useChartInteraction } from "./useChartInteraction.js";
|
|
12
|
+
import { useSeriesColorResolver } from "./useSeriesColorResolver.js";
|
|
13
|
+
import { buildBarChartGeometry, getBarValueDomain, isBarChartStacked, roundedRectPath } from "./barChartGeometry.js";
|
|
5
14
|
import { getBarLegendItems } from "./barChartLegend.js";
|
|
6
|
-
import {
|
|
7
|
-
import { ChartBarPath, ChartCursorBand } from "./ChartPrimitives.js";
|
|
8
|
-
import ChartFrame from "./ChartFrame.js";
|
|
9
|
-
import { ChartCategoryAxis, ChartValueAxis } from "./ChartAxis.js";
|
|
10
|
-
import { useCallback, useMemo, useRef } from "react";
|
|
15
|
+
import { forwardRef, useCallback, useMemo, useRef } from "react";
|
|
11
16
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
import { cx } from "@linaria/core";
|
|
12
18
|
//#region src/charts/BarChart.tsx
|
|
13
19
|
/**
|
|
14
|
-
*
|
|
20
|
+
* BarChart compares values across categories with vertical bars. Its data model is three levels:
|
|
21
|
+
* category **group** → one **bar** per metric → stacked **components**. A chart is grouped
|
|
22
|
+
* (several bars side by side), stacked (several components in a bar) or both, with no mode
|
|
23
|
+
* switch; `normalization={PERCENT}` turns every bar into a 100% stack. Hover and keyboard work per
|
|
24
|
+
* category: a quiet band marks the column, other columns step back, and the tooltip lists the
|
|
25
|
+
* column's values. A click names the segment under the pointer (or the column); Enter names the
|
|
26
|
+
* column. It joins `ChartGroupProvider` sync.
|
|
15
27
|
*
|
|
16
|
-
*
|
|
17
|
-
* `
|
|
18
|
-
* and a chart doing both at once needs no extra configuration.
|
|
28
|
+
* The chart fills its parent (2:1 when the parent has no definite height): size it with a `Box`,
|
|
29
|
+
* `Grid` track or flex item. Needs the optional peers `d3-scale` and `d3-shape`.
|
|
19
30
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
31
|
+
/** How bar values are scaled before drawing. Not a grouped/stacked switch: that comes from the data. */
|
|
32
|
+
var BarChartNormalization = /* @__PURE__ */ function(BarChartNormalization) {
|
|
33
|
+
/** Plot raw values. The default. */
|
|
34
|
+
BarChartNormalization["NONE"] = "NONE";
|
|
35
|
+
/** Scale each bar's components to fill the axis: a 100% stacked chart. */
|
|
36
|
+
BarChartNormalization["PERCENT"] = "PERCENT";
|
|
37
|
+
return BarChartNormalization;
|
|
38
|
+
}({});
|
|
39
|
+
var DEFAULT_PLACEHOLDER = "No data available";
|
|
40
|
+
/** The percent-normalized axis reads shares unless the app formats values itself (1.x rule). */
|
|
41
|
+
var PERCENT_AXIS_FORMATTER = (value) => `${Math.round(value * 100)}%`;
|
|
42
|
+
/** Tooltip rows of one bar, top segment first (positives outward-in, zeros, then negatives). */
|
|
43
|
+
function visualOrder(components) {
|
|
44
|
+
const indexed = components.map((component, index) => ({
|
|
45
|
+
component,
|
|
46
|
+
index
|
|
47
|
+
}));
|
|
48
|
+
const rank = ({ component, index }) => component.value > 0 ? -index : component.value === 0 ? 0 : 1 + index;
|
|
49
|
+
return [...indexed].sort((a, b) => rank(a) - rank(b) || a.index - b.index).map(({ component }) => component);
|
|
50
|
+
}
|
|
51
|
+
function BarChartInner(props, ref) {
|
|
52
|
+
const { series, groups, normalization = "NONE", minSegmentLength = 0, valueFormatter, labelFormatter, valueDomain, axisLabels, hasLegend = true, hasTooltip = true, renderTooltip, isLoading = false, placeholder = DEFAULT_PLACEHOLDER, onSelect, selection, ariaLabel, id, className, style, ...rest } = props;
|
|
53
|
+
const plotRef = useRef(null);
|
|
22
54
|
const colors = useSeriesColorResolver(series);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
* which describes their real units — would label it `0.2`, `0.4`. Unless they
|
|
28
|
-
* asked for something specific, show shares as percentages.
|
|
29
|
-
*
|
|
30
|
-
* Deliberately not used for the tooltip. `stackComponents` normalizes each
|
|
31
|
-
* segment's extent but leaves its `value` raw, so a tooltip row still carries
|
|
32
|
-
* the real number: the axis reports the share, the tooltip reports what the
|
|
33
|
-
* share is made of. Running a row through this would multiply a raw 200 into
|
|
34
|
-
* `20000%`.
|
|
35
|
-
*/
|
|
36
|
-
const deriveAxisFormatter = useCallback((formatValue) => {
|
|
37
|
-
if (normalization !== BarChartNormalization.PERCENT) return formatValue;
|
|
38
|
-
if (valueFormatter || valueUnit) return formatValue;
|
|
39
|
-
return (value) => `${Math.round(value * 100)}%`;
|
|
40
|
-
}, [
|
|
41
|
-
normalization,
|
|
42
|
-
valueFormatter,
|
|
43
|
-
valueUnit
|
|
44
|
-
]);
|
|
45
|
-
const { dimensions, domain, valueTicks, formatValue, formatLabel, formatAxisValue } = useCartesianChartLayout({
|
|
46
|
-
containerRef,
|
|
55
|
+
const axisValueFormatter = normalization === "PERCENT" && valueFormatter === void 0 ? PERCENT_AXIS_FORMATTER : valueFormatter;
|
|
56
|
+
const formatValue = useMemo(() => resolveValueFormatter(valueFormatter), [valueFormatter]);
|
|
57
|
+
const { dimensions, domain, valueTicks, formatValue: formatAxisValue, formatLabel } = useCartesianChartLayout({
|
|
58
|
+
plotRef,
|
|
47
59
|
rawDomain: useMemo(() => getBarValueDomain(groups, normalization), [groups, normalization]),
|
|
48
60
|
valueDomain,
|
|
49
|
-
|
|
50
|
-
height,
|
|
51
|
-
fillWidth,
|
|
52
|
-
fillHeight,
|
|
53
|
-
aspectRatio,
|
|
54
|
-
margin,
|
|
55
|
-
valueUnit,
|
|
56
|
-
valueFormatter,
|
|
61
|
+
valueFormatter: axisValueFormatter,
|
|
57
62
|
labelFormatter,
|
|
58
|
-
|
|
59
|
-
valueAxisTitle,
|
|
60
|
-
categoryAxisTitle
|
|
63
|
+
axisLabels
|
|
61
64
|
});
|
|
62
65
|
const { plotWidth, plotHeight } = dimensions;
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
* paint every segment identically.
|
|
71
|
-
*/
|
|
72
|
-
const isStacked = useMemo(() => groups.some((group) => group.bars.some((bar) => bar.components.length > 1)), [groups]);
|
|
73
|
-
const resolveColor = useCallback(({ metric, componentIndex, isStacked: barIsStacked, explicit }) => barIsStacked ? colors.resolveByIndex(componentIndex, explicit) : colors.resolve(metric, explicit), [colors]);
|
|
66
|
+
/** Stacked charts color components (every stack repeats the ramp); others color metrics. */
|
|
67
|
+
const isStacked = useMemo(() => isBarChartStacked(groups), [groups]);
|
|
68
|
+
const resolveColor = useCallback(({ metric, componentIndex, explicit, hex }) => {
|
|
69
|
+
if (isStacked) return resolveChartSeriesColor(componentIndex, explicit, hex);
|
|
70
|
+
if (explicit !== void 0 || hex !== void 0) return resolveChartSeriesColor(colors.keys.indexOf(metric), explicit, hex);
|
|
71
|
+
return colors.resolve(metric);
|
|
72
|
+
}, [isStacked, colors]);
|
|
74
73
|
const geometry = useMemo(() => buildBarChartGeometry({
|
|
75
74
|
groups,
|
|
76
75
|
plotWidth,
|
|
77
76
|
plotHeight,
|
|
78
77
|
normalization,
|
|
79
|
-
isStacked,
|
|
80
78
|
domain,
|
|
81
79
|
resolveColor,
|
|
82
80
|
minSegmentLength
|
|
@@ -85,12 +83,11 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
85
83
|
plotWidth,
|
|
86
84
|
plotHeight,
|
|
87
85
|
normalization,
|
|
88
|
-
isStacked,
|
|
89
86
|
domain,
|
|
90
87
|
resolveColor,
|
|
91
88
|
minSegmentLength
|
|
92
89
|
]);
|
|
93
|
-
const isEmpty = groups.length === 0;
|
|
90
|
+
const isEmpty = groups.length === 0 || groups.every((group) => group.bars.length === 0);
|
|
94
91
|
const legendItems = useMemo(() => getBarLegendItems({
|
|
95
92
|
isStacked,
|
|
96
93
|
series,
|
|
@@ -105,26 +102,44 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
105
102
|
const legendKeys = useMemo(() => legendItems.map((item) => item.key), [legendItems]);
|
|
106
103
|
const categoryKeys = useMemo(() => groups.map((group) => group.label), [groups]);
|
|
107
104
|
const interaction = useChartInteraction({
|
|
108
|
-
categoryCount:
|
|
105
|
+
categoryCount: groups.length,
|
|
109
106
|
seriesKeys: legendKeys,
|
|
110
107
|
categoryKeys,
|
|
111
108
|
categoryMuteState: ChartMarkState.DIMMED,
|
|
112
109
|
selection,
|
|
113
|
-
isDisabled:
|
|
110
|
+
isDisabled: !(hasTooltip || onSelect) || isLoading || isEmpty,
|
|
114
111
|
isLoading
|
|
115
112
|
});
|
|
116
|
-
const
|
|
113
|
+
const seriesKeyOf = useCallback((rect) => isStacked ? rect.componentKey : rect.metric, [isStacked]);
|
|
117
114
|
const buildCategoryTooltip = useCallback((index) => {
|
|
118
115
|
const band = geometry.bands[index];
|
|
119
116
|
const group = groups[index];
|
|
120
117
|
if (!band || !group) return null;
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
118
|
+
const isGrouped = group.bars.length > 1;
|
|
119
|
+
const rows = [];
|
|
120
|
+
group.bars.forEach((bar, barIndex) => {
|
|
121
|
+
const metricLabel = series[bar.metric]?.label ?? bar.metric;
|
|
122
|
+
const indexed = bar.components.map((component, componentIndex) => ({
|
|
123
|
+
component,
|
|
124
|
+
componentIndex,
|
|
125
|
+
value: component.value
|
|
126
|
+
}));
|
|
127
|
+
for (const { component, componentIndex } of visualOrder(indexed)) {
|
|
128
|
+
const label = !isStacked ? metricLabel : isGrouped ? `${metricLabel} · ${component.label}` : component.label;
|
|
129
|
+
rows.push({
|
|
130
|
+
key: `${index}:${barIndex}:${component.key}`,
|
|
131
|
+
label,
|
|
132
|
+
value: component.value,
|
|
133
|
+
formattedValue: formatChartValue(component.value, formatValue),
|
|
134
|
+
color: resolveColor({
|
|
135
|
+
metric: bar.metric,
|
|
136
|
+
componentIndex,
|
|
137
|
+
explicit: component.color,
|
|
138
|
+
hex: component.hex
|
|
139
|
+
}).color
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
});
|
|
128
143
|
return {
|
|
129
144
|
label: formatLabel(group.label),
|
|
130
145
|
rows,
|
|
@@ -132,13 +147,16 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
132
147
|
anchorY: band.anchorY
|
|
133
148
|
};
|
|
134
149
|
}, [
|
|
135
|
-
geometry,
|
|
150
|
+
geometry.bands,
|
|
136
151
|
groups,
|
|
152
|
+
series,
|
|
153
|
+
isStacked,
|
|
137
154
|
formatValue,
|
|
138
|
-
formatLabel
|
|
155
|
+
formatLabel,
|
|
156
|
+
resolveColor
|
|
139
157
|
]);
|
|
140
158
|
const categoryPositions = useMemo(() => geometry.bands.map((band) => band.x), [geometry.bands]);
|
|
141
|
-
const categoryStep = geometry.
|
|
159
|
+
const categoryStep = geometry.step;
|
|
142
160
|
const categoryTargets = useMemo(() => geometry.bands.map((band) => ({
|
|
143
161
|
key: String(band.groupIndex),
|
|
144
162
|
shape: ChartTargetShape.RECT,
|
|
@@ -147,15 +165,6 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
147
165
|
width: band.width,
|
|
148
166
|
height: band.height
|
|
149
167
|
})), [geometry.bands]);
|
|
150
|
-
/**
|
|
151
|
-
* One clickable target per drawn rectangle, over the bands.
|
|
152
|
-
*
|
|
153
|
-
* The rects already carry everything a click needs, so the target is exactly
|
|
154
|
-
* the mark — no inflation to make a thin segment easier to hit. Growing one
|
|
155
|
-
* would overlap the neighbour whose edge the geometry snapped to the same
|
|
156
|
-
* pixel, and a segment too small to hit still lands on the band beneath and
|
|
157
|
-
* selects its category, which is the honest answer for a sliver.
|
|
158
|
-
*/
|
|
159
168
|
const markTargets = useMemo(() => geometry.rects.map((rect) => ({
|
|
160
169
|
key: rect.id,
|
|
161
170
|
categoryIndex: rect.groupIndex,
|
|
@@ -175,52 +184,56 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
175
184
|
}, [groups, onSelect]);
|
|
176
185
|
const handleMarkSelect = useCallback((index) => {
|
|
177
186
|
const rect = geometry.rects[index];
|
|
178
|
-
|
|
187
|
+
const group = groups[rect?.groupIndex ?? -1];
|
|
188
|
+
if (!rect || !group || !onSelect) return;
|
|
179
189
|
onSelect({
|
|
180
190
|
categoryIndex: rect.groupIndex,
|
|
181
|
-
categoryKey:
|
|
182
|
-
seriesKey:
|
|
191
|
+
categoryKey: group.label,
|
|
192
|
+
seriesKey: seriesKeyOf(rect),
|
|
183
193
|
value: rect.value
|
|
184
194
|
});
|
|
185
195
|
}, [
|
|
186
196
|
geometry.rects,
|
|
187
197
|
groups,
|
|
188
|
-
|
|
189
|
-
|
|
198
|
+
onSelect,
|
|
199
|
+
seriesKeyOf
|
|
190
200
|
]);
|
|
201
|
+
const activeBand = interaction.activeIndex === null ? void 0 : geometry.bands[interaction.activeIndex];
|
|
191
202
|
return /* @__PURE__ */ jsxs(ChartFrame, {
|
|
192
|
-
|
|
203
|
+
rootRef: ref,
|
|
204
|
+
plotRef,
|
|
205
|
+
id,
|
|
206
|
+
className,
|
|
207
|
+
style,
|
|
208
|
+
rest,
|
|
193
209
|
dimensions,
|
|
194
|
-
fillWidth,
|
|
195
|
-
fillHeight,
|
|
196
210
|
interaction,
|
|
197
211
|
kind: ChartKind.BAR,
|
|
198
212
|
categoryCount: groups.length,
|
|
199
213
|
ariaLabel,
|
|
200
|
-
|
|
214
|
+
aspectRatio: 2,
|
|
201
215
|
axes: /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ChartValueAxis, {
|
|
202
216
|
ticks: valueTicks,
|
|
203
217
|
scale: geometry.valueScale,
|
|
204
218
|
plotWidth,
|
|
205
219
|
plotHeight,
|
|
206
|
-
|
|
220
|
+
insetLeft: dimensions.insets.left,
|
|
207
221
|
formatter: formatAxisValue,
|
|
208
|
-
|
|
209
|
-
title: valueAxisTitle
|
|
222
|
+
title: axisLabels?.value
|
|
210
223
|
}), /* @__PURE__ */ jsx(ChartCategoryAxis, {
|
|
211
224
|
labels: categoryKeys,
|
|
212
225
|
positions: categoryPositions,
|
|
213
226
|
step: categoryStep,
|
|
214
227
|
plotWidth,
|
|
215
228
|
plotHeight,
|
|
229
|
+
orientation: Orientation.HORIZONTAL,
|
|
230
|
+
insetLeft: dimensions.insets.left,
|
|
216
231
|
formatter: formatLabel,
|
|
217
|
-
|
|
218
|
-
title: categoryAxisTitle
|
|
232
|
+
title: axisLabels?.category
|
|
219
233
|
})] }),
|
|
220
|
-
|
|
234
|
+
hasTooltip,
|
|
221
235
|
buildCategoryTooltip,
|
|
222
|
-
|
|
223
|
-
tooltipMaxItems,
|
|
236
|
+
renderTooltip,
|
|
224
237
|
categoryTargets,
|
|
225
238
|
markTargets,
|
|
226
239
|
onCategorySelect: onSelect && handleCategorySelect,
|
|
@@ -228,34 +241,41 @@ var BarChart = ({ series, groups, width, height, fillWidth, fillHeight, aspectRa
|
|
|
228
241
|
anchorHalfWidth: categoryStep / 2,
|
|
229
242
|
isEmpty,
|
|
230
243
|
isLoading,
|
|
231
|
-
|
|
232
|
-
|
|
244
|
+
placeholder,
|
|
245
|
+
hasLegend,
|
|
233
246
|
legendItems,
|
|
234
|
-
|
|
247
|
+
legendPlacement: ChartLegendPlacement.BOTTOM,
|
|
248
|
+
legendSwatch: ChartLegendSwatch.SQUARE,
|
|
249
|
+
tooltipSwatch: ChartLegendSwatch.SQUARE,
|
|
235
250
|
children: [
|
|
236
|
-
geometry.bands.filter((band) => interaction.selectedCategoryIndices.has(band.groupIndex)).map((band) => /* @__PURE__ */ jsx(
|
|
251
|
+
geometry.bands.filter((band) => interaction.selectedCategoryIndices.has(band.groupIndex)).map((band) => /* @__PURE__ */ jsx("rect", {
|
|
237
252
|
x: band.x,
|
|
238
253
|
y: band.y,
|
|
239
254
|
width: band.width,
|
|
240
255
|
height: band.height,
|
|
241
|
-
|
|
256
|
+
className: cx(CHART_CURSOR_BAND_CSS, CHART_CURSOR_BAND_SELECTED_CSS)
|
|
242
257
|
}, `selected:${band.groupIndex}`)),
|
|
243
|
-
|
|
258
|
+
activeBand && /* @__PURE__ */ jsx("rect", {
|
|
244
259
|
x: activeBand.x,
|
|
245
260
|
y: activeBand.y,
|
|
246
261
|
width: activeBand.width,
|
|
247
|
-
height: activeBand.height
|
|
262
|
+
height: activeBand.height,
|
|
263
|
+
className: "gx-ChartPrimitives-CHART_CURSOR_BAND_CSS-c1iaray"
|
|
248
264
|
}),
|
|
249
|
-
geometry.rects.map((rect) => /* @__PURE__ */ jsx(
|
|
265
|
+
geometry.rects.map((rect) => /* @__PURE__ */ jsx("path", {
|
|
250
266
|
d: roundedRectPath(rect.x, rect.y, rect.width, rect.height, rect.radius, rect.corners),
|
|
251
|
-
|
|
252
|
-
"data-state": interaction.getMarkState({
|
|
267
|
+
className: cx(CHART_BAR_CSS, CHART_MARK_STATE_TO_CSS_MAP[interaction.getMarkState({
|
|
253
268
|
categoryIndex: rect.groupIndex,
|
|
254
|
-
seriesKey:
|
|
255
|
-
})
|
|
269
|
+
seriesKey: seriesKeyOf(rect)
|
|
270
|
+
})]),
|
|
271
|
+
style: { "--gx-chart-mark-color": rect.color.color }
|
|
256
272
|
}, rect.id))
|
|
257
273
|
]
|
|
258
274
|
});
|
|
259
|
-
}
|
|
275
|
+
}
|
|
276
|
+
var BarChartForwarded = forwardRef(BarChartInner);
|
|
277
|
+
BarChartForwarded.displayName = "BarChart";
|
|
278
|
+
/** Vertical bars over a categorical x-axis: grouped, stacked, or both. */
|
|
279
|
+
var BarChart = BarChartForwarded;
|
|
260
280
|
//#endregion
|
|
261
|
-
export { BarChart as default };
|
|
281
|
+
export { BarChartNormalization, BarChart as default };
|
|
@@ -1,53 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { ChartLabelFormatter, ChartValueFormatter } from "./types";
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Neither axis draws a domain line or tick marks — the grid lines carry the
|
|
7
|
-
* structure, and the one at zero is what makes bars read as resting on a
|
|
8
|
-
* baseline rather than floating.
|
|
9
|
-
*/
|
|
10
|
-
interface ChartValueAxisProps {
|
|
1
|
+
import { Orientation } from "../theme/enums.js";
|
|
2
|
+
import type { ChartLabelFormatter, ChartValueFormatter } from "./types.js";
|
|
3
|
+
/** @internal Props of `ChartValueAxis`. */
|
|
4
|
+
export interface ChartValueAxisProps {
|
|
5
|
+
/** Tick values. */
|
|
11
6
|
ticks: number[];
|
|
12
|
-
/**
|
|
7
|
+
/** Tick value → y in plot coordinates. */
|
|
13
8
|
scale: (value: number) => number;
|
|
9
|
+
/** Plot width (grid line length). */
|
|
14
10
|
plotWidth: number;
|
|
15
|
-
/**
|
|
16
|
-
* The chart's left margin. The label box is this minus the tick gap, so the
|
|
17
|
-
* axis follows the margin instead of hardcoding an offset — a custom margin
|
|
18
|
-
* used to push these labels outside the viewport.
|
|
19
|
-
*/
|
|
20
|
-
marginLeft: number;
|
|
21
|
-
/** Needed to centre a rotated axis title along the gutter. */
|
|
11
|
+
/** Plot height (centers the rotated title). */
|
|
22
12
|
plotHeight: number;
|
|
13
|
+
/** The left inset; the label box is this less the title band and the tick gap. */
|
|
14
|
+
insetLeft: number;
|
|
15
|
+
/** Tick label formatter. */
|
|
23
16
|
formatter: ChartValueFormatter;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
* Rotated title in the left gutter.
|
|
27
|
-
*
|
|
28
|
-
* Space for it must already be reserved by `addAxisTitleSpace`, since the
|
|
29
|
-
* margin is resolved before this renders.
|
|
30
|
-
*/
|
|
31
|
-
title?: string;
|
|
17
|
+
/** Rotated title in the left gutter (`axisLabels.value`). */
|
|
18
|
+
title?: string | undefined;
|
|
32
19
|
}
|
|
33
|
-
|
|
34
|
-
|
|
20
|
+
/** @internal Grid hairlines at every tick, tick labels, and the value axis title. */
|
|
21
|
+
export declare function ChartValueAxis({ ticks, scale, plotWidth, plotHeight, insetLeft, formatter, title, }: ChartValueAxisProps): import("react").JSX.Element;
|
|
22
|
+
/** @internal Props of `ChartCategoryAxis`. */
|
|
23
|
+
export interface ChartCategoryAxisProps {
|
|
24
|
+
/** Raw category labels. */
|
|
35
25
|
labels: string[];
|
|
36
|
-
/**
|
|
26
|
+
/** Leading edge of each category's slot (left for `HORIZONTAL`, top for `VERTICAL`), plot coordinates. */
|
|
37
27
|
positions: number[];
|
|
38
|
-
/**
|
|
28
|
+
/** Size of one category slot along the axis. */
|
|
39
29
|
step: number;
|
|
40
|
-
/**
|
|
30
|
+
/** Plot width. */
|
|
41
31
|
plotWidth: number;
|
|
32
|
+
/** Plot height. */
|
|
42
33
|
plotHeight: number;
|
|
34
|
+
/** `HORIZONTAL` under the plot; `VERTICAL` beside it (Heatmap rows). */
|
|
35
|
+
orientation: Orientation;
|
|
36
|
+
/** The left inset: the `VERTICAL` label gutter; for `HORIZONTAL`, how far an end label may run left of the plot. */
|
|
37
|
+
insetLeft?: number;
|
|
38
|
+
/** Label formatter. */
|
|
43
39
|
formatter: ChartLabelFormatter;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
* Title below the tick labels.
|
|
47
|
-
*
|
|
48
|
-
* Space for it must already be reserved by `addAxisTitleSpace`.
|
|
49
|
-
*/
|
|
50
|
-
title?: string;
|
|
40
|
+
/** Category axis title (`axisLabels.category`). */
|
|
41
|
+
title?: string | undefined;
|
|
51
42
|
}
|
|
52
|
-
|
|
53
|
-
|
|
43
|
+
/**
|
|
44
|
+
* @internal Category labels with `AUTO` thinning: every label that fits, otherwise every nth
|
|
45
|
+
* (a skipped label is still inferable from its neighbours; a clipped one carries nothing). A
|
|
46
|
+
* rendered label may spread over the run it stands for.
|
|
47
|
+
*/
|
|
48
|
+
export declare function ChartCategoryAxis({ labels, positions, step, plotWidth, plotHeight, orientation, insetLeft, formatter, title, }: ChartCategoryAxisProps): import("react").JSX.Element;
|