@galaxy-io/dls 1.6.1 → 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 -30
- package/dist/inputs/SwitcherInput.js +0 -81
- 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
|
@@ -1,165 +1,99 @@
|
|
|
1
|
-
import { CAPTION_CHAR_WIDTH_PX,
|
|
1
|
+
import { AUTO_INSET_LEFT_STEP, AXIS_TITLE_BAND, AXIS_TITLE_GAP, CAPTION_CHAR_WIDTH_PX, CAPTION_LINE, MIN_AUTO_INSET_LEFT, MIN_CATEGORY_LABEL_GAP, MIN_VALUE_TICK_SPACING, PLOT_INSET_BOTTOM, PLOT_INSET_RIGHT, PLOT_INSET_TOP, VALUE_AXIS_TICK_GAP } from "./constants.js";
|
|
2
2
|
import { scaleLinear, scalePoint } from "d3-scale";
|
|
3
3
|
//#region src/charts/chartScales.ts
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* Pure arithmetic with no React and no theme access, so it can be unit-reasoned
|
|
8
|
-
* about and stays safe for Linaria's build-time evaluation.
|
|
5
|
+
* @internal Scales, value domains, ticks and plot insets for the chart family. Pure arithmetic on
|
|
6
|
+
* `d3-scale` (an optional peer, imported only by chart modules); no React, no DOM.
|
|
9
7
|
*/
|
|
8
|
+
/** @internal Clamps `value` into `[min, max]`. */
|
|
10
9
|
function clamp(value, min, max) {
|
|
11
10
|
return Math.min(Math.max(value, min), max);
|
|
12
11
|
}
|
|
13
|
-
/**
|
|
14
|
-
* Coerce a datum value into something safe to feed a scale.
|
|
15
|
-
*
|
|
16
|
-
* A single `NaN` or `Infinity` in consumer data otherwise propagates into every
|
|
17
|
-
* path's `d` attribute and blanks the entire chart rather than one mark.
|
|
18
|
-
*/
|
|
12
|
+
/** @internal A finite number, or 0: one `NaN` in data must not blank every path. */
|
|
19
13
|
function sanitizeValue(value) {
|
|
20
14
|
return typeof value === "number" && Number.isFinite(value) ? value : 0;
|
|
21
15
|
}
|
|
22
16
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* Written per-field rather than as a spread: spreading an object that carries
|
|
26
|
-
* an explicit `undefined` overwrites the default with `undefined` rather than
|
|
27
|
-
* falling back to it, which is easy to trip over when the partial is assembled
|
|
28
|
-
* from separate optional values.
|
|
29
|
-
*
|
|
30
|
-
* `defaults` exists because the cartesian default reserves axis gutters a
|
|
31
|
-
* radial chart has no use for. Taking it as a parameter keeps the merge
|
|
32
|
-
* per-field: a chart that substituted its own defaults with `margin ?? OWN`
|
|
33
|
-
* would silently fall back to the *cartesian* defaults the moment a caller
|
|
34
|
-
* passed a partial, handing an axis-less chart a 52px left gutter.
|
|
35
|
-
*/
|
|
36
|
-
function resolveMargin(partial, defaults = DEFAULT_CHART_MARGIN) {
|
|
37
|
-
return {
|
|
38
|
-
top: partial?.top ?? defaults.top,
|
|
39
|
-
right: partial?.right ?? defaults.right,
|
|
40
|
-
bottom: partial?.bottom ?? defaults.bottom,
|
|
41
|
-
left: partial?.left ?? defaults.left
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/** Inner plot dimensions, never negative. */
|
|
45
|
-
function getPlotDimensions(width, height, margin) {
|
|
46
|
-
return {
|
|
47
|
-
plotWidth: Math.max(0, width - margin.left - margin.right),
|
|
48
|
-
plotHeight: Math.max(0, height - margin.top - margin.bottom)
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Widen a margin to leave room for axis titles.
|
|
53
|
-
*
|
|
54
|
-
* The reservation has to happen here rather than inside the axis, because the
|
|
55
|
-
* margin is resolved before any axis renders — and with the root SVG set to
|
|
56
|
-
* `overflow: visible`, an unreserved title would paint outside the container and
|
|
57
|
-
* be clipped by whatever the consumer wraps the chart in.
|
|
58
|
-
*
|
|
59
|
-
* Applied to the caller's *partial* before {@link resolveMargin} fills in the
|
|
60
|
-
* defaults, so an explicit `margin.left` still governs the tick gutter and the
|
|
61
|
-
* title band is added on top of it rather than eating into it. Returns the input
|
|
62
|
-
* untouched when there are no titles, so the common case allocates nothing.
|
|
63
|
-
*/
|
|
64
|
-
function addAxisTitleSpace(partial, { hasValueTitle, hasCategoryTitle }) {
|
|
65
|
-
if (!hasValueTitle && !hasCategoryTitle) return partial;
|
|
66
|
-
return {
|
|
67
|
-
...partial,
|
|
68
|
-
left: (partial?.left ?? DEFAULT_CHART_MARGIN.left) + (hasValueTitle ? 26 : 0),
|
|
69
|
-
bottom: (partial?.bottom ?? DEFAULT_CHART_MARGIN.bottom) + (hasCategoryTitle ? 18 : 0)
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Turn a raw data extent into the domain the axis and the marks both use.
|
|
74
|
-
*
|
|
75
|
-
* Applies the caller's override, then three behaviours worth knowing:
|
|
76
|
-
*
|
|
77
|
-
* - **Zero is always in the domain.** Bars need a baseline to grow from, and
|
|
78
|
-
* without this a negative value maps outside the range and renders as a
|
|
79
|
-
* rectangle with negative height, which paints nothing at all.
|
|
80
|
-
* - **A zero-width domain is widened to 0–1.** d3's `normalize()` returns a
|
|
81
|
-
* constant `0.5` when the domain has no extent, so empty or all-zero data
|
|
82
|
-
* would otherwise map every value to the middle of the plot and strand the
|
|
83
|
-
* baseline halfway up.
|
|
84
|
-
* - **`nice()` rounds the ends outward** to values a reader would choose.
|
|
85
|
-
*
|
|
86
|
-
* Split out of {@link buildValueScale} so the domain is computed exactly once
|
|
87
|
-
* per chart and then handed to both the tick list and the geometry. Building it
|
|
88
|
-
* twice — once at a throwaway range to get ticks, once at the real range to
|
|
89
|
-
* place marks — leaves two `nice()` calls that must agree forever.
|
|
90
|
-
*
|
|
91
|
-
* `nice()` deliberately takes **no argument**. The default count is 10, not the
|
|
92
|
-
* five ticks {@link DEFAULT_VALUE_TICK_COUNT} asks for, and nicing to the tick
|
|
93
|
-
* count instead would change the axis extent on every existing chart.
|
|
17
|
+
* @internal The domain both the axis and the marks use: the override applied, zero always
|
|
18
|
+
* included (a baseline to grow from), a zero-width domain widened to 0–1, and the ends `nice()`d.
|
|
94
19
|
*/
|
|
95
20
|
function resolveValueDomain(raw, override) {
|
|
96
21
|
const min = override?.min ?? raw[0];
|
|
97
22
|
const max = override?.max ?? raw[1];
|
|
98
23
|
const lo = Math.min(0, min);
|
|
99
24
|
const hi = Math.max(0, max);
|
|
100
|
-
const [niceLo, niceHi] = scaleLinear().domain([lo, lo === hi ? hi + 1 : hi]).nice().domain();
|
|
25
|
+
const [niceLo = lo, niceHi = hi] = scaleLinear().domain([lo, lo === hi ? hi + 1 : hi]).nice().domain();
|
|
101
26
|
return [niceLo, niceHi];
|
|
102
27
|
}
|
|
103
|
-
/**
|
|
104
|
-
* Linear scale over an already-resolved domain.
|
|
105
|
-
*
|
|
106
|
-
* Does no nicing and no zero-forcing — {@link resolveValueDomain} has done
|
|
107
|
-
* both. Takes the domain rather than raw data so the same numbers drive the
|
|
108
|
-
* axis, the ticks and every mark.
|
|
109
|
-
*/
|
|
28
|
+
/** @internal Linear scale over a resolved domain. */
|
|
110
29
|
function buildValueScale(domain, range) {
|
|
111
30
|
return scaleLinear().domain(domain).range(range);
|
|
112
31
|
}
|
|
113
|
-
/** Point scale for categories,
|
|
32
|
+
/** @internal Point scale for categories (LineChart, AreaChart). */
|
|
114
33
|
function buildCategoryPointScale(labels, range, padding = 0) {
|
|
115
34
|
return scalePoint().domain(labels).range(range).padding(padding);
|
|
116
35
|
}
|
|
36
|
+
/** @internal Tick values for a resolved domain. Needs no dimensions, so it can size the gutter first. */
|
|
37
|
+
function getValueTicks(domain, override) {
|
|
38
|
+
return scaleLinear().domain(domain).ticks(override?.tickCount ?? 5);
|
|
39
|
+
}
|
|
40
|
+
/** @internal How many value ticks fit a plot `plotHeight` tall, at least `MIN_VALUE_TICK_SPACING` apart. */
|
|
41
|
+
function getMaxValueTicks(plotHeight) {
|
|
42
|
+
return Math.max(2, Math.floor(plotHeight / MIN_VALUE_TICK_SPACING) + 1);
|
|
43
|
+
}
|
|
117
44
|
/**
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* and build-time evaluation. The estimate only has to be close: tick labels
|
|
123
|
-
* right-align against the plot and ellipsize, so an underestimate truncates one
|
|
124
|
-
* label rather than breaking the layout, and {@link MAX_AUTO_MARGIN_LEFT} caps
|
|
125
|
-
* what a pathological formatter can take from the plot.
|
|
126
|
-
*
|
|
127
|
-
* Rounded up to {@link AUTO_MARGIN_LEFT_STEP} rather than used raw — see that
|
|
128
|
-
* constant for why an exact fit is the wrong target.
|
|
129
|
-
*
|
|
130
|
-
* Safe to call before the chart has been measured: `nice()` and `ticks()` depend
|
|
131
|
-
* on the domain and the requested count, never on the scale's range, so the tick
|
|
132
|
-
* values here are the same ones the axis renders later.
|
|
45
|
+
* @internal The value axis for a plot `plotHeight` tall (0 = not measured yet): the domain and its
|
|
46
|
+
* ticks at the requested density, the ticks thinned until they sit at least
|
|
47
|
+
* `MIN_VALUE_TICK_SPACING` apart so labels never touch on a short chart. The domain never grows to
|
|
48
|
+
* suit the thinner ticks (a short chart keeps its marks tall; the top rule may sit below the top).
|
|
133
49
|
*/
|
|
134
|
-
function
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
50
|
+
function resolveValueAxis(raw, override, plotHeight) {
|
|
51
|
+
const requested = override?.tickCount ?? 5;
|
|
52
|
+
const domain = resolveValueDomain(raw, override);
|
|
53
|
+
let ticks = getValueTicks(domain, { tickCount: requested });
|
|
54
|
+
if (plotHeight <= 0) return {
|
|
55
|
+
domain,
|
|
56
|
+
ticks
|
|
57
|
+
};
|
|
58
|
+
const maxTicks = getMaxValueTicks(plotHeight);
|
|
59
|
+
for (let count = requested - 1; ticks.length > maxTicks && count >= 1; count -= 1) ticks = getValueTicks(domain, { tickCount: count });
|
|
60
|
+
return {
|
|
61
|
+
domain,
|
|
62
|
+
ticks
|
|
63
|
+
};
|
|
139
64
|
}
|
|
140
65
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* Returns 1 when every label fits, so a chart that is not crowded renders
|
|
144
|
-
* exactly as it would with no skipping at all.
|
|
66
|
+
* @internal Left gutter that fits the widest formatted tick, estimated from character count (SSR
|
|
67
|
+
* safe), rounded up to a step so plots stay aligned and do not shift as live data gains a digit.
|
|
145
68
|
*/
|
|
69
|
+
function estimateValueAxisInset(ticks, formatter) {
|
|
70
|
+
let widest = 0;
|
|
71
|
+
for (const tick of ticks) widest = Math.max(widest, formatter(tick).length * CAPTION_CHAR_WIDTH_PX);
|
|
72
|
+
const needed = Math.ceil(widest) + VALUE_AXIS_TICK_GAP;
|
|
73
|
+
return clamp(Math.ceil(needed / AUTO_INSET_LEFT_STEP) * AUTO_INSET_LEFT_STEP, MIN_AUTO_INSET_LEFT, 96);
|
|
74
|
+
}
|
|
75
|
+
/** @internal The cartesian insets: the tick gutter, plus bands for the axis titles. */
|
|
76
|
+
function getCartesianInsets(tickInset, { hasValueTitle, hasCategoryTitle }) {
|
|
77
|
+
return {
|
|
78
|
+
top: PLOT_INSET_TOP,
|
|
79
|
+
right: PLOT_INSET_RIGHT,
|
|
80
|
+
bottom: PLOT_INSET_BOTTOM + (hasCategoryTitle ? AXIS_TITLE_GAP + AXIS_TITLE_BAND : 0),
|
|
81
|
+
left: tickInset + (hasValueTitle ? AXIS_TITLE_BAND + AXIS_TITLE_GAP : 0)
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/** @internal How many rows to skip between rendered row labels (Heatmap); 1 when every caption line fits. */
|
|
85
|
+
function getRowLabelStride(step) {
|
|
86
|
+
if (step <= 0) return 1;
|
|
87
|
+
const required = CAPTION_LINE + MIN_CATEGORY_LABEL_GAP / 2;
|
|
88
|
+
return required <= step ? 1 : Math.ceil(required / step);
|
|
89
|
+
}
|
|
90
|
+
/** @internal How many categories to skip between rendered labels; 1 when every label fits. */
|
|
146
91
|
function getCategoryLabelStride(labels, step) {
|
|
147
92
|
if (labels.length === 0 || step <= 0) return 1;
|
|
148
93
|
let widest = 0;
|
|
149
94
|
for (const label of labels) widest = Math.max(widest, label.length * CAPTION_CHAR_WIDTH_PX);
|
|
150
|
-
const required = widest +
|
|
95
|
+
const required = widest + MIN_CATEGORY_LABEL_GAP;
|
|
151
96
|
return required <= step ? 1 : Math.ceil(required / step);
|
|
152
97
|
}
|
|
153
|
-
/**
|
|
154
|
-
* Tick values for a resolved domain, honoring an explicit tick count.
|
|
155
|
-
*
|
|
156
|
-
* Needs no dimensions, which is what breaks the apparent circularity in the
|
|
157
|
-
* layout: the left margin must fit the tick labels, the margin decides the plot
|
|
158
|
-
* size, and the plot size builds the scale. Tick *values* fall out of the domain
|
|
159
|
-
* alone, so they can be known before anything is measured.
|
|
160
|
-
*/
|
|
161
|
-
function getValueTicks(domain, override) {
|
|
162
|
-
return scaleLinear().domain(domain).ticks(override?.tickCount ?? 5);
|
|
163
|
-
}
|
|
164
98
|
//#endregion
|
|
165
|
-
export {
|
|
99
|
+
export { buildCategoryPointScale, buildValueScale, clamp, estimateValueAxisInset, getCartesianInsets, getCategoryLabelStride, getMaxValueTicks, getRowLabelStride, getValueTicks, resolveValueAxis, resolveValueDomain, sanitizeValue };
|
|
@@ -1,263 +1,103 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
* The label box is `margin.left - VALUE_AXIS_TICK_GAP` wide, so the axis
|
|
16
|
-
* geometry follows the margin instead of hardcoding an offset.
|
|
17
|
-
*/
|
|
18
|
-
export declare const VALUE_AXIS_TICK_GAP = 12;
|
|
19
|
-
/** Height of a value-axis tick label box in px. */
|
|
1
|
+
/** @internal Height of one caption line (`caption` type step): every axis label and title. */
|
|
2
|
+
export declare const CAPTION_LINE: number;
|
|
3
|
+
/** @internal Clear space between an axis label (or title) and the plot, its grid, or the next label row. */
|
|
4
|
+
export declare const AXIS_LABEL_GAP: number;
|
|
5
|
+
/** @internal Grid lines extend this far past both plot edges: a short lead-in, clear of the labels. */
|
|
6
|
+
export declare const GRID_LINE_BLEED: number;
|
|
7
|
+
/** @internal Space above the plot: half a value label box (its text clears the top) plus air for a dot. */
|
|
8
|
+
export declare const PLOT_INSET_TOP: number;
|
|
9
|
+
/** @internal Space right of the plot: the grid bleed plus air for a line's end dot and cap. */
|
|
10
|
+
export declare const PLOT_INSET_RIGHT: number;
|
|
11
|
+
/** @internal Gap between a value tick label and the plot edge: the grid bleed plus the label gap. */
|
|
12
|
+
export declare const VALUE_AXIS_TICK_GAP: number;
|
|
13
|
+
/** @internal Height of a value tick label box: taller than the caption line so it centers on its tick. */
|
|
20
14
|
export declare const VALUE_AXIS_LABEL_HEIGHT = 20;
|
|
21
|
-
/**
|
|
22
|
-
export declare const
|
|
23
|
-
/**
|
|
24
|
-
export declare const
|
|
25
|
-
/**
|
|
26
|
-
export declare const
|
|
27
|
-
/**
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* runs straight into the rotated title, and the two axes visibly disagree.
|
|
35
|
-
*/
|
|
36
|
-
export declare const AXIS_TITLE_GAP = 8;
|
|
37
|
-
/** Default approximate tick count on the value axis. */
|
|
15
|
+
/** @internal Gap between the plot's bottom edge and the category labels. */
|
|
16
|
+
export declare const CATEGORY_AXIS_LABEL_GAP: number;
|
|
17
|
+
/** @internal Height of the category label box: one caption line, so the label gap is the visible gap. */
|
|
18
|
+
export declare const CATEGORY_AXIS_LABEL_HEIGHT: number;
|
|
19
|
+
/** @internal Space below the plot: label gap + label line. */
|
|
20
|
+
export declare const PLOT_INSET_BOTTOM: number;
|
|
21
|
+
/** @internal Band reserved for an axis title: a caption line with 2px of air each side, so a rotated title stays inside the chart. */
|
|
22
|
+
export declare const AXIS_TITLE_BAND: number;
|
|
23
|
+
/** @internal Clear space between an axis title and its tick labels. */
|
|
24
|
+
export declare const AXIS_TITLE_GAP: number;
|
|
25
|
+
/** @internal Minimum distance between value ticks (a caption line plus the label gap): closer ticks are thinned so labels never crowd. */
|
|
26
|
+
export declare const MIN_VALUE_TICK_SPACING: number;
|
|
27
|
+
/** @internal Default approximate tick count on the value axis. */
|
|
38
28
|
export declare const DEFAULT_VALUE_TICK_COUNT = 5;
|
|
39
|
-
/**
|
|
40
|
-
export declare const
|
|
41
|
-
/**
|
|
42
|
-
export declare const
|
|
43
|
-
/**
|
|
44
|
-
export declare const
|
|
45
|
-
/**
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* Applied to every segment except the one sitting on the baseline, so each seam
|
|
55
|
-
* gets a gap and the bar still meets the axis flush.
|
|
56
|
-
*/
|
|
57
|
-
export declare const STACK_SEGMENT_GAP = 2;
|
|
58
|
-
/** Minimum rendered height for a non-zero bar, in px. */
|
|
59
|
-
export declare const MIN_BAR_LENGTH = 2;
|
|
60
|
-
/**
|
|
61
|
-
* Target gaps in px between groups, and between bars within a group.
|
|
62
|
-
*
|
|
63
|
-
* The within-group gap must stay clearly smaller than the between-group gap —
|
|
64
|
-
* that ratio is the only thing making a group read as a group. When the two are
|
|
65
|
-
* close, the eye has nothing to bind a group's bars together and the chart reads
|
|
66
|
-
* as one long row of unrelated bars.
|
|
67
|
-
*/
|
|
68
|
-
export declare const GROUP_GAP_COMFORTABLE = 24;
|
|
69
|
-
export declare const BAR_GAP_COMFORTABLE = 6;
|
|
70
|
-
export declare const GROUP_GAP_MEDIUM = 16;
|
|
71
|
-
export declare const BAR_GAP_MEDIUM = 4;
|
|
72
|
-
export declare const GROUP_GAP_TIGHT = 12;
|
|
73
|
-
export declare const BAR_GAP_TIGHT = 3;
|
|
74
|
-
/**
|
|
75
|
-
* Fraction of its available slot a bar actually fills.
|
|
76
|
-
*
|
|
77
|
-
* Bars sized to consume every last pixel of their group read as heavy, and the
|
|
78
|
-
* chart becomes a wall of colour rather than a set of measurements. Holding them
|
|
79
|
-
* back leaves air on both sides of each group without touching the gap between
|
|
80
|
-
* neighbouring bars.
|
|
81
|
-
*/
|
|
82
|
-
export declare const BAR_WIDTH_RATIO = 0.8;
|
|
83
|
-
/**
|
|
84
|
-
* Ceiling on a single bar's thickness, in px.
|
|
85
|
-
*
|
|
86
|
-
* Without it a two- or three-category chart divides the whole plot between a
|
|
87
|
-
* handful of bars and produces slabs — the width stops carrying information the
|
|
88
|
-
* moment it exceeds what the eye needs to compare heights.
|
|
89
|
-
*/
|
|
90
|
-
export declare const MAX_BAR_WIDTH = 44;
|
|
91
|
-
/** Below this many bars the chart always uses comfortable spacing. */
|
|
92
|
-
export declare const MIN_BARS_FOR_TIGHT_SPACING = 13;
|
|
93
|
-
/**
|
|
94
|
-
* Ceiling on a gap, as a share of the space it divides.
|
|
95
|
-
*
|
|
96
|
-
* The gaps above are absolute pixel values chosen from chart-wide density, which
|
|
97
|
-
* says nothing about how much room a *single* category actually got. Forty
|
|
98
|
-
* categories in a 650px plot leave a 16px step, and a 24px gap subtracted from
|
|
99
|
-
* that goes negative — the width lands on its 1px floor and every bar renders as
|
|
100
|
-
* a hairline. Capping the gap proportionally keeps it honest at any density: it
|
|
101
|
-
* stays exactly as specified whenever there is room, and degrades smoothly when
|
|
102
|
-
* there is not.
|
|
103
|
-
*/
|
|
104
|
-
export declare const MAX_GAP_SHARE = 0.3;
|
|
105
|
-
/** Plot widths above this stay comfortable; below the tight threshold go tight. */
|
|
106
|
-
export declare const WIDTH_FOR_MEDIUM_SPACING = 650;
|
|
107
|
-
export declare const WIDTH_FOR_TIGHT_SPACING = 500;
|
|
108
|
-
/** Grid lines extend this far past both plot edges, in px. */
|
|
109
|
-
export declare const GRID_LINE_BLEED = 12;
|
|
110
|
-
export declare const DEFAULT_LINE_STROKE_WIDTH = 1.5;
|
|
111
|
-
/** Radius of the dot marking a point on a hovered category, in px. */
|
|
29
|
+
/** @internal Width of one caption character, for arithmetic label sizing (SSR-safe, no DOM). */
|
|
30
|
+
export declare const CAPTION_CHAR_WIDTH_PX = 6.2;
|
|
31
|
+
/** @internal Floor of the auto-sized left gutter. */
|
|
32
|
+
export declare const MIN_AUTO_INSET_LEFT: number;
|
|
33
|
+
/** @internal Ceiling of the auto-sized left gutter, so a wide formatter cannot eat the plot (no step). */
|
|
34
|
+
export declare const MAX_AUTO_INSET_LEFT = 96;
|
|
35
|
+
/** @internal The left gutter grows in steps of this, so plots stay aligned across charts. */
|
|
36
|
+
export declare const AUTO_INSET_LEFT_STEP: number;
|
|
37
|
+
/** @internal Minimum space between category labels before the axis thins them (rows: one caption line apart). */
|
|
38
|
+
export declare const MIN_CATEGORY_LABEL_GAP: number;
|
|
39
|
+
/** @internal Insets around a radial plot, which draws no axes. */
|
|
40
|
+
export declare const RADIAL_PLOT_INSET: number;
|
|
41
|
+
/** @internal Every line's stroke width (no stroke token; the 1.x weight). */
|
|
42
|
+
export declare const LINE_STROKE_WIDTH = 1.5;
|
|
43
|
+
/** @internal Radius of a point dot (the 1.x dot; no step). */
|
|
112
44
|
export declare const LINE_POINT_RADIUS = 3.5;
|
|
113
|
-
/**
|
|
114
|
-
export declare const
|
|
115
|
-
/**
|
|
116
|
-
export declare const
|
|
117
|
-
/**
|
|
118
|
-
export declare const
|
|
119
|
-
/**
|
|
120
|
-
export declare const PIE_DONUT_INNER_RATIO = 0.62;
|
|
121
|
-
/**
|
|
122
|
-
* Share of the narrowest slice that its two inner pad insets may consume.
|
|
123
|
-
*
|
|
124
|
-
* d3 turns {@link PIE_PAD_ANGLE} into a *constant linear* gap, and holding that
|
|
125
|
-
* width at radius `r` costs an angular inset of `asin(gap / 2r)` — unbounded as
|
|
126
|
-
* `r` approaches zero. When the two insets no longer fit inside a slice's own
|
|
127
|
-
* span, d3 collapses that slice's inner edge rather than sweeping backwards. The
|
|
128
|
-
* collapse is what makes a hole-less pie look wrong: the gap edge stops being
|
|
129
|
-
* radial, so gaps sit at visibly different widths and lean at slight angles, and
|
|
130
|
-
* it bites hardest between the *narrowest* slices, where the span runs out
|
|
131
|
-
* first.
|
|
132
|
-
*
|
|
133
|
-
* So the inner radius is solved for rather than guessed: pick the radius that
|
|
134
|
-
* keeps both insets inside the narrowest slice, with this much of it spent. At
|
|
135
|
-
* 0.7 the measured gap spread is 1.01× (against 1.46× when the inner edge is
|
|
136
|
-
* left to collapse), and the remaining 30% is what absorbs the corner radius.
|
|
137
|
-
*/
|
|
138
|
-
export declare const PIE_MAX_INSET_SHARE = 0.7;
|
|
139
|
-
/**
|
|
140
|
-
* Ceiling on the auto-derived inner radius, as a share of the outer radius.
|
|
141
|
-
*
|
|
142
|
-
* The radius needed grows without bound as the narrowest slice shrinks, so a
|
|
143
|
-
* single sliver would otherwise turn a pie into a donut. Past this point the
|
|
144
|
-
* hole is doing more visual damage than the uneven gap it fixes, so the gap is
|
|
145
|
-
* allowed to degrade instead — never worse than it renders today.
|
|
146
|
-
*/
|
|
147
|
-
export declare const PIE_MAX_AUTO_INNER_RATIO = 0.06;
|
|
148
|
-
/** How far outside the arc the tooltip anchors, in px. */
|
|
149
|
-
export declare const PIE_TOOLTIP_ANCHOR_INSET = 8;
|
|
150
|
-
/**
|
|
151
|
-
* Default share below which a slice is folded into an "Other" bucket.
|
|
152
|
-
*
|
|
153
|
-
* Slivers this thin are unreadable and effectively unhoverable, so grouping
|
|
154
|
-
* them communicates more than rendering each faithfully.
|
|
155
|
-
*/
|
|
156
|
-
export declare const PIE_MIN_SLICE_SHARE = 0.02;
|
|
157
|
-
/** React key used for the bucket that absorbs slices below the fold threshold. */
|
|
158
|
-
export declare const AGGREGATED_SLICE_KEY = "__other__";
|
|
159
|
-
/** Margin around a pie, which needs no axis gutters. */
|
|
160
|
-
export declare const PIE_CHART_MARGIN: ChartMargin;
|
|
161
|
-
/**
|
|
162
|
-
* Duration in ms for the tooltip's fade and glide.
|
|
163
|
-
*
|
|
164
|
-
* Sits inside the 75–150ms band the DLS uses everywhere else. Only the tooltip
|
|
165
|
-
* transitions — mark and legend emphasis snaps, because emphasis is feedback
|
|
166
|
-
* and feedback that eases in reads as lag.
|
|
167
|
-
*/
|
|
168
|
-
export declare const CHART_TRANSITION_MS = 100;
|
|
169
|
-
/**
|
|
170
|
-
* Opacity ramp for the mark states.
|
|
171
|
-
*
|
|
172
|
-
* The grammar is inherited from the reference charts and is the opposite of the
|
|
173
|
-
* obvious one: hovering does not brighten the hovered mark, it *softens*
|
|
174
|
-
* everything else. `MUTED` applies to marks outside the hovered category or
|
|
175
|
-
* series.
|
|
176
|
-
*
|
|
177
|
-
* The step down from ACTIVE is deliberately steep. These are large filled areas
|
|
178
|
-
* — bars and arcs — and a filled shape still reads as present at an opacity
|
|
179
|
-
* where a hairline would have vanished, so a timid step barely registers as a
|
|
180
|
-
* highlight at all.
|
|
181
|
-
*/
|
|
45
|
+
/** @internal Dash and gap of a dashed line. */
|
|
46
|
+
export declare const LINE_DASH: number;
|
|
47
|
+
/** @internal Opacity of an area fill (1.x `LINE_AREA_OPACITY`). */
|
|
48
|
+
export declare const AREA_FILL_OPACITY = 0.12;
|
|
49
|
+
/** @internal Opacity of a stacked area band: bands never overlap, so they carry a firmer fill (AreaChart). */
|
|
50
|
+
export declare const AREA_STACKED_FILL_OPACITY = 0.24;
|
|
51
|
+
/** @internal Opacity of `ChartMarkState.ACTIVE`. */
|
|
182
52
|
export declare const CHART_MARK_OPACITY_ACTIVE = 1;
|
|
53
|
+
/** @internal Opacity of `ChartMarkState.MUTED`: steep, so a filled mark visibly recedes. */
|
|
183
54
|
export declare const CHART_MARK_OPACITY_MUTED = 0.1;
|
|
184
|
-
/**
|
|
185
|
-
* The whisper tier, for `ChartMarkState.DIMMED`.
|
|
186
|
-
*
|
|
187
|
-
* Deliberately far gentler than MUTED: it is used where another affordance —
|
|
188
|
-
* BarChart's cursor band — already marks the hovered category, so the
|
|
189
|
-
* off-category marks only need to step back, not disappear.
|
|
190
|
-
*/
|
|
55
|
+
/** @internal Opacity of `ChartMarkState.DIMMED`: a whisper, where a cursor band already highlights. */
|
|
191
56
|
export declare const CHART_MARK_OPACITY_DIMMED = 0.4;
|
|
192
|
-
/**
|
|
193
|
-
export declare const
|
|
194
|
-
/**
|
|
195
|
-
export declare const
|
|
196
|
-
/**
|
|
197
|
-
export declare const
|
|
198
|
-
/**
|
|
199
|
-
export declare const
|
|
200
|
-
/**
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
*/
|
|
209
|
-
export declare const
|
|
210
|
-
/**
|
|
211
|
-
*
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
*/
|
|
57
|
+
/** @internal Corner radius on the outer end of a wide bar. */
|
|
58
|
+
export declare const BAR_RADIUS: number;
|
|
59
|
+
/** @internal Corner radius of a bar narrower than `NARROW_BAR_WIDTH`. */
|
|
60
|
+
export declare const BAR_RADIUS_NARROW: number;
|
|
61
|
+
/** @internal Bars below this width use the smaller radius (1.x). */
|
|
62
|
+
export declare const NARROW_BAR_WIDTH = 40;
|
|
63
|
+
/** @internal Seam between stacked segments; whole pixels so every seam renders alike. */
|
|
64
|
+
export declare const STACK_SEGMENT_GAP: number;
|
|
65
|
+
/** @internal Minimum drawn length of a non-zero bar. */
|
|
66
|
+
export declare const MIN_BAR_LENGTH: number;
|
|
67
|
+
/**
|
|
68
|
+
* @internal The gap between categories as a share of the category band. Gaps are proportional so
|
|
69
|
+
* a narrow chart keeps its bars; this share and the in-group one below reproduce the 1.x look at
|
|
70
|
+
* 480px and up, where the bars also hit their 44px ceiling or the gaps hit theirs.
|
|
71
|
+
*/
|
|
72
|
+
export declare const CATEGORY_GAP_RATIO = 0.35;
|
|
73
|
+
/** @internal Floor of the category gap, so neighbouring categories never touch. */
|
|
74
|
+
export declare const MIN_CATEGORY_GAP: number;
|
|
75
|
+
/**
|
|
76
|
+
* @internal Ceiling of the category gap. 1.x drew 24px plus 20% of each bar slot as air, so a wide
|
|
77
|
+
* grouped chart showed ~40px between groups; this ceiling keeps that look.
|
|
78
|
+
*/
|
|
79
|
+
export declare const MAX_CATEGORY_GAP: number;
|
|
80
|
+
/** @internal The gap between bars in a group as a share of one bar's slot (the group gap binds a group). */
|
|
81
|
+
export declare const BAR_GAP_RATIO = 0.2;
|
|
82
|
+
/** @internal Floor of the in-group gap: one hairline of air (no step). */
|
|
83
|
+
export declare const MIN_BAR_GAP = 1;
|
|
84
|
+
/** @internal Ceiling of the in-group gap (the 1.x gap). */
|
|
85
|
+
export declare const MAX_BAR_GAP: number;
|
|
86
|
+
/** @internal Gap between heatmap cells as a share of a cell's step: proportional, like the bar gaps. */
|
|
87
|
+
export declare const HEATMAP_CELL_GAP_RATIO = 0.1;
|
|
88
|
+
/** @internal Floor of the heatmap cell gap: one hairline of air (no step). */
|
|
89
|
+
export declare const MIN_HEATMAP_CELL_GAP = 1;
|
|
90
|
+
/** @internal Ceiling of the heatmap cell gap (the 1.x gap). */
|
|
91
|
+
export declare const MAX_HEATMAP_CELL_GAP: number;
|
|
92
|
+
/** @internal Width of the seam between pie slices, constant in pixels at any radius (the stack seam). */
|
|
93
|
+
export declare const PIE_SLICE_GAP: number;
|
|
94
|
+
/** @internal Distance between the tooltip and its anchor. */
|
|
95
|
+
export declare const CHART_TOOLTIP_OFFSET: number;
|
|
96
|
+
/** @internal Rows the built-in tooltip body shows before "+N more". */
|
|
97
|
+
export declare const CHART_TOOLTIP_MAX_ROWS = 8;
|
|
98
|
+
/** @internal Gap between the plot box and a side-placed legend. */
|
|
99
|
+
export declare const CHART_LEGEND_SIDE_GAP: number;
|
|
100
|
+
/** @internal Height cap of the "+N more" legend list (about eight entries) before it scrolls. */
|
|
220
101
|
export declare const CHART_LEGEND_OVERFLOW_MAX_HEIGHT = 208;
|
|
221
|
-
/**
|
|
222
|
-
|
|
223
|
-
* popover box — the list inside subtracts the Tooltip's 8px inset per side.
|
|
224
|
-
* Without one, a couple of short labels shrink-wrap into a scrunched box.
|
|
225
|
-
*/
|
|
226
|
-
export declare const CHART_LEGEND_OVERFLOW_MIN_WIDTH = 160;
|
|
227
|
-
/**
|
|
228
|
-
* Approximate width of one CAPTION-size character.
|
|
229
|
-
*
|
|
230
|
-
* Axis sizing estimates label widths arithmetically rather than measuring the
|
|
231
|
-
* DOM, so it stays correct during build-time evaluation and server rendering.
|
|
232
|
-
*/
|
|
233
|
-
export declare const CAPTION_CHAR_WIDTH_PX = 6.2;
|
|
234
|
-
/** Ceiling for an auto-sized left margin, so a wide formatter can't eat the plot. */
|
|
235
|
-
export declare const MAX_AUTO_MARGIN_LEFT = 96;
|
|
236
|
-
/**
|
|
237
|
-
* Floor for an auto-sized left margin.
|
|
238
|
-
*
|
|
239
|
-
* Enough for a two- or three-character tick plus {@link VALUE_AXIS_TICK_GAP}, so
|
|
240
|
-
* an axis labelled `0`–`5` still has its numbers clear of the container edge
|
|
241
|
-
* rather than jammed against it.
|
|
242
|
-
*/
|
|
243
|
-
export declare const MIN_AUTO_MARGIN_LEFT = 32;
|
|
244
|
-
/**
|
|
245
|
-
* Quantum for an auto-sized left margin, in px.
|
|
246
|
-
*
|
|
247
|
-
* Sizing the gutter to the widest tick means the plot origin moves whenever that
|
|
248
|
-
* label's width changes — live data crossing 999 → 1000 gains a digit and would
|
|
249
|
-
* shift every mark sideways. Rounding up to a step absorbs that: the margin only
|
|
250
|
-
* moves when a label crosses a real threshold, and two charts with similar ticks
|
|
251
|
-
* land on the *same* value, so stacked charts in a dashboard keep their plots
|
|
252
|
-
* aligned instead of each choosing its own origin.
|
|
253
|
-
*/
|
|
254
|
-
export declare const AUTO_MARGIN_LEFT_STEP = 8;
|
|
255
|
-
/** Minimum px between category labels before AUTO mode starts skipping them. */
|
|
256
|
-
export declare const MIN_CATEGORY_LABEL_GAP = 8;
|
|
257
|
-
/**
|
|
258
|
-
* Default assignment order for series colors.
|
|
259
|
-
*
|
|
260
|
-
* Purple leads to match the Galaxy brand. Galaxy blue is deliberately absent —
|
|
261
|
-
* it is structural only, reserved for primary actions and selection.
|
|
262
|
-
*/
|
|
263
|
-
export declare const CHART_PALETTE_ORDER: ChartPalette[];
|
|
102
|
+
/** @internal 2:1, the aspect-ratio fallback of cartesian charts and PieChart. */
|
|
103
|
+
export declare const CHART_DEFAULT_ASPECT_RATIO = 2;
|