@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/types.d.ts
CHANGED
|
@@ -1,354 +1,213 @@
|
|
|
1
|
-
import type { ReactNode } from "react";
|
|
2
1
|
/**
|
|
3
|
-
* Shared types
|
|
2
|
+
* Shared chart vocabulary (`@galaxy-io/dls/charts/types`): the palette, the curve, and the prop
|
|
3
|
+
* and data types every chart composes. Types and enums only, so importing this module pulls in no
|
|
4
|
+
* optional peer (`d3-scale`, `d3-shape`) and no component.
|
|
4
5
|
*
|
|
5
|
-
* Every
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Every chart is generic over its series keys, and the inference is one-directional: the key
|
|
7
|
+
* union comes from the keys of the `series` record and from nowhere else, and every data-shaped
|
|
8
|
+
* prop wraps it in `NoInfer`. Were the keys also inferred from the data, an inline
|
|
9
|
+
* `{ metric: "revenue" }` would widen to `string` and every check below would quietly become a
|
|
10
|
+
* no-op.
|
|
9
11
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* ```ts
|
|
16
|
-
* <BarChart
|
|
17
|
-
* series={{
|
|
18
|
-
* revenue: { label: "Revenue" },
|
|
19
|
-
* cost: { label: "Cost" },
|
|
20
|
-
* }}
|
|
21
|
-
* groups={[
|
|
22
|
-
* { label: "Q1", bars: [{ metric: "revenu", components: [] }] },
|
|
23
|
-
* // ^ Type '"revenu"' is not assignable to
|
|
24
|
-
* // type '"revenue" | "cost"'.
|
|
25
|
-
* ]}
|
|
12
|
+
* ```tsx
|
|
13
|
+
* <LineChart
|
|
14
|
+
* series={{ revenue: { label: "Revenue" }, cost: { label: "Cost" } }}
|
|
15
|
+
* lines={[{ metric: "revenu", points: [] }]}
|
|
16
|
+
* // ^ Type '"revenu"' is not assignable to type '"revenue" | "cost"'.
|
|
26
17
|
* />
|
|
27
18
|
* ```
|
|
28
|
-
*
|
|
29
|
-
* The same union then makes aggregates exhaustive, spell-checks legend and
|
|
30
|
-
* ordering props, and narrows callback parameters for `ts-pattern`.
|
|
31
19
|
*/
|
|
20
|
+
import type { AriaAttributes, CSSProperties, ReactNode } from "react";
|
|
21
|
+
import type { Hex } from "../theme/tokens/types.js";
|
|
32
22
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* Deliberately an enum of slots rather than a hex string: consumer data should
|
|
37
|
-
* never carry raw color, and every rendered color has to come from
|
|
38
|
-
* `theme.color.*` so both themes stay correct.
|
|
23
|
+
* Series color slot. Members are canonical color-set names (Constitution
|
|
24
|
+
* III.4). The first eight are the automatic order (purple leads); the rest are for explicit,
|
|
25
|
+
* meaningful assignment only.
|
|
39
26
|
*/
|
|
40
27
|
export declare enum ChartPalette {
|
|
28
|
+
/** `text.purple`. First in the automatic order. */
|
|
41
29
|
PURPLE = "PURPLE",
|
|
30
|
+
/** `text.pink`. */
|
|
42
31
|
PINK = "PINK",
|
|
32
|
+
/** `text.blue`. */
|
|
43
33
|
BLUE = "BLUE",
|
|
34
|
+
/** `text.teal`. */
|
|
44
35
|
TEAL = "TEAL",
|
|
36
|
+
/** `text.lime`. */
|
|
45
37
|
LIME = "LIME",
|
|
38
|
+
/** `text.orange`. */
|
|
46
39
|
ORANGE = "ORANGE",
|
|
40
|
+
/** `text.yellow`. */
|
|
47
41
|
YELLOW = "YELLOW",
|
|
42
|
+
/** `text.green`. Last in the automatic order. */
|
|
48
43
|
GREEN = "GREEN",
|
|
49
|
-
|
|
44
|
+
/** `text.success`. Explicit assignment only. */
|
|
45
|
+
SUCCESS = "SUCCESS",
|
|
46
|
+
/** `text.warning`. Explicit assignment only. */
|
|
47
|
+
WARNING = "WARNING",
|
|
48
|
+
/** `text.error` (1.x `RED`). Explicit assignment only. */
|
|
49
|
+
ERROR = "ERROR",
|
|
50
|
+
/** `text.indigo` (no gray in charts). Explicit assignment only. */
|
|
50
51
|
PRIMARY = "PRIMARY",
|
|
52
|
+
/** `text.sky` (no gray in charts). Explicit assignment only. */
|
|
51
53
|
SECONDARY = "SECONDARY",
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
/** `text.violet` (no gray in charts). Explicit assignment only. */
|
|
55
|
+
TERTIARY = "TERTIARY"
|
|
54
56
|
}
|
|
55
|
-
/**
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
/** Locale-grouped integer, e.g. `1,250`. */
|
|
64
|
-
PLAIN = "PLAIN",
|
|
65
|
-
/** Locale currency with no decimals, e.g. `$1,250`. */
|
|
66
|
-
CURRENCY = "CURRENCY",
|
|
67
|
-
/** Percentage of a 0–100 value, e.g. `42%`. */
|
|
68
|
-
PERCENT = "PERCENT",
|
|
69
|
-
/** Abbreviated magnitude, e.g. `1.3K`, `4.2M`. */
|
|
70
|
-
COMPACT = "COMPACT"
|
|
57
|
+
/** How segments between points are drawn (LineChart, AreaChart, Sparkline). 1.x `LineChartCurve`. */
|
|
58
|
+
export declare enum ChartCurve {
|
|
59
|
+
/** Straight segments. */
|
|
60
|
+
LINEAR = "LINEAR",
|
|
61
|
+
/** Monotone cubic: smooth without overshooting the data. */
|
|
62
|
+
SMOOTH = "SMOOTH",
|
|
63
|
+
/** Right-angled steps (step-after). */
|
|
64
|
+
STEP = "STEP"
|
|
71
65
|
}
|
|
66
|
+
/** @internal Emphasis of a rendered mark, applied as a `css` class (`CHART_MARK_STATE_TO_CSS_MAP`). */
|
|
67
|
+
export declare enum ChartMarkState {
|
|
68
|
+
/** Full strength: the default, and the engaged category or series. */
|
|
69
|
+
ACTIVE = "ACTIVE",
|
|
70
|
+
/** Softened: outside the engaged series, the selection, or while loading. */
|
|
71
|
+
MUTED = "MUTED",
|
|
72
|
+
/** Barely softened: off-category marks where a cursor band already carries the emphasis. */
|
|
73
|
+
DIMMED = "DIMMED"
|
|
74
|
+
}
|
|
75
|
+
/** @internal Which chart is rendering; phrases the default accessible name only. */
|
|
76
|
+
export declare enum ChartKind {
|
|
77
|
+
/** `LineChart`. */
|
|
78
|
+
LINE = "LINE",
|
|
79
|
+
/** `AreaChart`. */
|
|
80
|
+
AREA = "AREA",
|
|
81
|
+
/** `BarChart`. */
|
|
82
|
+
BAR = "BAR",
|
|
83
|
+
/** `PieChart`. */
|
|
84
|
+
PIE = "PIE",
|
|
85
|
+
/** `Heatmap`. */
|
|
86
|
+
HEATMAP = "HEATMAP"
|
|
87
|
+
}
|
|
88
|
+
/** @internal Where the legend sits relative to the plot. */
|
|
89
|
+
export declare enum ChartLegendPlacement {
|
|
90
|
+
/** Beneath the plot, one line (cartesian charts, Heatmap). */
|
|
91
|
+
BOTTOM = "BOTTOM",
|
|
92
|
+
/** Beside the plot, one column, vertically centered (PieChart). */
|
|
93
|
+
RIGHT = "RIGHT"
|
|
94
|
+
}
|
|
95
|
+
/** @internal Shape of a hit target. */
|
|
96
|
+
export declare enum ChartTargetShape {
|
|
97
|
+
/** A rectangle: a category band or a bar. */
|
|
98
|
+
RECT = "RECT",
|
|
99
|
+
/** A path: an arc outline, redrawn transparent. */
|
|
100
|
+
PATH = "PATH"
|
|
101
|
+
}
|
|
102
|
+
/** Formats a value for the value axis, the tooltip and the keyboard announcement. */
|
|
72
103
|
export type ChartValueFormatter = (value: number) => string;
|
|
104
|
+
/** Formats a raw category label for the axis and the tooltip heading. */
|
|
73
105
|
export type ChartLabelFormatter = (label: string) => string;
|
|
74
|
-
/**
|
|
75
|
-
* How one series is presented: what to call it and which palette slot it owns.
|
|
76
|
-
*
|
|
77
|
-
* Holds no data and no key — the key is the record key in
|
|
78
|
-
* {@link ChartSeriesStyles}, which is exactly what makes that record
|
|
79
|
-
* exhaustive.
|
|
80
|
-
*/
|
|
106
|
+
/** How one series is presented. The key is the record key in `ChartSeriesStyles`. */
|
|
81
107
|
export interface ChartSeriesStyle {
|
|
82
|
-
/** Name shown in the legend, tooltip and accessible
|
|
108
|
+
/** Name shown in the legend, the tooltip and the accessible summary. */
|
|
83
109
|
label: string;
|
|
84
|
-
/**
|
|
85
|
-
* Palette slot. Defaults to the series' position in the record, walked
|
|
86
|
-
* through `CHART_PALETTE_ORDER`.
|
|
87
|
-
*/
|
|
110
|
+
/** Palette slot. Defaults to the series' position in the record, walked through the automatic order. */
|
|
88
111
|
color?: ChartPalette;
|
|
112
|
+
/** Raw color for a data-driven series color. Discouraged: it does not follow the theme. Wins over `color`. */
|
|
113
|
+
hex?: Hex;
|
|
89
114
|
}
|
|
90
115
|
/**
|
|
91
|
-
* Presentation for every series, keyed by series key.
|
|
92
|
-
*
|
|
93
|
-
* A `Record` over the key union rather than an array of `{ key, name }` is the
|
|
94
|
-
* single most load-bearing decision in this model. An array can be wrong in
|
|
95
|
-
* four independent ways — missing entry, extra entry, duplicate key, misspelt
|
|
96
|
-
* key — and TypeScript catches none of them. A record catches all four, because
|
|
97
|
-
* its *keys are the type*.
|
|
116
|
+
* Presentation for every series, keyed by series key. A `Record` over the key union rather than
|
|
117
|
+
* an array of `{ key, label }`: a missing, extra, duplicate or misspelt key is a type error.
|
|
98
118
|
*/
|
|
99
119
|
export type ChartSeriesStyles<TKey extends string> = Record<TKey, ChartSeriesStyle>;
|
|
100
|
-
|
|
101
|
-
top: number;
|
|
102
|
-
right: number;
|
|
103
|
-
bottom: number;
|
|
104
|
-
left: number;
|
|
105
|
-
}
|
|
106
|
-
/** Override for the computed value axis domain. */
|
|
120
|
+
/** Override for the computed value axis. */
|
|
107
121
|
export interface ChartValueDomain {
|
|
108
122
|
/** Lower bound. Defaults to `min(0, smallest value)`. */
|
|
109
123
|
min: number;
|
|
110
124
|
/** Upper bound. Defaults to `max(0, largest value)`. */
|
|
111
125
|
max: number;
|
|
112
|
-
/** Approximate tick count
|
|
126
|
+
/** Approximate tick count (d3 `scale.ticks()`). */
|
|
113
127
|
tickCount: number;
|
|
114
128
|
}
|
|
115
|
-
/**
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
*/
|
|
122
|
-
export declare enum ChartKind {
|
|
123
|
-
BAR = "BAR",
|
|
124
|
-
LINE = "LINE",
|
|
125
|
-
PIE = "PIE"
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Where the legend sits relative to the plot.
|
|
129
|
-
*
|
|
130
|
-
* Its own enum rather than a branch on {@link ChartKind}, which promises to be
|
|
131
|
-
* nothing but a label for the accessible name.
|
|
132
|
-
*/
|
|
133
|
-
export declare enum ChartLegendPlacement {
|
|
134
|
-
/** Beneath the plot, wrapping — the cartesian layout. */
|
|
135
|
-
BOTTOM = "BOTTOM",
|
|
136
|
-
/** Beside the plot, stacked, vertically centred on it — the pie layout. */
|
|
137
|
-
RIGHT = "RIGHT"
|
|
138
|
-
}
|
|
139
|
-
/** How the category axis copes when labels outgrow their slots. */
|
|
140
|
-
export declare enum ChartCategoryLabelMode {
|
|
141
|
-
/** Render every label that fits; otherwise show every nth. The default. */
|
|
142
|
-
AUTO = "AUTO",
|
|
143
|
-
/** Render every label, ellipsizing any that overflow its slot. */
|
|
144
|
-
TRUNCATE = "TRUNCATE",
|
|
145
|
-
/** Render every label unconditionally, overlap included. */
|
|
146
|
-
ALL = "ALL"
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Emphasis level of a rendered mark.
|
|
150
|
-
*
|
|
151
|
-
* Travels to the DOM as a `data-state` attribute rather than a styled-component
|
|
152
|
-
* prop: `@linaria/react` skips prop filtering entirely for SVG tags (its
|
|
153
|
-
* `allTagsSet` is built with a missing spread, so `has('rect')` is false and
|
|
154
|
-
* `propsAsIs` turns on), which would forward a `$`-prefixed prop straight to the
|
|
155
|
-
* DOM and trigger a React warning.
|
|
156
|
-
*/
|
|
157
|
-
export declare enum ChartMarkState {
|
|
158
|
-
/** Full strength — the default, and the hovered category. */
|
|
159
|
-
ACTIVE = "active",
|
|
160
|
-
/** Softened, for marks outside the engaged series or category. */
|
|
161
|
-
MUTED = "muted",
|
|
162
|
-
/**
|
|
163
|
-
* Barely softened — a whisper of {@link MUTED}.
|
|
164
|
-
*
|
|
165
|
-
* Used where another affordance already carries the emphasis and strong
|
|
166
|
-
* muting would be a second, louder voice: BarChart's category axis dims
|
|
167
|
-
* like this because the cursor band is the highlight.
|
|
168
|
-
*/
|
|
169
|
-
DIMMED = "dimmed"
|
|
170
|
-
}
|
|
171
|
-
/** Which pair of a rectangle's corners carries the radius. */
|
|
172
|
-
export declare enum BarCorners {
|
|
173
|
-
/** Cap for a bar growing up from the baseline. */
|
|
174
|
-
TOP = "TOP",
|
|
175
|
-
/** Cap for a bar growing down from the baseline. */
|
|
176
|
-
BOTTOM = "BOTTOM",
|
|
177
|
-
/** Interior stack segment — square on both ends. */
|
|
178
|
-
NONE = "NONE"
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* How bar values are scaled before rendering.
|
|
182
|
-
*
|
|
183
|
-
* Note there is no grouped-vs-stacked mode: with the group → bar → component
|
|
184
|
-
* hierarchy, several `bars` in a group render side by side and several
|
|
185
|
-
* `components` in a bar render on top of each other, so a chart can be grouped
|
|
186
|
-
* and stacked at the same time.
|
|
187
|
-
*/
|
|
188
|
-
export declare enum BarChartNormalization {
|
|
189
|
-
/** Plot raw values. */
|
|
190
|
-
NONE = "NONE",
|
|
191
|
-
/** Scale each bar's components to fill the axis — a 100% stacked chart. */
|
|
192
|
-
PERCENT = "PERCENT"
|
|
129
|
+
/** Short titles beside the axes. */
|
|
130
|
+
export interface ChartAxisLabels {
|
|
131
|
+
/** Title under the category axis. */
|
|
132
|
+
category?: string;
|
|
133
|
+
/** Title beside the value axis, rotated. */
|
|
134
|
+
value?: string;
|
|
193
135
|
}
|
|
194
136
|
/**
|
|
195
|
-
*
|
|
137
|
+
* Which marks a chart's `selection` covers. A descriptor: a mark matches when every field present
|
|
138
|
+
* matches it, and a field the mark does not have never excludes it.
|
|
196
139
|
*
|
|
197
|
-
*
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
/** Human-readable name, shown in the tooltip and legend. */
|
|
203
|
-
label: string;
|
|
204
|
-
/** Segment magnitude. Negative values stack below the zero baseline. */
|
|
205
|
-
value: number;
|
|
206
|
-
/** Palette slot override. Defaults to the segment's position in the palette. */
|
|
207
|
-
color?: ChartPalette;
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* One bar within a group: a stack of components for a single metric.
|
|
211
|
-
*/
|
|
212
|
-
export interface BarChartBarDatum<TMetric extends string, TComponentKey extends string = string> {
|
|
213
|
-
/** Which metric this bar represents, e.g. `"prospected"`. */
|
|
214
|
-
metric: TMetric;
|
|
215
|
-
/** Segments of the bar, stacked in array order outward from the baseline. */
|
|
216
|
-
components: BarChartComponentDatum<TComponentKey>[];
|
|
217
|
-
}
|
|
218
|
-
/**
|
|
219
|
-
* One category on the x-axis, holding one bar per metric.
|
|
220
|
-
*/
|
|
221
|
-
export interface BarChartGroupDatum<TMetric extends string, TComponentKey extends string = string> {
|
|
222
|
-
/** Label rendered beneath this group on the category axis. */
|
|
223
|
-
label: string;
|
|
224
|
-
/** Bars in this group, rendered left to right in array order. */
|
|
225
|
-
bars: BarChartBarDatum<TMetric, TComponentKey>[];
|
|
226
|
-
}
|
|
227
|
-
/** How the segments between points are interpolated. */
|
|
228
|
-
export declare enum LineChartCurve {
|
|
229
|
-
/** Straight segments. */
|
|
230
|
-
LINEAR = "LINEAR",
|
|
231
|
-
/** Monotone cubic — smooth without overshooting the data. */
|
|
232
|
-
SMOOTH = "SMOOTH",
|
|
233
|
-
/** Right-angled steps. */
|
|
234
|
-
STEP = "STEP"
|
|
235
|
-
}
|
|
236
|
-
/** One point on a line. */
|
|
237
|
-
export interface LineChartPointDatum {
|
|
238
|
-
/** Category this point sits on; must match a category on the axis. */
|
|
239
|
-
x: string;
|
|
240
|
-
/**
|
|
241
|
-
* Value on the value axis.
|
|
242
|
-
*
|
|
243
|
-
* `null` breaks the line into separate segments. That is deliberately not the
|
|
244
|
-
* same as `0`: a missing reading and a reading of zero are different claims,
|
|
245
|
-
* and plotting a gap as zero draws a spike to the baseline that never
|
|
246
|
-
* happened.
|
|
247
|
-
*/
|
|
248
|
-
y: number | null;
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* One line in a line chart.
|
|
252
|
-
*
|
|
253
|
-
* Carries no label or colour — those come from the chart's `series` record,
|
|
254
|
-
* keyed by `metric`, so the legend, tooltip and stroke cannot disagree.
|
|
140
|
+
* ```ts
|
|
141
|
+
* { categoryKey: "00:00" } // the whole 00:00 column
|
|
142
|
+
* { seriesKey: "failed" } // every failure, all columns
|
|
143
|
+
* { categoryKey: "00:00", seriesKey: "failed" } // one segment
|
|
144
|
+
* ```
|
|
255
145
|
*/
|
|
256
|
-
export interface
|
|
257
|
-
/**
|
|
258
|
-
|
|
259
|
-
/**
|
|
260
|
-
|
|
261
|
-
*
|
|
262
|
-
* Sparse series are fine — categories absent here are treated as gaps, and
|
|
263
|
-
* the category axis is the union across every line.
|
|
264
|
-
*/
|
|
265
|
-
points: LineChartPointDatum[];
|
|
266
|
-
/** Stroke width in px. Defaults to the shared line width. */
|
|
267
|
-
strokeWidth?: number;
|
|
268
|
-
/** Dash length in px. Solid when omitted. */
|
|
269
|
-
dashSize?: number;
|
|
270
|
-
/** Fill the area between the line and the baseline. */
|
|
271
|
-
showArea?: boolean;
|
|
146
|
+
export interface ChartSelection<TSeriesKey extends string = string> {
|
|
147
|
+
/** Raw category label, never `labelFormatter` output (the vocabulary `ChartGroupProvider` matches on). */
|
|
148
|
+
categoryKey?: string;
|
|
149
|
+
/** What this chart's legend names: metrics, stack components or slices. */
|
|
150
|
+
seriesKey?: TSeriesKey;
|
|
272
151
|
}
|
|
152
|
+
/** One descriptor, several, or none. */
|
|
153
|
+
export type ChartSelectionInput<TSeriesKey extends string = string> = ChartSelection<TSeriesKey> | ChartSelection<TSeriesKey>[] | null;
|
|
273
154
|
/**
|
|
274
|
-
*
|
|
275
|
-
*
|
|
276
|
-
* Carries no label or colour — those come from the chart's `series` record,
|
|
277
|
-
* keyed by `key`, so the legend, tooltip and arc cannot disagree.
|
|
155
|
+
* What a click (or Enter / Space on the active category) reports. Its fields are exactly those a
|
|
156
|
+
* `ChartSelection` is built from, so feeding an event back as a selection is the common case.
|
|
278
157
|
*/
|
|
279
|
-
export interface
|
|
280
|
-
/**
|
|
281
|
-
|
|
282
|
-
/**
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
value: number;
|
|
158
|
+
export interface ChartSelectionEvent<TSeriesKey extends string = string> {
|
|
159
|
+
/** Position of the category on the axis, from 0. */
|
|
160
|
+
categoryIndex: number;
|
|
161
|
+
/** Raw category label, matching `ChartSelection.categoryKey`. */
|
|
162
|
+
categoryKey: string;
|
|
163
|
+
/** The mark's series. Absent when the category, not one mark, was chosen. */
|
|
164
|
+
seriesKey?: TSeriesKey;
|
|
165
|
+
/** The mark's own value. Absent whenever `seriesKey` is. */
|
|
166
|
+
value?: number;
|
|
289
167
|
}
|
|
290
|
-
/** One label/value row in the tooltip. */
|
|
168
|
+
/** One label / value row in the tooltip. */
|
|
291
169
|
export interface ChartTooltipRow {
|
|
292
170
|
/** React key, unique within the tooltip. */
|
|
293
171
|
key: string;
|
|
294
|
-
/**
|
|
172
|
+
/** Series (or slice) label. */
|
|
295
173
|
label: string;
|
|
296
|
-
|
|
297
|
-
|
|
174
|
+
/** The reading; `null` is a gap and reads "—". */
|
|
175
|
+
value: number | null;
|
|
176
|
+
/** `value` already run through the chart's `valueFormatter` ("—" for a gap). */
|
|
298
177
|
formattedValue: string;
|
|
178
|
+
/** Swatch color: a `var(--gx-…)` string or the series `hex`. */
|
|
299
179
|
color: string;
|
|
300
180
|
}
|
|
301
|
-
/** Everything the tooltip
|
|
181
|
+
/** Everything the tooltip shows, independent of chart type. */
|
|
302
182
|
export interface ChartTooltipModel {
|
|
303
|
-
/** Heading
|
|
183
|
+
/** Heading: the formatted category, or the slice label for a pie. */
|
|
304
184
|
label: string;
|
|
185
|
+
/** One row per series at the category. Never empty when passed to `renderTooltip`. */
|
|
305
186
|
rows: ChartTooltipRow[];
|
|
306
|
-
/** Anchor in
|
|
187
|
+
/** Anchor x in plot-box coordinates. */
|
|
307
188
|
anchorX: number;
|
|
189
|
+
/** Anchor y in plot-box coordinates. */
|
|
308
190
|
anchorY: number;
|
|
309
191
|
}
|
|
192
|
+
/** Replaces the tooltip body; positioning stays with the chart. Never called with empty `rows`. */
|
|
193
|
+
export type ChartTooltipRenderer = (model: ChartTooltipModel) => ReactNode;
|
|
310
194
|
/**
|
|
311
|
-
* A tooltip model whose anchor is still in plot coordinates.
|
|
312
|
-
*
|
|
313
|
-
* Structurally identical to {@link ChartTooltipModel} — the difference is the
|
|
314
|
-
* coordinate space, which TypeScript cannot enforce. It carries its own name
|
|
315
|
-
* anyway, because `ChartFrame` accepting "container coordinates" and then adding
|
|
316
|
-
* a margin to them is exactly the sort of thing a reader has to be able to see
|
|
317
|
-
* from the signature.
|
|
318
|
-
*
|
|
319
|
-
* Charts build this; `ChartFrame` applies the margin translate once, in the
|
|
320
|
-
* component that already owns the `<g transform>`.
|
|
195
|
+
* @internal A tooltip model whose anchor is still in plot (inset) coordinates. Charts build this;
|
|
196
|
+
* `ChartFrame` adds the insets once.
|
|
321
197
|
*/
|
|
322
198
|
export interface ChartPlotTooltipModel {
|
|
199
|
+
/** Heading. */
|
|
323
200
|
label: string;
|
|
201
|
+
/** Rows; empty means "No data". */
|
|
324
202
|
rows: ChartTooltipRow[];
|
|
325
|
-
/** Anchor in plot coordinates. */
|
|
203
|
+
/** Anchor x in plot coordinates. */
|
|
326
204
|
anchorX: number;
|
|
205
|
+
/** Anchor y in plot coordinates. */
|
|
327
206
|
anchorY: number;
|
|
328
207
|
}
|
|
329
208
|
/**
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
* Never called with empty `rows` — with a custom renderer installed, a
|
|
333
|
-
* hovered category with no data opens no tooltip at all (the built-in body
|
|
334
|
-
* is the one that knows how to say "No data") — so `rows[0]`-style
|
|
335
|
-
* assumptions are safe here.
|
|
336
|
-
*/
|
|
337
|
-
export type ChartTooltipRenderer = (model: ChartTooltipModel) => ReactNode;
|
|
338
|
-
/** Which shape a category's hit target is drawn as. */
|
|
339
|
-
export declare enum ChartTargetShape {
|
|
340
|
-
/** Cartesian charts: a full-height band over the category. */
|
|
341
|
-
RECT = "RECT",
|
|
342
|
-
/** Radial charts: the arc's own outline, redrawn transparent. */
|
|
343
|
-
PATH = "PATH"
|
|
344
|
-
}
|
|
345
|
-
/**
|
|
346
|
-
* One category's interactive target, in plot coordinates.
|
|
347
|
-
*
|
|
348
|
-
* Array position *is* the category index — already true of every geometry
|
|
349
|
-
* builder's output — so there is no index field that could fall out of step.
|
|
350
|
-
* `key` is carried separately because a pie's arcs reorder, where bar and line
|
|
351
|
-
* indices do not.
|
|
209
|
+
* @internal One category's hover target, in plot coordinates. Array position is the category
|
|
210
|
+
* index; `key` is separate because a pie's arcs reorder.
|
|
352
211
|
*/
|
|
353
212
|
export type ChartCategoryTarget = {
|
|
354
213
|
key: string;
|
|
@@ -363,20 +222,11 @@ export type ChartCategoryTarget = {
|
|
|
363
222
|
d: string;
|
|
364
223
|
};
|
|
365
224
|
/**
|
|
366
|
-
* One
|
|
367
|
-
*
|
|
368
|
-
* Drawn above the category targets and bound to *clicks* only. Hover stays
|
|
369
|
-
* per category — crossing between two segments of one stack re-enters the
|
|
370
|
-
* category the pointer already had, so the tooltip holds still. That banding is
|
|
371
|
-
* why a two-pixel segment is as easy to hover as a two-hundred-pixel one, and a
|
|
372
|
-
* click layer laid over it must not undo it.
|
|
373
|
-
*
|
|
374
|
-
* Unlike {@link ChartCategoryTarget}, array position says nothing about the
|
|
375
|
-
* category here, so each target names its own.
|
|
225
|
+
* @internal One mark's click target, drawn above the category targets. Hover stays per category;
|
|
226
|
+
* this layer only refines the click.
|
|
376
227
|
*/
|
|
377
228
|
export type ChartMarkTarget = {
|
|
378
229
|
key: string;
|
|
379
|
-
/** The category this mark sits in — its hover, and its selection event. */
|
|
380
230
|
categoryIndex: number;
|
|
381
231
|
shape: ChartTargetShape.RECT;
|
|
382
232
|
x: number;
|
|
@@ -389,189 +239,70 @@ export type ChartMarkTarget = {
|
|
|
389
239
|
shape: ChartTargetShape.PATH;
|
|
390
240
|
d: string;
|
|
391
241
|
};
|
|
392
|
-
/**
|
|
393
|
-
* Which marks a chart's `selection` covers.
|
|
394
|
-
*
|
|
395
|
-
* A *descriptor* rather than a coordinate: a mark matches when every field
|
|
396
|
-
* present matches it, and a field the mark has no notion of never excludes it.
|
|
397
|
-
* One shape therefore spells every granularity without a mode flag —
|
|
398
|
-
*
|
|
399
|
-
* ```ts
|
|
400
|
-
* { categoryKey: "00:00" } // the whole 00:00 column
|
|
401
|
-
* { seriesKey: "failed" } // every failure, all columns
|
|
402
|
-
* { categoryKey: "00:00", seriesKey: "failed" } // one segment
|
|
403
|
-
* ```
|
|
404
|
-
*
|
|
405
|
-
* — and that last rule is what stops a category selection from muting a
|
|
406
|
-
* LineChart's strokes, which span every category and belong to none.
|
|
407
|
-
*/
|
|
408
|
-
export interface ChartSelection<TSeriesKey extends string = string> {
|
|
409
|
-
/**
|
|
410
|
-
* Raw category label, never `labelFormatter` output — the same vocabulary
|
|
411
|
-
* `ChartGroupProvider` matches on, for the same reason: two charts formatting
|
|
412
|
-
* one label differently must still agree on what it names.
|
|
413
|
-
*/
|
|
414
|
-
categoryKey?: string;
|
|
415
|
-
/**
|
|
416
|
-
* Whatever this chart's legend names: components in a stacked bar, metrics in
|
|
417
|
-
* an unstacked one or a line chart, slices in a pie. The same key the mute
|
|
418
|
-
* axis uses, so a selection and the legend cannot describe different things.
|
|
419
|
-
*/
|
|
420
|
-
seriesKey?: TSeriesKey;
|
|
421
|
-
}
|
|
422
|
-
/** One descriptor, several, or none. */
|
|
423
|
-
export type ChartSelectionInput<TSeriesKey extends string = string> = ChartSelection<TSeriesKey> | ChartSelection<TSeriesKey>[] | null;
|
|
424
|
-
/**
|
|
425
|
-
* What a click reports.
|
|
426
|
-
*
|
|
427
|
-
* Deliberately thin — no rows, no colors, no formatted strings. The caller
|
|
428
|
-
* already holds the data it passed in and can look the rest up by key, and a
|
|
429
|
-
* presentation-shaped payload is the kind that becomes load-bearing and then
|
|
430
|
-
* cannot be changed. The fields are exactly those a {@link ChartSelection} is
|
|
431
|
-
* built from, so feeding an event straight back as one is the common case.
|
|
432
|
-
*/
|
|
433
|
-
export interface ChartSelectionEvent<TSeriesKey extends string = string> {
|
|
434
|
-
categoryIndex: number;
|
|
435
|
-
/** Raw label, matching {@link ChartSelection.categoryKey}. */
|
|
436
|
-
categoryKey: string;
|
|
437
|
-
/** Absent when the click landed on empty plot rather than on a mark. */
|
|
438
|
-
seriesKey?: TSeriesKey;
|
|
439
|
-
/** The mark's own value, before any normalization. Absent whenever
|
|
440
|
-
* {@link seriesKey} is. */
|
|
441
|
-
value?: number;
|
|
442
|
-
}
|
|
443
|
-
/** One legend entry. */
|
|
242
|
+
/** @internal One legend entry: the swatch inputs, not a resolved color. */
|
|
444
243
|
export interface ChartLegendItem {
|
|
244
|
+
/** Series key; isolates the series on hover. */
|
|
445
245
|
key: string;
|
|
246
|
+
/** Series label. */
|
|
446
247
|
label: string;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
|
|
451
|
-
fillWidth?: false;
|
|
452
|
-
fillHeight?: false;
|
|
453
|
-
width: number;
|
|
454
|
-
height: number;
|
|
455
|
-
aspectRatio?: never;
|
|
456
|
-
}
|
|
457
|
-
/** Container-width chart with an explicit height. */
|
|
458
|
-
export interface ChartFluidFixedHeight {
|
|
459
|
-
fillWidth: true;
|
|
460
|
-
fillHeight?: false;
|
|
461
|
-
width?: never;
|
|
462
|
-
height: number;
|
|
463
|
-
aspectRatio?: never;
|
|
464
|
-
}
|
|
465
|
-
/** Container-width chart whose height follows its width. */
|
|
466
|
-
export interface ChartFluidRatioHeight {
|
|
467
|
-
fillWidth: true;
|
|
468
|
-
fillHeight?: false;
|
|
469
|
-
width?: never;
|
|
470
|
-
height?: never;
|
|
471
|
-
/** Width ÷ height. `2` is a 2:1 landscape plot. */
|
|
472
|
-
aspectRatio: number;
|
|
473
|
-
}
|
|
474
|
-
/** Fixed-width chart that takes its height from the container. */
|
|
475
|
-
export interface ChartFixedWidthFluidHeight {
|
|
476
|
-
fillWidth?: false;
|
|
477
|
-
fillHeight: true;
|
|
478
|
-
width: number;
|
|
479
|
-
height?: never;
|
|
480
|
-
aspectRatio?: never;
|
|
481
|
-
}
|
|
482
|
-
/** Chart that fills its container on both axes — a dashboard tile. */
|
|
483
|
-
export interface ChartFluidBothAxes {
|
|
484
|
-
fillWidth: true;
|
|
485
|
-
fillHeight: true;
|
|
486
|
-
width?: never;
|
|
487
|
-
height?: never;
|
|
488
|
-
aspectRatio?: never;
|
|
248
|
+
/** Palette slot of the swatch, when the series has no `hex`. */
|
|
249
|
+
palette?: ChartPalette;
|
|
250
|
+
/** Raw swatch color; wins over `palette`. */
|
|
251
|
+
hex?: Hex;
|
|
489
252
|
}
|
|
490
|
-
/**
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
* `height` nor `aspectRatio` simply does not compile, and neither does
|
|
497
|
-
* `fillHeight` alongside a `height` that would contradict it.
|
|
498
|
-
*
|
|
499
|
-
* **`fillHeight` is not the mirror of `fillWidth`, and carries a requirement the
|
|
500
|
-
* type system cannot check.** Width flows down from the parent, so `fillWidth`
|
|
501
|
-
* is satisfied by any block container. Height flows *up* from content, so
|
|
502
|
-
* `fillHeight` needs an ancestor with a definite height — an explicit size, a
|
|
503
|
-
* flex or grid track, or absolute positioning. Given one, the chart fills it;
|
|
504
|
-
* given a content-sized parent there is nothing to fill and the chart collapses,
|
|
505
|
-
* which `useChartDimensions` warns about in development.
|
|
506
|
-
*/
|
|
507
|
-
export type ChartSize = ChartFixedSize | ChartFluidFixedHeight | ChartFluidRatioHeight | ChartFixedWidthFluidHeight | ChartFluidBothAxes;
|
|
508
|
-
/**
|
|
509
|
-
* Props common to every chart.
|
|
510
|
-
*
|
|
511
|
-
* Data props are declared per chart, since their shapes and generics differ.
|
|
512
|
-
*/
|
|
513
|
-
export interface BaseChartProps {
|
|
514
|
-
/** Space around the plot area. Merged over the defaults. */
|
|
515
|
-
margin?: Partial<ChartMargin>;
|
|
516
|
-
/** Built-in value format. Ignored when `valueFormatter` is given. */
|
|
517
|
-
valueUnit?: ChartValueUnit;
|
|
518
|
-
/** Full control over value rendering. Wins over `valueUnit`. */
|
|
253
|
+
/** Props every chart takes (the shared vocabulary in `chartgroupprovider.md`). */
|
|
254
|
+
export interface BaseChartProps<TKey extends string> extends AriaAttributes {
|
|
255
|
+
/**
|
|
256
|
+
* Formats values on the value axis, in the tooltip and in the keyboard announcement.
|
|
257
|
+
* @default (value) => formatNumber(value, { precision: 2 })
|
|
258
|
+
*/
|
|
519
259
|
valueFormatter?: ChartValueFormatter;
|
|
520
260
|
/**
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
* That is the axis and the tooltip heading on the cartesian charts, and
|
|
524
|
-
* additionally the legend on a pie — whose legend lists *slices*, which are
|
|
525
|
-
* its categories. Bar and line legends name series, which come from the
|
|
526
|
-
* `series` record and are not categories, so this does not reach them.
|
|
261
|
+
* Shows the legend (beneath the plot; beside it for PieChart). Entries that do not fit collapse behind "+N more".
|
|
262
|
+
* @default true
|
|
527
263
|
*/
|
|
528
|
-
|
|
529
|
-
/** Replace the tooltip body. Collision handling stays with the chart. */
|
|
530
|
-
tooltipRenderer?: ChartTooltipRenderer;
|
|
531
|
-
/** Suppress the tooltip and its hit targets entirely. */
|
|
532
|
-
noTooltip?: boolean;
|
|
264
|
+
hasLegend?: boolean;
|
|
533
265
|
/**
|
|
534
|
-
*
|
|
535
|
-
*
|
|
536
|
-
* receives the full model. Clamped to at least 1.
|
|
266
|
+
* Shows the tooltip on hover and keyboard focus. With `false` and no `onSelect`, the plot is a static image.
|
|
267
|
+
* @default true
|
|
537
268
|
*/
|
|
538
|
-
|
|
539
|
-
/**
|
|
540
|
-
|
|
269
|
+
hasTooltip?: boolean;
|
|
270
|
+
/** Replaces the tooltip body; positioning stays with the chart. Never called with empty rows. */
|
|
271
|
+
renderTooltip?: ChartTooltipRenderer;
|
|
541
272
|
/**
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
* plot's width, a side-placed legend one column of the plot's height, and
|
|
545
|
-
* entries that would not fit collapse behind a "+N more" trigger whose
|
|
546
|
-
* tooltip lists them — still hoverable, so a collapsed series isolates
|
|
547
|
-
* exactly like a visible one. This prop only lowers the inline count
|
|
548
|
-
* further.
|
|
273
|
+
* With no data yet, a `Skeleton` fills the plot; with data, marks recede and interaction pauses until it clears. Sets `aria-busy`.
|
|
274
|
+
* @default false
|
|
549
275
|
*/
|
|
550
|
-
legendMaxItems?: number;
|
|
551
|
-
/** Render the loading treatment instead of the data. */
|
|
552
276
|
isLoading?: boolean;
|
|
553
|
-
/**
|
|
554
|
-
|
|
555
|
-
|
|
277
|
+
/**
|
|
278
|
+
* Header of the `EmptyState` shown in the plot when there is nothing to plot.
|
|
279
|
+
* @default No data available
|
|
280
|
+
*/
|
|
281
|
+
placeholder?: string;
|
|
282
|
+
/** Called when a mark or category is clicked, or Enter / Space is pressed on the active category. Supplying it makes the plot selectable. */
|
|
283
|
+
onSelect?: (event: ChartSelectionEvent<TKey>) => void;
|
|
284
|
+
/** Which marks read as selected: matching marks hold full strength, the rest recede. Presentational; the chart never writes it. */
|
|
285
|
+
selection?: ChartSelectionInput<TKey>;
|
|
286
|
+
/** Accessible name of the chart. @default derived, e.g. Line chart, 12 categories, 3 series */
|
|
556
287
|
ariaLabel?: string;
|
|
557
|
-
/**
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
288
|
+
/** DOM id on the root `<div>`. */
|
|
289
|
+
id?: string;
|
|
290
|
+
/** Any `data-*` attribute, forwarded to the root `<div>`. */
|
|
291
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
292
|
+
/** Extra class on the root `<div>`. */
|
|
293
|
+
className?: string;
|
|
294
|
+
/** Inline style on the root `<div>`; only for setting CSS custom properties. */
|
|
295
|
+
style?: CSSProperties;
|
|
296
|
+
}
|
|
297
|
+
/** Props the cartesian charts (Line, Area, Bar) add to `BaseChartProps`. */
|
|
298
|
+
export interface BaseCartesianChartProps<TKey extends string> extends BaseChartProps<TKey> {
|
|
299
|
+
/**
|
|
300
|
+
* Formats category labels on the axis and in the tooltip heading. Sync and selection still match raw labels.
|
|
301
|
+
* @default (label) => label
|
|
302
|
+
*/
|
|
303
|
+
labelFormatter?: ChartLabelFormatter;
|
|
304
|
+
/** Overrides the value axis `min`, `max` and approximate `tickCount`. @default derived from the data, always including 0 */
|
|
570
305
|
valueDomain?: Partial<ChartValueDomain>;
|
|
571
|
-
/**
|
|
572
|
-
|
|
573
|
-
/** Title rendered alongside the category axis. */
|
|
574
|
-
categoryAxisTitle?: string;
|
|
575
|
-
/** Title rendered alongside the value axis. */
|
|
576
|
-
valueAxisTitle?: string;
|
|
306
|
+
/** Short titles beside the category axis and the value axis. */
|
|
307
|
+
axisLabels?: ChartAxisLabels;
|
|
577
308
|
}
|