@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,25 +1,21 @@
|
|
|
1
|
-
import type { BarChartGroupDatum, ChartLegendItem, ChartSeriesStyles } from "./types";
|
|
2
|
-
import type { SeriesColorResolver } from "./useSeriesColorResolver";
|
|
3
1
|
/**
|
|
4
|
-
* Legend entries for a bar chart.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* legend in the DLS that cannot be a `.map()` over the `series` record: a bar's
|
|
8
|
-
* *components* are a second dimension with no record of their own, so a stacked
|
|
9
|
-
* chart's legend has to be recovered from the data itself.
|
|
2
|
+
* @internal Legend entries for a bar chart. The one chart legend that cannot be a `.map()` over
|
|
3
|
+
* the `series` record: when bars are stacked the colors distinguish components, a second dimension
|
|
4
|
+
* with no record of its own, so the legend is recovered from the data (first-seen order).
|
|
10
5
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* component describes a chart that is not on screen.
|
|
18
|
-
*/
|
|
6
|
+
import type { BarGeometryGroup } from "./barChartGeometry.js";
|
|
7
|
+
import type { ChartLegendItem, ChartSeriesStyles } from "./types.js";
|
|
8
|
+
import type { SeriesColorResolver } from "./useSeriesColorResolver.js";
|
|
9
|
+
/** @internal Inputs of `getBarLegendItems`. */
|
|
10
|
+
export interface GetBarLegendItemsArgs<TMetric extends string, TComponentKey extends string> {
|
|
11
|
+
/** Whether any bar is stacked: decides which dimension the legend names (and the colors use). */
|
|
19
12
|
isStacked: boolean;
|
|
13
|
+
/** The `series` prop. */
|
|
20
14
|
series: ChartSeriesStyles<TMetric>;
|
|
21
|
-
groups
|
|
15
|
+
/** The `groups` prop. */
|
|
16
|
+
groups: BarGeometryGroup<TMetric, TComponentKey>[];
|
|
17
|
+
/** The chart's series color resolver. */
|
|
22
18
|
colors: SeriesColorResolver<TMetric>;
|
|
23
19
|
}
|
|
20
|
+
/** @internal Metrics when no bar is stacked; components (first seen, colored by position) otherwise. */
|
|
24
21
|
export declare function getBarLegendItems<TMetric extends string, TComponentKey extends string>({ isStacked, series, groups, colors, }: GetBarLegendItemsArgs<TMetric, TComponentKey>): ChartLegendItem[];
|
|
25
|
-
export {};
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
+
import { resolveChartSeriesColor } from "./chartPalette.js";
|
|
1
2
|
//#region src/charts/barChartLegend.ts
|
|
3
|
+
/** @internal Metrics when no bar is stacked; components (first seen, colored by position) otherwise. */
|
|
2
4
|
function getBarLegendItems({ isStacked, series, groups, colors }) {
|
|
3
|
-
if (!isStacked) return colors.keys.map((metric) =>
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
if (!isStacked) return colors.keys.map((metric) => {
|
|
6
|
+
const color = colors.resolve(metric);
|
|
7
|
+
return {
|
|
8
|
+
key: metric,
|
|
9
|
+
label: series[metric]?.label ?? metric,
|
|
10
|
+
...color.palette !== void 0 && { palette: color.palette },
|
|
11
|
+
...color.hex !== void 0 && { hex: color.hex }
|
|
12
|
+
};
|
|
13
|
+
});
|
|
8
14
|
const seen = /* @__PURE__ */ new Map();
|
|
9
15
|
for (const group of groups) for (const bar of group.bars) bar.components.forEach((component, componentIndex) => {
|
|
10
|
-
if (
|
|
16
|
+
if (seen.has(component.key)) return;
|
|
17
|
+
const color = resolveChartSeriesColor(componentIndex, component.color, component.hex);
|
|
18
|
+
seen.set(component.key, {
|
|
19
|
+
key: component.key,
|
|
11
20
|
label: component.label,
|
|
12
|
-
|
|
13
|
-
|
|
21
|
+
...color.palette !== void 0 && { palette: color.palette },
|
|
22
|
+
...color.hex !== void 0 && { hex: color.hex }
|
|
14
23
|
});
|
|
15
24
|
});
|
|
16
|
-
return [...seen.
|
|
17
|
-
key,
|
|
18
|
-
label,
|
|
19
|
-
color: colors.resolveByIndex(index, explicit)
|
|
20
|
-
}));
|
|
25
|
+
return [...seen.values()];
|
|
21
26
|
}
|
|
22
27
|
//#endregion
|
|
23
28
|
export { getBarLegendItems };
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Pick the effective value formatter.
|
|
13
|
-
*
|
|
14
|
-
* An explicit `valueFormatter` always wins; otherwise the unit supplies a
|
|
15
|
-
* default, and `PLAIN` is the fallback when neither is given.
|
|
16
|
-
*/
|
|
17
|
-
export declare function resolveValueFormatter(valueFormatter?: ChartValueFormatter, unit?: ChartValueUnit): ChartValueFormatter;
|
|
18
|
-
/** Pick the effective label formatter, defaulting to identity. */
|
|
1
|
+
import type { ChartLabelFormatter, ChartValueFormatter } from "./types.js";
|
|
2
|
+
/** @internal How a gap (a `null` reading) renders in the tooltip. */
|
|
3
|
+
export declare const CHART_NULL_VALUE = "\u2014";
|
|
4
|
+
/** @internal The default value formatter: grouped, at most two fraction digits. */
|
|
5
|
+
export declare const DEFAULT_CHART_VALUE_FORMATTER: ChartValueFormatter;
|
|
6
|
+
/** @internal The default label formatter: identity. */
|
|
7
|
+
export declare const DEFAULT_CHART_LABEL_FORMATTER: ChartLabelFormatter;
|
|
8
|
+
/** @internal The effective value formatter. */
|
|
9
|
+
export declare function resolveValueFormatter(valueFormatter?: ChartValueFormatter): ChartValueFormatter;
|
|
10
|
+
/** @internal The effective label formatter. */
|
|
19
11
|
export declare function resolveLabelFormatter(labelFormatter?: ChartLabelFormatter): ChartLabelFormatter;
|
|
12
|
+
/** @internal Formats a reading, rendering a gap or a non-finite value as "—". */
|
|
13
|
+
export declare function formatChartValue(value: number | null, formatter: ChartValueFormatter): string;
|
|
@@ -1,59 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { match } from "ts-pattern";
|
|
1
|
+
import { formatNumber } from "../utils/format.js";
|
|
3
2
|
//#region src/charts/chartFormat.ts
|
|
4
3
|
/**
|
|
5
|
-
* Value and label formatting for the chart
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* labels and tooltip rows from drifting apart — a recurring problem when every
|
|
9
|
-
* call site writes its own one-liner.
|
|
4
|
+
* @internal Value and label formatting for the chart family, resolved once per chart so axis
|
|
5
|
+
* ticks, tooltip rows and announcements cannot drift apart. Built on `utils/format` (en-US by
|
|
6
|
+
* default, so the server and the client agree).
|
|
10
7
|
*/
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*/
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const formatter = match(unit).with(ChartValueUnit.PLAIN, () => new Intl.NumberFormat(void 0, { maximumFractionDigits: 2 })).with(ChartValueUnit.CURRENCY, () => new Intl.NumberFormat(void 0, {
|
|
21
|
-
style: "currency",
|
|
22
|
-
currency: "USD",
|
|
23
|
-
maximumFractionDigits: 0
|
|
24
|
-
})).with(ChartValueUnit.PERCENT, () => new Intl.NumberFormat(void 0, { maximumFractionDigits: 1 })).with(ChartValueUnit.COMPACT, () => new Intl.NumberFormat(void 0, {
|
|
25
|
-
notation: "compact",
|
|
26
|
-
maximumFractionDigits: 1
|
|
27
|
-
})).exhaustive();
|
|
28
|
-
FORMATTER_CACHE.set(unit, formatter);
|
|
29
|
-
return formatter;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Format a value with a built-in unit.
|
|
33
|
-
*
|
|
34
|
-
* `PERCENT` takes a 0–100 value rather than a 0–1 fraction, matching how
|
|
35
|
-
* percentage data usually arrives, and appends the sign itself instead of using
|
|
36
|
-
* `style: "percent"` (which would divide by 100).
|
|
37
|
-
*/
|
|
38
|
-
function formatChartValue(value, unit) {
|
|
39
|
-
if (!Number.isFinite(value)) return "—";
|
|
40
|
-
const formatted = getIntlFormatter(unit).format(value);
|
|
41
|
-
return unit === ChartValueUnit.PERCENT ? `${formatted}%` : formatted;
|
|
8
|
+
/** @internal How a gap (a `null` reading) renders in the tooltip. */
|
|
9
|
+
var CHART_NULL_VALUE = "—";
|
|
10
|
+
/** @internal The default value formatter: grouped, at most two fraction digits. */
|
|
11
|
+
var DEFAULT_CHART_VALUE_FORMATTER = (value) => formatNumber(value, { precision: 2 });
|
|
12
|
+
/** @internal The default label formatter: identity. */
|
|
13
|
+
var DEFAULT_CHART_LABEL_FORMATTER = (label) => label;
|
|
14
|
+
/** @internal The effective value formatter. */
|
|
15
|
+
function resolveValueFormatter(valueFormatter) {
|
|
16
|
+
return valueFormatter ?? DEFAULT_CHART_VALUE_FORMATTER;
|
|
42
17
|
}
|
|
43
|
-
/**
|
|
44
|
-
* Pick the effective value formatter.
|
|
45
|
-
*
|
|
46
|
-
* An explicit `valueFormatter` always wins; otherwise the unit supplies a
|
|
47
|
-
* default, and `PLAIN` is the fallback when neither is given.
|
|
48
|
-
*/
|
|
49
|
-
function resolveValueFormatter(valueFormatter, unit) {
|
|
50
|
-
if (valueFormatter) return valueFormatter;
|
|
51
|
-
const resolvedUnit = unit ?? ChartValueUnit.PLAIN;
|
|
52
|
-
return (value) => formatChartValue(value, resolvedUnit);
|
|
53
|
-
}
|
|
54
|
-
/** Pick the effective label formatter, defaulting to identity. */
|
|
18
|
+
/** @internal The effective label formatter. */
|
|
55
19
|
function resolveLabelFormatter(labelFormatter) {
|
|
56
|
-
return labelFormatter ??
|
|
20
|
+
return labelFormatter ?? DEFAULT_CHART_LABEL_FORMATTER;
|
|
21
|
+
}
|
|
22
|
+
/** @internal Formats a reading, rendering a gap or a non-finite value as "—". */
|
|
23
|
+
function formatChartValue(value, formatter) {
|
|
24
|
+
return value === null || !Number.isFinite(value) ? "—" : formatter(value);
|
|
57
25
|
}
|
|
58
26
|
//#endregion
|
|
59
|
-
export { formatChartValue, resolveLabelFormatter, resolveValueFormatter };
|
|
27
|
+
export { CHART_NULL_VALUE, DEFAULT_CHART_LABEL_FORMATTER, DEFAULT_CHART_VALUE_FORMATTER, formatChartValue, resolveLabelFormatter, resolveValueFormatter };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Hex, PaletteColor, StatusColor } from "../theme/tokens/types.js";
|
|
2
|
+
import { ChartPalette } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* @internal Automatic assignment order: the eight hues, purple first. Status slots never join it
|
|
5
|
+
* (an ordinary ninth series must not read as an error).
|
|
6
|
+
*/
|
|
7
|
+
export declare const CHART_PALETTE_ORDER: readonly ChartPalette[];
|
|
8
|
+
/** @internal A chart ramp: a palette family or a status role. Never gray. */
|
|
9
|
+
export type ChartHue = PaletteColor | StatusColor;
|
|
10
|
+
/**
|
|
11
|
+
* @internal Palette slot → its family. The status slots are the status roles (there is no `INFO`
|
|
12
|
+
* slot); the old neutral slots `PRIMARY` /
|
|
13
|
+
* `SECONDARY` / `TERTIARY` are hues too (no gray in charts, docs/theming.md): `indigo`, `sky`,
|
|
14
|
+
* `violet`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const CHART_PALETTE_TO_HUE_MAP: Record<ChartPalette, ChartHue>;
|
|
17
|
+
/** @internal Palette slot → the CSS color of its marks: the family's `text.<family>` (text and icons). */
|
|
18
|
+
export declare const CHART_PALETTE_TO_COLOR_MAP: Record<ChartPalette, string>;
|
|
19
|
+
/** @internal The color of a mark that names no series (PieChart's folded "Other" bucket): `cyan`, never gray. */
|
|
20
|
+
export declare const CHART_NEUTRAL_COLOR: string;
|
|
21
|
+
/** @internal A resolved series color plus the swatch inputs it came from. */
|
|
22
|
+
export interface ChartSeriesColor {
|
|
23
|
+
/** CSS color for marks: the series `hex`, or the slot's `var(--gx-…)` string. */
|
|
24
|
+
color: string;
|
|
25
|
+
/** The slot, when the color came from the palette. */
|
|
26
|
+
palette?: ChartPalette;
|
|
27
|
+
/** The raw color, when the series set one. */
|
|
28
|
+
hex?: Hex;
|
|
29
|
+
}
|
|
30
|
+
/** @internal The slot at a position in the automatic order (wraps after eight). */
|
|
31
|
+
export declare function chartPaletteAt(index: number): ChartPalette;
|
|
32
|
+
/** @internal Resolves a series color: `hex` wins, then an explicit slot, then the automatic order. */
|
|
33
|
+
export declare function resolveChartSeriesColor(index: number, explicit?: ChartPalette, hex?: Hex): ChartSeriesColor;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { t } from "../theme/tokens/t.js";
|
|
2
|
+
import { ChartPalette } from "./types.js";
|
|
3
|
+
//#region src/charts/chartPalette.ts
|
|
4
|
+
/**
|
|
5
|
+
* @internal Series colors. A palette slot maps to a `t.color.text.<family>` string (`var(--gx-…)`),
|
|
6
|
+
* so a theme switch repaints marks through CSS with no React render. Imports only `t` and types:
|
|
7
|
+
* no component, no d3.
|
|
8
|
+
* Apps that want a slot's color in their own CSS use `t.color.text.<family>`.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* @internal Automatic assignment order: the eight hues, purple first. Status slots never join it
|
|
12
|
+
* (an ordinary ninth series must not read as an error).
|
|
13
|
+
*/
|
|
14
|
+
var CHART_PALETTE_ORDER = [
|
|
15
|
+
ChartPalette.PURPLE,
|
|
16
|
+
ChartPalette.PINK,
|
|
17
|
+
ChartPalette.BLUE,
|
|
18
|
+
ChartPalette.TEAL,
|
|
19
|
+
ChartPalette.LIME,
|
|
20
|
+
ChartPalette.ORANGE,
|
|
21
|
+
ChartPalette.YELLOW,
|
|
22
|
+
ChartPalette.GREEN
|
|
23
|
+
];
|
|
24
|
+
/**
|
|
25
|
+
* @internal Palette slot → its family. The status slots are the status roles (there is no `INFO`
|
|
26
|
+
* slot); the old neutral slots `PRIMARY` /
|
|
27
|
+
* `SECONDARY` / `TERTIARY` are hues too (no gray in charts, docs/theming.md): `indigo`, `sky`,
|
|
28
|
+
* `violet`.
|
|
29
|
+
*/
|
|
30
|
+
var CHART_PALETTE_TO_HUE_MAP = {
|
|
31
|
+
[ChartPalette.PURPLE]: "purple",
|
|
32
|
+
[ChartPalette.PINK]: "pink",
|
|
33
|
+
[ChartPalette.BLUE]: "blue",
|
|
34
|
+
[ChartPalette.TEAL]: "teal",
|
|
35
|
+
[ChartPalette.LIME]: "lime",
|
|
36
|
+
[ChartPalette.ORANGE]: "orange",
|
|
37
|
+
[ChartPalette.YELLOW]: "yellow",
|
|
38
|
+
[ChartPalette.GREEN]: "green",
|
|
39
|
+
[ChartPalette.SUCCESS]: "success",
|
|
40
|
+
[ChartPalette.WARNING]: "warning",
|
|
41
|
+
[ChartPalette.ERROR]: "error",
|
|
42
|
+
[ChartPalette.PRIMARY]: "indigo",
|
|
43
|
+
[ChartPalette.SECONDARY]: "sky",
|
|
44
|
+
[ChartPalette.TERTIARY]: "violet"
|
|
45
|
+
};
|
|
46
|
+
/** @internal Palette slot → the CSS color of its marks: the family's `text.<family>` (text and icons). */
|
|
47
|
+
var CHART_PALETTE_TO_COLOR_MAP = Object.fromEntries(Object.values(ChartPalette).map((palette) => [palette, t.color.text[CHART_PALETTE_TO_HUE_MAP[palette]]]));
|
|
48
|
+
/** @internal The color of a mark that names no series (PieChart's folded "Other" bucket): `cyan`, never gray. */
|
|
49
|
+
var CHART_NEUTRAL_COLOR = t.color.text.cyan;
|
|
50
|
+
/** @internal The slot at a position in the automatic order (wraps after eight). */
|
|
51
|
+
function chartPaletteAt(index) {
|
|
52
|
+
const order = CHART_PALETTE_ORDER;
|
|
53
|
+
return order[(index % order.length + order.length) % order.length] ?? ChartPalette.PURPLE;
|
|
54
|
+
}
|
|
55
|
+
/** @internal Resolves a series color: `hex` wins, then an explicit slot, then the automatic order. */
|
|
56
|
+
function resolveChartSeriesColor(index, explicit, hex) {
|
|
57
|
+
if (hex !== void 0) return {
|
|
58
|
+
color: hex,
|
|
59
|
+
hex
|
|
60
|
+
};
|
|
61
|
+
const palette = explicit ?? chartPaletteAt(index);
|
|
62
|
+
return {
|
|
63
|
+
color: CHART_PALETTE_TO_COLOR_MAP[palette],
|
|
64
|
+
palette
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//#endregion
|
|
68
|
+
export { CHART_NEUTRAL_COLOR, CHART_PALETTE_ORDER, CHART_PALETTE_TO_COLOR_MAP, CHART_PALETTE_TO_HUE_MAP, chartPaletteAt, resolveChartSeriesColor };
|
|
@@ -1,120 +1,53 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import type { ChartValueDomain, ChartValueFormatter } from "./types.js";
|
|
2
|
+
/** @internal Space between the plot box edge and the plot (the 1.x `margin`, now computed). */
|
|
3
|
+
export interface ChartInsets {
|
|
4
|
+
/** Above the plot. */
|
|
5
|
+
top: number;
|
|
6
|
+
/** Right of the plot. */
|
|
7
|
+
right: number;
|
|
8
|
+
/** Below the plot (category labels and title). */
|
|
9
|
+
bottom: number;
|
|
10
|
+
/** Left of the plot (value tick labels and title). */
|
|
11
|
+
left: number;
|
|
12
|
+
}
|
|
13
|
+
/** @internal Clamps `value` into `[min, max]`. */
|
|
8
14
|
export declare function clamp(value: number, min: number, max: number): number;
|
|
9
|
-
/**
|
|
10
|
-
* Coerce a datum value into something safe to feed a scale.
|
|
11
|
-
*
|
|
12
|
-
* A single `NaN` or `Infinity` in consumer data otherwise propagates into every
|
|
13
|
-
* path's `d` attribute and blanks the entire chart rather than one mark.
|
|
14
|
-
*/
|
|
15
|
+
/** @internal A finite number, or 0: one `NaN` in data must not blank every path. */
|
|
15
16
|
export declare function sanitizeValue(value: number | undefined | null): number;
|
|
16
17
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* Written per-field rather than as a spread: spreading an object that carries
|
|
20
|
-
* an explicit `undefined` overwrites the default with `undefined` rather than
|
|
21
|
-
* falling back to it, which is easy to trip over when the partial is assembled
|
|
22
|
-
* from separate optional values.
|
|
23
|
-
*
|
|
24
|
-
* `defaults` exists because the cartesian default reserves axis gutters a
|
|
25
|
-
* radial chart has no use for. Taking it as a parameter keeps the merge
|
|
26
|
-
* per-field: a chart that substituted its own defaults with `margin ?? OWN`
|
|
27
|
-
* would silently fall back to the *cartesian* defaults the moment a caller
|
|
28
|
-
* passed a partial, handing an axis-less chart a 52px left gutter.
|
|
29
|
-
*/
|
|
30
|
-
export declare function resolveMargin(partial?: Partial<ChartMargin>, defaults?: ChartMargin): ChartMargin;
|
|
31
|
-
/** Inner plot dimensions, never negative. */
|
|
32
|
-
export declare function getPlotDimensions(width: number, height: number, margin: ChartMargin): {
|
|
33
|
-
plotWidth: number;
|
|
34
|
-
plotHeight: number;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Widen a margin to leave room for axis titles.
|
|
38
|
-
*
|
|
39
|
-
* The reservation has to happen here rather than inside the axis, because the
|
|
40
|
-
* margin is resolved before any axis renders — and with the root SVG set to
|
|
41
|
-
* `overflow: visible`, an unreserved title would paint outside the container and
|
|
42
|
-
* be clipped by whatever the consumer wraps the chart in.
|
|
43
|
-
*
|
|
44
|
-
* Applied to the caller's *partial* before {@link resolveMargin} fills in the
|
|
45
|
-
* defaults, so an explicit `margin.left` still governs the tick gutter and the
|
|
46
|
-
* title band is added on top of it rather than eating into it. Returns the input
|
|
47
|
-
* untouched when there are no titles, so the common case allocates nothing.
|
|
48
|
-
*/
|
|
49
|
-
export declare function addAxisTitleSpace(partial: Partial<ChartMargin> | undefined, { hasValueTitle, hasCategoryTitle }: {
|
|
50
|
-
hasValueTitle: boolean;
|
|
51
|
-
hasCategoryTitle: boolean;
|
|
52
|
-
}): Partial<ChartMargin> | undefined;
|
|
53
|
-
/**
|
|
54
|
-
* Turn a raw data extent into the domain the axis and the marks both use.
|
|
55
|
-
*
|
|
56
|
-
* Applies the caller's override, then three behaviours worth knowing:
|
|
57
|
-
*
|
|
58
|
-
* - **Zero is always in the domain.** Bars need a baseline to grow from, and
|
|
59
|
-
* without this a negative value maps outside the range and renders as a
|
|
60
|
-
* rectangle with negative height, which paints nothing at all.
|
|
61
|
-
* - **A zero-width domain is widened to 0–1.** d3's `normalize()` returns a
|
|
62
|
-
* constant `0.5` when the domain has no extent, so empty or all-zero data
|
|
63
|
-
* would otherwise map every value to the middle of the plot and strand the
|
|
64
|
-
* baseline halfway up.
|
|
65
|
-
* - **`nice()` rounds the ends outward** to values a reader would choose.
|
|
66
|
-
*
|
|
67
|
-
* Split out of {@link buildValueScale} so the domain is computed exactly once
|
|
68
|
-
* per chart and then handed to both the tick list and the geometry. Building it
|
|
69
|
-
* twice — once at a throwaway range to get ticks, once at the real range to
|
|
70
|
-
* place marks — leaves two `nice()` calls that must agree forever.
|
|
71
|
-
*
|
|
72
|
-
* `nice()` deliberately takes **no argument**. The default count is 10, not the
|
|
73
|
-
* five ticks {@link DEFAULT_VALUE_TICK_COUNT} asks for, and nicing to the tick
|
|
74
|
-
* count instead would change the axis extent on every existing chart.
|
|
18
|
+
* @internal The domain both the axis and the marks use: the override applied, zero always
|
|
19
|
+
* included (a baseline to grow from), a zero-width domain widened to 0–1, and the ends `nice()`d.
|
|
75
20
|
*/
|
|
76
21
|
export declare function resolveValueDomain(raw: [number, number], override?: Partial<ChartValueDomain>): [number, number];
|
|
77
|
-
/**
|
|
78
|
-
* Linear scale over an already-resolved domain.
|
|
79
|
-
*
|
|
80
|
-
* Does no nicing and no zero-forcing — {@link resolveValueDomain} has done
|
|
81
|
-
* both. Takes the domain rather than raw data so the same numbers drive the
|
|
82
|
-
* axis, the ticks and every mark.
|
|
83
|
-
*/
|
|
22
|
+
/** @internal Linear scale over a resolved domain. */
|
|
84
23
|
export declare function buildValueScale(domain: [number, number], range: [number, number]): import("d3-scale").ScaleLinear<number, number, never>;
|
|
85
|
-
/** Point scale for categories,
|
|
24
|
+
/** @internal Point scale for categories (LineChart, AreaChart). */
|
|
86
25
|
export declare function buildCategoryPointScale(labels: string[], range: [number, number], padding?: number): import("d3-scale").ScalePoint<string>;
|
|
26
|
+
/** @internal Tick values for a resolved domain. Needs no dimensions, so it can size the gutter first. */
|
|
27
|
+
export declare function getValueTicks(domain: [number, number], override?: Partial<ChartValueDomain>): number[];
|
|
28
|
+
/** @internal How many value ticks fit a plot `plotHeight` tall, at least `MIN_VALUE_TICK_SPACING` apart. */
|
|
29
|
+
export declare function getMaxValueTicks(plotHeight: number): number;
|
|
87
30
|
/**
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* and build-time evaluation. The estimate only has to be close: tick labels
|
|
93
|
-
* right-align against the plot and ellipsize, so an underestimate truncates one
|
|
94
|
-
* label rather than breaking the layout, and {@link MAX_AUTO_MARGIN_LEFT} caps
|
|
95
|
-
* what a pathological formatter can take from the plot.
|
|
96
|
-
*
|
|
97
|
-
* Rounded up to {@link AUTO_MARGIN_LEFT_STEP} rather than used raw — see that
|
|
98
|
-
* constant for why an exact fit is the wrong target.
|
|
99
|
-
*
|
|
100
|
-
* Safe to call before the chart has been measured: `nice()` and `ticks()` depend
|
|
101
|
-
* on the domain and the requested count, never on the scale's range, so the tick
|
|
102
|
-
* values here are the same ones the axis renders later.
|
|
31
|
+
* @internal The value axis for a plot `plotHeight` tall (0 = not measured yet): the domain and its
|
|
32
|
+
* ticks at the requested density, the ticks thinned until they sit at least
|
|
33
|
+
* `MIN_VALUE_TICK_SPACING` apart so labels never touch on a short chart. The domain never grows to
|
|
34
|
+
* suit the thinner ticks (a short chart keeps its marks tall; the top rule may sit below the top).
|
|
103
35
|
*/
|
|
104
|
-
export declare function
|
|
36
|
+
export declare function resolveValueAxis(raw: [number, number], override: Partial<ChartValueDomain> | undefined, plotHeight: number): {
|
|
37
|
+
domain: [number, number];
|
|
38
|
+
ticks: number[];
|
|
39
|
+
};
|
|
105
40
|
/**
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
* Returns 1 when every label fits, so a chart that is not crowded renders
|
|
109
|
-
* exactly as it would with no skipping at all.
|
|
41
|
+
* @internal Left gutter that fits the widest formatted tick, estimated from character count (SSR
|
|
42
|
+
* safe), rounded up to a step so plots stay aligned and do not shift as live data gains a digit.
|
|
110
43
|
*/
|
|
44
|
+
export declare function estimateValueAxisInset(ticks: number[], formatter: ChartValueFormatter): number;
|
|
45
|
+
/** @internal The cartesian insets: the tick gutter, plus bands for the axis titles. */
|
|
46
|
+
export declare function getCartesianInsets(tickInset: number, { hasValueTitle, hasCategoryTitle }: {
|
|
47
|
+
hasValueTitle: boolean;
|
|
48
|
+
hasCategoryTitle: boolean;
|
|
49
|
+
}): ChartInsets;
|
|
50
|
+
/** @internal How many rows to skip between rendered row labels (Heatmap); 1 when every caption line fits. */
|
|
51
|
+
export declare function getRowLabelStride(step: number): number;
|
|
52
|
+
/** @internal How many categories to skip between rendered labels; 1 when every label fits. */
|
|
111
53
|
export declare function getCategoryLabelStride(labels: string[], step: number): number;
|
|
112
|
-
/**
|
|
113
|
-
* Tick values for a resolved domain, honoring an explicit tick count.
|
|
114
|
-
*
|
|
115
|
-
* Needs no dimensions, which is what breaks the apparent circularity in the
|
|
116
|
-
* layout: the left margin must fit the tick labels, the margin decides the plot
|
|
117
|
-
* size, and the plot size builds the scale. Tick *values* fall out of the domain
|
|
118
|
-
* alone, so they can be known before anything is measured.
|
|
119
|
-
*/
|
|
120
|
-
export declare function getValueTicks(domain: [number, number], override?: Partial<ChartValueDomain>): number[];
|