@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/LineChart.js
CHANGED
|
@@ -1,44 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { useCartesianChartLayout } from "./useCartesianChartLayout.js";
|
|
6
|
-
import { buildLineChartGeometry, getLineValueDomain } from "./lineChartGeometry.js";
|
|
7
|
-
import { ChartAreaPath, ChartCursorLine, ChartLinePath, ChartPointCircle } from "./ChartPrimitives.js";
|
|
8
|
-
import ChartFrame from "./ChartFrame.js";
|
|
1
|
+
import { Orientation } from "../theme/enums.js";
|
|
2
|
+
import { ChartCurve, ChartKind, ChartLegendPlacement, ChartTargetShape } from "./types.js";
|
|
3
|
+
import { CHART_CURSOR_LINE_CSS, CHART_CURSOR_LINE_SELECTED_CSS, CHART_MARK_STATE_TO_CSS_MAP, CHART_POINT_CSS } from "./ChartPrimitives.js";
|
|
4
|
+
import { LINE_POINT_RADIUS } from "./constants.js";
|
|
9
5
|
import { ChartCategoryAxis, ChartValueAxis } from "./ChartAxis.js";
|
|
10
|
-
import {
|
|
6
|
+
import { ChartLegendSwatch } from "./ChartLegend.js";
|
|
7
|
+
import { ChartFrame } from "./ChartFrame.js";
|
|
8
|
+
import { formatChartValue } from "./chartFormat.js";
|
|
9
|
+
import { buildLineChartGeometry, getLineValueDomain, getStackedLineValueDomain, hasNoReadings } from "./lineChartGeometry.js";
|
|
10
|
+
import { useCartesianChartLayout } from "./useCartesianChartLayout.js";
|
|
11
|
+
import { useChartInteraction } from "./useChartInteraction.js";
|
|
12
|
+
import { useSeriesColorResolver } from "./useSeriesColorResolver.js";
|
|
13
|
+
import { forwardRef, useCallback, useMemo, useRef } from "react";
|
|
11
14
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { cx } from "@linaria/core";
|
|
12
16
|
//#region src/charts/LineChart.tsx
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
18
|
+
* LineChart plots one or more series as lines over a categorical x-axis (hours, days, releases)
|
|
19
|
+
* so a reader can compare trends. Each line is a series named in the `series` record and colored
|
|
20
|
+
* from `ChartPalette`; a `null` reading breaks the line instead of dropping to zero. Hover or
|
|
21
|
+
* keyboard focus works per category column: a cursor rule marks the column, every line shows its
|
|
22
|
+
* dot there, and the tooltip lists every line's value. Clicks and Enter report the category
|
|
23
|
+
* through `onSelect`. It joins `ChartGroupProvider` sync.
|
|
15
24
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
|
|
25
|
+
* Filled series are `AreaChart`; inline trends without axes are `Sparkline`. The chart fills its
|
|
26
|
+
* parent (2:1 when the parent has no definite height): size it with a `Box`, `Grid` track or
|
|
27
|
+
* flex item. Needs the optional peers `d3-scale` and `d3-shape`.
|
|
28
|
+
*/
|
|
29
|
+
/** @internal How `LineChartRoot` fills under its lines. */
|
|
30
|
+
var LineChartFill = /* @__PURE__ */ function(LineChartFill) {
|
|
31
|
+
/** Lines only (LineChart). */
|
|
32
|
+
LineChartFill["NONE"] = "NONE";
|
|
33
|
+
/** A translucent area to the baseline (AreaChart). */
|
|
34
|
+
LineChartFill["AREA"] = "AREA";
|
|
35
|
+
return LineChartFill;
|
|
36
|
+
}({});
|
|
37
|
+
var DEFAULT_PLACEHOLDER = "No data available";
|
|
38
|
+
/**
|
|
39
|
+
* @internal Shared by LineChart and AreaChart; apps use those. One engine, two public
|
|
40
|
+
* components, no public mode prop (the `MenuRoot` precedent).
|
|
20
41
|
*/
|
|
21
|
-
|
|
22
|
-
const
|
|
42
|
+
function LineChartRootInner(props, ref) {
|
|
43
|
+
const { series, lines, categories, curve = ChartCurve.SMOOTH, fill, isStacked, kind, valueFormatter, labelFormatter, valueDomain, axisLabels, hasLegend = true, hasTooltip = true, renderTooltip, isLoading = false, placeholder = DEFAULT_PLACEHOLDER, onSelect, selection, ariaLabel, id, className, style, ...rest } = props;
|
|
44
|
+
const plotRef = useRef(null);
|
|
23
45
|
const colors = useSeriesColorResolver(series);
|
|
24
46
|
const { dimensions, domain, valueTicks, formatValue, formatLabel } = useCartesianChartLayout({
|
|
25
|
-
|
|
26
|
-
rawDomain: useMemo(() => getLineValueDomain(lines), [
|
|
47
|
+
plotRef,
|
|
48
|
+
rawDomain: useMemo(() => isStacked ? getStackedLineValueDomain(lines, categories) : getLineValueDomain(lines), [
|
|
49
|
+
isStacked,
|
|
50
|
+
lines,
|
|
51
|
+
categories
|
|
52
|
+
]),
|
|
27
53
|
valueDomain,
|
|
28
|
-
width,
|
|
29
|
-
height,
|
|
30
|
-
fillWidth,
|
|
31
|
-
fillHeight,
|
|
32
|
-
aspectRatio,
|
|
33
|
-
margin,
|
|
34
|
-
valueUnit,
|
|
35
54
|
valueFormatter,
|
|
36
55
|
labelFormatter,
|
|
37
|
-
|
|
38
|
-
categoryAxisTitle
|
|
56
|
+
axisLabels
|
|
39
57
|
});
|
|
40
58
|
const { plotWidth, plotHeight } = dimensions;
|
|
41
|
-
const resolveColor = useCallback(({ metric }) => colors.resolve(metric), [colors]);
|
|
42
59
|
const geometry = useMemo(() => buildLineChartGeometry({
|
|
43
60
|
lines,
|
|
44
61
|
categories,
|
|
@@ -46,8 +63,9 @@ var LineChart = ({ series, lines, categories, width, height, fillWidth, fillHeig
|
|
|
46
63
|
plotHeight,
|
|
47
64
|
curve,
|
|
48
65
|
domain,
|
|
49
|
-
|
|
50
|
-
|
|
66
|
+
hasArea: fill === "AREA",
|
|
67
|
+
isStacked,
|
|
68
|
+
resolveColor: colors.resolve
|
|
51
69
|
}), [
|
|
52
70
|
lines,
|
|
53
71
|
categories,
|
|
@@ -55,38 +73,60 @@ var LineChart = ({ series, lines, categories, width, height, fillWidth, fillHeig
|
|
|
55
73
|
plotHeight,
|
|
56
74
|
curve,
|
|
57
75
|
domain,
|
|
58
|
-
|
|
59
|
-
|
|
76
|
+
fill,
|
|
77
|
+
isStacked,
|
|
78
|
+
colors.resolve
|
|
60
79
|
]);
|
|
61
|
-
const isEmpty = geometry.categories.length === 0 || lines.length === 0;
|
|
62
|
-
const legendItems = useMemo(() => colors.keys.map((
|
|
63
|
-
key
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
80
|
+
const isEmpty = geometry.categories.length === 0 || lines.length === 0 || hasNoReadings(lines);
|
|
81
|
+
const legendItems = useMemo(() => colors.keys.map((key) => {
|
|
82
|
+
const color = colors.resolve(key);
|
|
83
|
+
return {
|
|
84
|
+
key,
|
|
85
|
+
label: series[key]?.label ?? key,
|
|
86
|
+
...color.palette !== void 0 && { palette: color.palette },
|
|
87
|
+
...color.hex !== void 0 && { hex: color.hex }
|
|
88
|
+
};
|
|
89
|
+
}), [colors, series]);
|
|
90
|
+
const seriesKeys = useMemo(() => legendItems.map((item) => item.key), [legendItems]);
|
|
68
91
|
const interaction = useChartInteraction({
|
|
69
|
-
categoryCount: geometry.
|
|
70
|
-
seriesKeys
|
|
92
|
+
categoryCount: geometry.categories.length,
|
|
93
|
+
seriesKeys,
|
|
71
94
|
categoryKeys: geometry.categories,
|
|
72
95
|
selection,
|
|
73
|
-
isDisabled:
|
|
96
|
+
isDisabled: !(hasTooltip || onSelect) || isLoading || isEmpty,
|
|
74
97
|
isLoading
|
|
75
98
|
});
|
|
76
|
-
const activeColumn = interaction.activeIndex === null ?
|
|
99
|
+
const activeColumn = interaction.activeIndex === null ? void 0 : geometry.columns[interaction.activeIndex];
|
|
77
100
|
const buildCategoryTooltip = useCallback((index) => {
|
|
78
101
|
const column = geometry.columns[index];
|
|
79
102
|
if (!column) return null;
|
|
80
|
-
const
|
|
103
|
+
const label = (metric) => series[metric]?.label ?? metric;
|
|
104
|
+
const gapRow = (metric) => ({
|
|
105
|
+
key: `${metric}:gap`,
|
|
106
|
+
label: label(metric),
|
|
107
|
+
value: null,
|
|
108
|
+
formattedValue: formatChartValue(null, formatValue),
|
|
109
|
+
color: colors.resolve(metric).color
|
|
110
|
+
});
|
|
111
|
+
const pointRow = (point) => ({
|
|
81
112
|
key: point.id,
|
|
82
|
-
label:
|
|
113
|
+
label: label(point.metric),
|
|
83
114
|
value: point.value,
|
|
84
|
-
formattedValue:
|
|
85
|
-
color: point.color
|
|
86
|
-
})
|
|
115
|
+
formattedValue: formatChartValue(point.value, formatValue),
|
|
116
|
+
color: point.color.color
|
|
117
|
+
});
|
|
118
|
+
let rows;
|
|
119
|
+
if (isStacked) rows = [...lines].reverse().map((lineDatum) => {
|
|
120
|
+
const point = column.points.find((item) => item.metric === lineDatum.metric);
|
|
121
|
+
return point ? pointRow(point) : gapRow(lineDatum.metric);
|
|
122
|
+
});
|
|
123
|
+
else {
|
|
124
|
+
rows = [...column.points].sort((a, b) => b.value - a.value).map(pointRow);
|
|
125
|
+
for (const metric of column.gaps) rows.push(gapRow(metric));
|
|
126
|
+
}
|
|
87
127
|
return {
|
|
88
128
|
label: formatLabel(column.label),
|
|
89
|
-
rows,
|
|
129
|
+
rows: column.points.length === 0 ? [] : rows,
|
|
90
130
|
anchorX: column.x,
|
|
91
131
|
anchorY: column.anchorY
|
|
92
132
|
};
|
|
@@ -94,7 +134,10 @@ var LineChart = ({ series, lines, categories, width, height, fillWidth, fillHeig
|
|
|
94
134
|
geometry.columns,
|
|
95
135
|
series,
|
|
96
136
|
formatValue,
|
|
97
|
-
formatLabel
|
|
137
|
+
formatLabel,
|
|
138
|
+
colors,
|
|
139
|
+
isStacked,
|
|
140
|
+
lines
|
|
98
141
|
]);
|
|
99
142
|
const categoryPositions = useMemo(() => geometry.columns.map((column) => column.x - geometry.step / 2), [geometry.columns, geometry.step]);
|
|
100
143
|
const categoryTargets = useMemo(() => geometry.columns.map((column) => ({
|
|
@@ -106,113 +149,112 @@ var LineChart = ({ series, lines, categories, width, height, fillWidth, fillHeig
|
|
|
106
149
|
height: plotHeight
|
|
107
150
|
})), [geometry.columns, plotHeight]);
|
|
108
151
|
const handleCategorySelect = useCallback((index) => {
|
|
109
|
-
const
|
|
110
|
-
if (
|
|
152
|
+
const categoryKey = geometry.categories[index];
|
|
153
|
+
if (categoryKey === void 0 || !onSelect) return;
|
|
111
154
|
onSelect({
|
|
112
155
|
categoryIndex: index,
|
|
113
|
-
categoryKey
|
|
156
|
+
categoryKey
|
|
114
157
|
});
|
|
115
158
|
}, [geometry.categories, onSelect]);
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
159
|
+
const selectedColumns = geometry.columns.filter((column) => interaction.selectedCategoryIndices.has(column.categoryIndex));
|
|
160
|
+
const point = (item, keyPrefix = "") => /* @__PURE__ */ jsx("circle", {
|
|
161
|
+
cx: item.x,
|
|
162
|
+
cy: item.y,
|
|
163
|
+
r: LINE_POINT_RADIUS,
|
|
164
|
+
className: cx(CHART_POINT_CSS, CHART_MARK_STATE_TO_CSS_MAP[interaction.getMarkState({ seriesKey: item.metric })]),
|
|
165
|
+
style: { "--gx-chart-mark-color": item.color.color }
|
|
166
|
+
}, `${keyPrefix}${item.id}`);
|
|
124
167
|
return /* @__PURE__ */ jsxs(ChartFrame, {
|
|
125
|
-
|
|
168
|
+
rootRef: ref,
|
|
169
|
+
plotRef,
|
|
170
|
+
id,
|
|
171
|
+
className,
|
|
172
|
+
style,
|
|
173
|
+
rest,
|
|
126
174
|
dimensions,
|
|
127
|
-
fillWidth,
|
|
128
|
-
fillHeight,
|
|
129
175
|
interaction,
|
|
130
|
-
kind
|
|
176
|
+
kind,
|
|
131
177
|
categoryCount: geometry.categories.length,
|
|
132
178
|
ariaLabel,
|
|
133
|
-
|
|
179
|
+
aspectRatio: 2,
|
|
134
180
|
axes: /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ChartValueAxis, {
|
|
135
181
|
ticks: valueTicks,
|
|
136
182
|
scale: geometry.valueScale,
|
|
137
183
|
plotWidth,
|
|
138
184
|
plotHeight,
|
|
139
|
-
|
|
185
|
+
insetLeft: dimensions.insets.left,
|
|
140
186
|
formatter: formatValue,
|
|
141
|
-
|
|
142
|
-
title: valueAxisTitle
|
|
187
|
+
title: axisLabels?.value
|
|
143
188
|
}), /* @__PURE__ */ jsx(ChartCategoryAxis, {
|
|
144
189
|
labels: geometry.categories,
|
|
145
190
|
positions: categoryPositions,
|
|
146
191
|
step: geometry.step,
|
|
147
192
|
plotWidth,
|
|
148
193
|
plotHeight,
|
|
194
|
+
orientation: Orientation.HORIZONTAL,
|
|
195
|
+
insetLeft: dimensions.insets.left,
|
|
149
196
|
formatter: formatLabel,
|
|
150
|
-
|
|
151
|
-
title: categoryAxisTitle
|
|
197
|
+
title: axisLabels?.category
|
|
152
198
|
})] }),
|
|
153
|
-
|
|
199
|
+
hasTooltip,
|
|
154
200
|
buildCategoryTooltip,
|
|
155
|
-
|
|
156
|
-
tooltipMaxItems,
|
|
201
|
+
renderTooltip,
|
|
157
202
|
categoryTargets,
|
|
158
203
|
onCategorySelect: onSelect && handleCategorySelect,
|
|
159
204
|
anchorHalfWidth: geometry.step / 2,
|
|
160
205
|
isEmpty,
|
|
161
206
|
isLoading,
|
|
162
|
-
|
|
163
|
-
|
|
207
|
+
placeholder,
|
|
208
|
+
hasLegend,
|
|
164
209
|
legendItems,
|
|
165
|
-
|
|
210
|
+
legendPlacement: ChartLegendPlacement.BOTTOM,
|
|
211
|
+
legendSwatch: kind === ChartKind.AREA ? ChartLegendSwatch.SQUARE : ChartLegendSwatch.CIRCLE,
|
|
166
212
|
children: [
|
|
167
|
-
geometry.paths.map((
|
|
168
|
-
d:
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
selectedColumns.map((column) => /* @__PURE__ */ jsx(ChartCursorLine, {
|
|
213
|
+
!isEmpty && geometry.paths.map((path) => path.areaPath ? /* @__PURE__ */ jsx("path", {
|
|
214
|
+
d: path.areaPath,
|
|
215
|
+
className: cx("gx-ChartPrimitives-CHART_AREA_CSS-c10uj5yt", isStacked ? "gx-ChartPrimitives-CHART_AREA_STACKED_CSS-c1ob2op2" : "gx-ChartPrimitives-CHART_AREA_OVERLAP_CSS-cyuty3o", CHART_MARK_STATE_TO_CSS_MAP[interaction.getMarkState({ seriesKey: path.metric })]),
|
|
216
|
+
style: { "--gx-chart-mark-color": path.color.color }
|
|
217
|
+
}, `${path.id}:area`) : null),
|
|
218
|
+
selectedColumns.map((column) => /* @__PURE__ */ jsx("line", {
|
|
174
219
|
x1: column.x,
|
|
175
220
|
x2: column.x,
|
|
176
221
|
y1: 0,
|
|
177
222
|
y2: plotHeight,
|
|
178
|
-
|
|
223
|
+
className: cx(CHART_CURSOR_LINE_CSS, CHART_CURSOR_LINE_SELECTED_CSS)
|
|
179
224
|
}, `selected:${column.categoryIndex}`)),
|
|
180
|
-
|
|
225
|
+
activeColumn && /* @__PURE__ */ jsx("line", {
|
|
181
226
|
x1: activeColumn.x,
|
|
182
227
|
x2: activeColumn.x,
|
|
183
228
|
y1: 0,
|
|
184
|
-
y2: plotHeight
|
|
229
|
+
y2: plotHeight,
|
|
230
|
+
className: "gx-ChartPrimitives-CHART_CURSOR_LINE_CSS-cwcko2m"
|
|
185
231
|
}),
|
|
186
|
-
geometry.paths.map((
|
|
187
|
-
d:
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
cx: point.x,
|
|
195
|
-
cy: point.y,
|
|
196
|
-
r: LINE_POINT_RADIUS,
|
|
197
|
-
fill: point.color,
|
|
198
|
-
"data-state": interaction.getMarkState({ seriesKey: point.metric })
|
|
199
|
-
}, `${point.id}:isolated`)),
|
|
200
|
-
activeColumn?.points.map((point) => /* @__PURE__ */ jsx(ChartPointCircle, {
|
|
201
|
-
cx: point.x,
|
|
202
|
-
cy: point.y,
|
|
203
|
-
r: LINE_POINT_RADIUS,
|
|
204
|
-
fill: point.color,
|
|
205
|
-
"data-state": interaction.getMarkState({ seriesKey: point.metric })
|
|
206
|
-
}, point.id)),
|
|
207
|
-
selectedColumns.filter((column) => column.categoryIndex !== activeColumn?.categoryIndex).flatMap((column) => column.points.map((point) => /* @__PURE__ */ jsx(ChartPointCircle, {
|
|
208
|
-
cx: point.x,
|
|
209
|
-
cy: point.y,
|
|
210
|
-
r: LINE_POINT_RADIUS,
|
|
211
|
-
fill: point.color,
|
|
212
|
-
"data-state": interaction.getMarkState({ seriesKey: point.metric })
|
|
213
|
-
}, `selected:${point.id}`)))
|
|
232
|
+
!isEmpty && geometry.paths.map((path) => /* @__PURE__ */ jsx("path", {
|
|
233
|
+
d: path.path,
|
|
234
|
+
className: cx("gx-ChartPrimitives-CHART_LINE_CSS-c1hcga6s", path.isDashed && "gx-ChartPrimitives-CHART_LINE_DASHED_CSS-c1fvbgkp", CHART_MARK_STATE_TO_CSS_MAP[interaction.getMarkState({ seriesKey: path.metric })]),
|
|
235
|
+
style: { "--gx-chart-mark-color": path.color.color }
|
|
236
|
+
}, path.id)),
|
|
237
|
+
geometry.isolatedPoints.map((item) => point(item, "isolated:")),
|
|
238
|
+
activeColumn?.points.map((item) => point(item)),
|
|
239
|
+
selectedColumns.filter((column) => column.categoryIndex !== activeColumn?.categoryIndex).flatMap((column) => column.points.map((item) => point(item, "selected:")))
|
|
214
240
|
]
|
|
215
241
|
});
|
|
216
|
-
}
|
|
242
|
+
}
|
|
243
|
+
var LineChartRootForwarded = forwardRef(LineChartRootInner);
|
|
244
|
+
LineChartRootForwarded.displayName = "LineChartRoot";
|
|
245
|
+
/** @internal Shared by LineChart and AreaChart; apps use those. */
|
|
246
|
+
var LineChartRoot = LineChartRootForwarded;
|
|
247
|
+
var LineChartInner = forwardRef(function LineChart(props, ref) {
|
|
248
|
+
return /* @__PURE__ */ jsx(LineChartRoot, {
|
|
249
|
+
...props,
|
|
250
|
+
ref,
|
|
251
|
+
fill: "NONE",
|
|
252
|
+
isStacked: false,
|
|
253
|
+
kind: ChartKind.LINE
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
LineChartInner.displayName = "LineChart";
|
|
257
|
+
/** Lines over a categorical x-axis. */
|
|
258
|
+
var LineChart = LineChartInner;
|
|
217
259
|
//#endregion
|
|
218
|
-
export { LineChart as default };
|
|
260
|
+
export { LineChartFill, LineChartRoot, LineChart as default };
|
|
@@ -1,65 +1,44 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
export
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { type ReactElement, type ReactNode, type RefAttributes } from "react";
|
|
2
|
+
import { type BaseChartProps, type ChartSeriesStyles } from "./types.js";
|
|
3
|
+
/** One slice. */
|
|
4
|
+
export interface PieChartSliceDatum<TSlice extends string> {
|
|
5
|
+
/** Which slice this is; a key of `series`. */
|
|
6
|
+
key: TSlice;
|
|
7
|
+
/** Magnitude. Negative values are drawn as 0 (a part of a whole cannot be negative). */
|
|
8
|
+
value: number;
|
|
9
|
+
}
|
|
10
|
+
/** Key of the folded "Other" slice in `onSelect` events and `selection`. */
|
|
11
|
+
export type PieChartAggregatedKey = "__other__";
|
|
12
|
+
/** PieChart's own props; the shared chart props follow (`BaseChartProps`). */
|
|
13
|
+
interface PieChartOwnProps<TSlice extends string> {
|
|
14
|
+
/** Label and color for every slice, keyed by slice. `TSlice` is inferred from these keys only. */
|
|
12
15
|
series: ChartSeriesStyles<TSlice>;
|
|
13
|
-
/** Slices,
|
|
16
|
+
/** Slices, clockwise from 12 o'clock in array order. Negative values count as 0. */
|
|
14
17
|
slices: PieChartSliceDatum<NoInfer<TSlice>>[];
|
|
15
18
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
19
|
+
* Draw a solid pie instead of a donut.
|
|
20
|
+
* @default false
|
|
18
21
|
*/
|
|
19
|
-
|
|
20
|
-
/** Gap between slices, in radians. */
|
|
21
|
-
padAngle?: number;
|
|
22
|
-
/** Slice corner radius in px. */
|
|
23
|
-
cornerRadius?: number;
|
|
22
|
+
isSolid?: boolean;
|
|
24
23
|
/**
|
|
25
|
-
* Slices
|
|
26
|
-
*
|
|
24
|
+
* Slices under this share of the total fold into one "Other" slice. `0` draws every slice.
|
|
25
|
+
* @default 0.02
|
|
27
26
|
*/
|
|
28
27
|
minSliceShare?: number;
|
|
29
|
-
/** Label for the folded bucket. @default "Other" */
|
|
30
|
-
aggregatedLabel?: string;
|
|
31
|
-
/**
|
|
32
|
-
* Content for the donut hole — a total, a headline percentage.
|
|
33
|
-
* Ignored when `innerRadiusRatio` is 0.
|
|
34
|
-
*/
|
|
35
|
-
centerContent?: ReactNode;
|
|
36
|
-
/**
|
|
37
|
-
* Fires when a slice is clicked. Supplying it is what makes the plot
|
|
38
|
-
* clickable.
|
|
39
|
-
*
|
|
40
|
-
* `categoryKey` and `seriesKey` are always the same value here: a pie's
|
|
41
|
-
* category axis *is* its series axis, and the arcs are already its hit
|
|
42
|
-
* targets, so there is no coarser fallback to take. Clicking the folded
|
|
43
|
-
* bucket reports {@link AGGREGATED_SLICE_KEY}, which the key union says
|
|
44
|
-
* outright rather than widening to `string`.
|
|
45
|
-
*/
|
|
46
|
-
onSelect?: (event: ChartSelectionEvent<NoInfer<TSlice> | typeof AGGREGATED_SLICE_KEY>) => void;
|
|
47
28
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
* outline on top of it.
|
|
51
|
-
*
|
|
52
|
-
* Presentational and never written by the chart: the state belongs to
|
|
53
|
-
* whatever the selection is filtering, so the two cannot drift apart.
|
|
29
|
+
* Label of the folded slice.
|
|
30
|
+
* @default Other
|
|
54
31
|
*/
|
|
55
|
-
|
|
56
|
-
|
|
32
|
+
aggregatedLabel?: string;
|
|
33
|
+
/** Content centered in the donut hole: a total, a headline figure. Ignored with `isSolid`. */
|
|
34
|
+
children?: ReactNode;
|
|
35
|
+
}
|
|
36
|
+
export type PieChartProps<TSlice extends string> = PieChartOwnProps<TSlice> & BaseChartProps<NoInfer<TSlice> | PieChartAggregatedKey>;
|
|
57
37
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* Unlike the cartesian charts there is no category axis to hit-test against, so
|
|
61
|
-
* each arc is its own target. Small slices are folded into an "Other" bucket by
|
|
62
|
-
* default, which keeps every remaining arc large enough to actually hit.
|
|
38
|
+
* The public, generic call signature (`TSlice` inferred from `series`). Never called: it only
|
|
39
|
+
* types the default export. An arrow function so react-docgen-typescript reads the props.
|
|
63
40
|
*/
|
|
64
|
-
declare const
|
|
41
|
+
declare const PIE_CHART_SIGNATURE: <TSlice extends string>(_props: PieChartProps<TSlice> & RefAttributes<HTMLDivElement>) => ReactElement | null;
|
|
42
|
+
/** A donut (or solid pie) of a few parts of one whole. */
|
|
43
|
+
declare const PieChart: typeof PIE_CHART_SIGNATURE;
|
|
65
44
|
export default PieChart;
|