@galaxy-io/dls 1.6.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -50
- package/biome/index.json +74 -0
- package/biome/plugins/no-hex-literal.grit +20 -0
- package/biome/plugins/no-inline-style.grit +13 -0
- package/biome/plugins/no-margin.grit +9 -0
- package/biome/plugins/warn/no-hex-literal.grit +23 -0
- package/biome/plugins/warn/no-inline-style.grit +13 -0
- package/biome/plugins/warn/no-margin.grit +9 -0
- package/dist/a11y/FocusScope.d.ts +44 -0
- package/dist/a11y/FocusScope.js +229 -0
- package/dist/a11y/VisuallyHidden.d.ts +21 -0
- package/dist/a11y/VisuallyHidden.js +30 -0
- package/dist/avatar/Avatar.d.ts +56 -14
- package/dist/avatar/Avatar.js +250 -96
- package/dist/avatar/AvatarGroup.d.ts +43 -0
- package/dist/avatar/AvatarGroup.js +153 -0
- package/dist/backgrounds/GridBackground.d.ts +48 -0
- package/dist/backgrounds/GridBackground.js +146 -0
- package/dist/beacons/Beacon.d.ts +86 -22
- package/dist/beacons/Beacon.js +170 -47
- package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
- package/dist/brand/GalaxyFilamentWordmark.js +39 -0
- package/dist/brand/GalaxyLogomark.d.ts +26 -0
- package/dist/brand/GalaxyLogomark.js +41 -0
- package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
- package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
- package/dist/brand/GalaxyWordmark.d.ts +30 -0
- package/dist/brand/GalaxyWordmark.js +63 -0
- package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
- package/dist/brand/brandMark.d.ts +26 -0
- package/dist/brand/brandMark.js +35 -0
- package/dist/buttons/Button.d.ts +148 -59
- package/dist/buttons/Button.js +437 -227
- package/dist/buttons/ButtonGroup.d.ts +38 -0
- package/dist/buttons/ButtonGroup.js +68 -0
- package/dist/buttons/CopyButton.d.ts +77 -0
- package/dist/buttons/CopyButton.js +65 -0
- package/dist/charts/AreaChart.d.ts +49 -0
- package/dist/charts/AreaChart.js +31 -0
- package/dist/charts/BarChart.d.ts +54 -67
- package/dist/charts/BarChart.js +136 -116
- package/dist/charts/ChartAxis.d.ts +35 -40
- package/dist/charts/ChartAxis.js +114 -90
- package/dist/charts/ChartCategoryTargets.d.ts +12 -26
- package/dist/charts/ChartCategoryTargets.js +32 -20
- package/dist/charts/ChartFrame.d.ts +69 -116
- package/dist/charts/ChartFrame.js +253 -119
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +27 -48
- package/dist/charts/ChartLegend.js +206 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +33 -20
- package/dist/charts/ChartPrimitives.d.ts +50 -305
- package/dist/charts/ChartPrimitives.js +65 -413
- package/dist/charts/ChartTooltip.d.ts +20 -26
- package/dist/charts/ChartTooltip.js +77 -40
- package/dist/charts/Heatmap.d.ts +35 -0
- package/dist/charts/Heatmap.js +295 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +159 -117
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +149 -135
- package/dist/charts/Sparkline.d.ts +107 -0
- package/dist/charts/Sparkline.js +244 -0
- package/dist/charts/StatChart.d.ts +37 -13
- package/dist/charts/StatChart.js +82 -35
- package/dist/charts/barChartGeometry.d.ts +138 -86
- package/dist/charts/barChartGeometry.js +122 -101
- package/dist/charts/barChartLegend.d.ts +14 -18
- package/dist/charts/barChartLegend.js +18 -13
- package/dist/charts/chartFormat.d.ts +12 -18
- package/dist/charts/chartFormat.js +20 -52
- package/dist/charts/chartPalette.d.ts +33 -0
- package/dist/charts/chartPalette.js +68 -0
- package/dist/charts/chartScales.d.ts +41 -108
- package/dist/charts/chartScales.js +62 -128
- package/dist/charts/constants.d.ts +96 -256
- package/dist/charts/constants.js +105 -275
- package/dist/charts/heatmapGeometry.d.ts +95 -0
- package/dist/charts/heatmapGeometry.js +155 -0
- package/dist/charts/lineChartGeometry.d.ts +108 -58
- package/dist/charts/lineChartGeometry.js +120 -78
- package/dist/charts/pieChartGeometry.d.ts +66 -40
- package/dist/charts/pieChartGeometry.js +68 -38
- package/dist/charts/types.d.ts +197 -466
- package/dist/charts/types.js +55 -144
- package/dist/charts/useCartesianChartLayout.d.ts +28 -59
- package/dist/charts/useCartesianChartLayout.js +47 -32
- package/dist/charts/useChartDimensions.d.ts +19 -40
- package/dist/charts/useChartDimensions.js +40 -56
- package/dist/charts/useChartFormatters.d.ts +6 -15
- package/dist/charts/useChartFormatters.js +4 -9
- package/dist/charts/useChartInteraction.d.ts +47 -116
- package/dist/charts/useChartInteraction.js +95 -71
- package/dist/charts/useChartTooltipPosition.d.ts +29 -39
- package/dist/charts/useChartTooltipPosition.js +14 -5
- package/dist/charts/useSeriesColorResolver.d.ts +11 -33
- package/dist/charts/useSeriesColorResolver.js +19 -12
- package/dist/chips/Chip.d.ts +155 -44
- package/dist/chips/Chip.js +329 -155
- package/dist/chips/ChipGroup.d.ts +53 -0
- package/dist/chips/ChipGroup.js +98 -0
- package/dist/drawer/Drawer.d.ts +81 -17
- package/dist/drawer/Drawer.js +370 -65
- package/dist/dropdown/Dropdown.d.ts +80 -63
- package/dist/dropdown/Dropdown.js +127 -129
- package/dist/editor/CodeEditor.d.ts +119 -40
- package/dist/editor/CodeEditor.js +490 -400
- package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
- package/dist/editor/CodeEditorReactWidget.js +28 -21
- package/dist/feedback/Alert.d.ts +49 -0
- package/dist/feedback/Alert.js +172 -0
- package/dist/feedback/EmptyState.d.ts +39 -0
- package/dist/feedback/EmptyState.js +109 -0
- package/dist/feedback/ProgressBar.d.ts +125 -0
- package/dist/feedback/ProgressBar.js +183 -0
- package/dist/feedback/ProgressCircle.d.ts +99 -0
- package/dist/feedback/ProgressCircle.js +187 -0
- package/dist/feedback/Skeleton.d.ts +69 -0
- package/dist/feedback/Skeleton.js +130 -0
- package/dist/feedback/Spinner.d.ts +63 -0
- package/dist/feedback/Spinner.js +141 -0
- package/dist/fonts.css +70 -0
- package/dist/hooks/internal/useIsClient.d.ts +2 -0
- package/dist/hooks/internal/useIsClient.js +14 -0
- package/dist/hooks/useClipboard.d.ts +19 -0
- package/dist/hooks/useClipboard.js +45 -0
- package/dist/hooks/useControlledOpenState.d.ts +21 -0
- package/dist/hooks/useControlledOpenState.js +19 -0
- package/dist/hooks/useControlledState.d.ts +19 -0
- package/dist/hooks/useControlledState.js +22 -0
- package/dist/hooks/useDebouncedValue.d.ts +14 -0
- package/dist/hooks/useDebouncedValue.js +33 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +36 -0
- package/dist/hooks/useDismiss.d.ts +23 -27
- package/dist/hooks/useDismiss.js +39 -27
- package/dist/hooks/useElementClientSize.d.ts +10 -10
- package/dist/hooks/useElementClientSize.js +8 -11
- package/dist/hooks/useElementWidth.d.ts +6 -13
- package/dist/hooks/useElementWidth.js +6 -14
- package/dist/hooks/useField.d.ts +47 -0
- package/dist/hooks/useField.js +40 -0
- package/dist/hooks/useHotkey.d.ts +77 -0
- package/dist/hooks/useHotkey.js +246 -0
- package/dist/hooks/useIsMac.d.ts +12 -0
- package/dist/hooks/useIsMac.js +27 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
- package/dist/hooks/useLocalStorage.d.ts +28 -0
- package/dist/hooks/useLocalStorage.js +145 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.js +23 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/usePrefersReducedMotion.js +25 -0
- package/dist/hooks/useResize.d.ts +42 -62
- package/dist/hooks/useResize.js +43 -31
- package/dist/icons/Icon.d.ts +64 -37
- package/dist/icons/Icon.js +96 -37
- package/dist/icons/internal/IconSlot.d.ts +10 -0
- package/dist/icons/internal/IconSlot.js +32 -0
- package/dist/inputs/CheckboxGroup.d.ts +115 -0
- package/dist/inputs/CheckboxGroup.js +183 -0
- package/dist/inputs/CheckboxInput.d.ts +98 -28
- package/dist/inputs/CheckboxInput.js +218 -88
- package/dist/inputs/ColorInput.d.ts +115 -29
- package/dist/inputs/ColorInput.js +748 -326
- package/dist/inputs/CopyInput.d.ts +49 -20
- package/dist/inputs/CopyInput.js +57 -49
- package/dist/inputs/CronInput.d.ts +94 -0
- package/dist/inputs/CronInput.js +618 -0
- package/dist/inputs/DateInput.d.ts +175 -28
- package/dist/inputs/DateInput.js +1109 -451
- package/dist/inputs/DurationInput.d.ts +101 -0
- package/dist/inputs/DurationInput.js +441 -0
- package/dist/inputs/Field.d.ts +75 -0
- package/dist/inputs/Field.js +247 -0
- package/dist/inputs/Fieldset.d.ts +53 -0
- package/dist/inputs/Fieldset.js +149 -0
- package/dist/inputs/FileInput.d.ts +110 -0
- package/dist/inputs/FileInput.js +476 -0
- package/dist/inputs/Input.d.ts +148 -187
- package/dist/inputs/Input.js +339 -259
- package/dist/inputs/KeyValueInput.d.ts +120 -0
- package/dist/inputs/KeyValueInput.js +383 -0
- package/dist/inputs/MultiSelectInput.d.ts +165 -54
- package/dist/inputs/MultiSelectInput.js +175 -559
- package/dist/inputs/NumberInput.d.ts +65 -9
- package/dist/inputs/NumberInput.js +197 -40
- package/dist/inputs/PasswordInput.d.ts +17 -12
- package/dist/inputs/PasswordInput.js +33 -33
- package/dist/inputs/PinInput.d.ts +117 -0
- package/dist/inputs/PinInput.js +364 -0
- package/dist/inputs/RadioGroup.d.ts +115 -0
- package/dist/inputs/RadioGroup.js +179 -0
- package/dist/inputs/RadioInput.d.ts +87 -24
- package/dist/inputs/RadioInput.js +182 -95
- package/dist/inputs/SearchInput.d.ts +66 -0
- package/dist/inputs/SearchInput.js +156 -0
- package/dist/inputs/SelectInput.d.ts +195 -55
- package/dist/inputs/SelectInput.js +1308 -446
- package/dist/inputs/SliderInput.d.ts +150 -30
- package/dist/inputs/SliderInput.js +441 -186
- package/dist/inputs/SwitchInput.d.ts +109 -0
- package/dist/inputs/SwitchInput.js +248 -0
- package/dist/inputs/TagInput.d.ts +117 -0
- package/dist/inputs/TagInput.js +408 -0
- package/dist/inputs/TextAreaInput.d.ts +146 -44
- package/dist/inputs/TextAreaInput.js +292 -198
- package/dist/inputs/TextInput.d.ts +4 -13
- package/dist/inputs/TextInput.js +13 -48
- package/dist/inputs/ToggleInput.d.ts +120 -22
- package/dist/inputs/ToggleInput.js +262 -116
- package/dist/inputs/internal/bareField.d.ts +18 -0
- package/dist/inputs/internal/bareField.js +38 -0
- package/dist/inputs/internal/devWarn.d.ts +7 -0
- package/dist/inputs/internal/devWarn.js +30 -0
- package/dist/inputs/internal/fieldFrame.d.ts +34 -0
- package/dist/inputs/internal/fieldFrame.js +64 -0
- package/dist/inputs/internal/fieldWiring.d.ts +50 -0
- package/dist/inputs/internal/fieldWiring.js +38 -0
- package/dist/inputs/internal/innerButton.d.ts +2 -0
- package/dist/inputs/internal/innerButton.js +24 -0
- package/dist/inputs/internal/ownField.d.ts +45 -0
- package/dist/inputs/internal/ownField.js +58 -0
- package/dist/inputs/internal/predicates.d.ts +9 -0
- package/dist/inputs/internal/predicates.js +11 -0
- package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
- package/dist/inputs/internal/useComboboxPopover.js +92 -0
- package/dist/json/JsonViewer.d.ts +62 -0
- package/dist/json/JsonViewer.js +483 -0
- package/dist/layout/Box.d.ts +87 -0
- package/dist/layout/Box.js +109 -0
- package/dist/layout/Divider.d.ts +25 -0
- package/dist/layout/Divider.js +70 -0
- package/dist/layout/Flex.d.ts +139 -0
- package/dist/layout/Flex.js +165 -0
- package/dist/layout/FlexItem.d.ts +72 -0
- package/dist/layout/FlexItem.js +84 -0
- package/dist/layout/Grid.d.ts +140 -0
- package/dist/layout/Grid.js +178 -0
- package/dist/layout/Portal.d.ts +29 -0
- package/dist/layout/Portal.js +27 -0
- package/dist/layout/ResizablePanels.d.ts +88 -0
- package/dist/layout/ResizablePanels.js +198 -0
- package/dist/layout/ResizeHandle.d.ts +48 -0
- package/dist/layout/ResizeHandle.js +143 -0
- package/dist/layout/ScrollArea.d.ts +30 -0
- package/dist/layout/ScrollArea.js +138 -0
- package/dist/links/Link.d.ts +101 -1
- package/dist/links/Link.js +166 -4
- package/dist/lists/BulletedList.d.ts +25 -7
- package/dist/lists/BulletedList.js +72 -27
- package/dist/lists/DescriptionList.d.ts +91 -0
- package/dist/lists/DescriptionList.js +147 -0
- package/dist/menu/ContextMenu.d.ts +64 -0
- package/dist/menu/ContextMenu.js +34 -0
- package/dist/menu/Menu.d.ts +280 -0
- package/dist/menu/Menu.js +1003 -0
- package/dist/modal/ConfirmDialog.d.ts +55 -0
- package/dist/modal/ConfirmDialog.js +151 -0
- package/dist/modal/Modal.d.ts +64 -14
- package/dist/modal/Modal.js +189 -48
- package/dist/navigation/Breadcrumbs.d.ts +65 -0
- package/dist/navigation/Breadcrumbs.js +243 -0
- package/dist/navigation/CommandPalette.d.ts +83 -0
- package/dist/navigation/CommandPalette.js +509 -0
- package/dist/navigation/Pagination.d.ts +87 -0
- package/dist/navigation/Pagination.js +300 -0
- package/dist/navigation/SidebarNav.d.ts +107 -0
- package/dist/navigation/SidebarNav.js +341 -0
- package/dist/navigation/Stepper.d.ts +52 -0
- package/dist/navigation/Stepper.js +207 -0
- package/dist/navigation/Tabs.d.ts +113 -0
- package/dist/navigation/Tabs.js +543 -0
- package/dist/navigation/Topbar.d.ts +20 -0
- package/dist/navigation/Topbar.js +62 -0
- package/dist/overlay/OverlayProvider.d.ts +28 -32
- package/dist/overlay/OverlayProvider.js +42 -93
- package/dist/overlay/useOverlay.d.ts +88 -12
- package/dist/overlay/useOverlay.js +220 -43
- package/dist/overlays/Popover.d.ts +114 -0
- package/dist/overlays/Popover.js +389 -0
- package/dist/shapes/Circle.d.ts +84 -8
- package/dist/shapes/Circle.js +122 -20
- package/dist/shapes/Square.d.ts +84 -8
- package/dist/shapes/Square.js +123 -20
- package/dist/styles/mixins.d.ts +35 -0
- package/dist/styles/mixins.js +60 -0
- package/dist/styles.css +1 -202
- package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
- package/dist/table/InfiniteSpreadsheet.js +762 -225
- package/dist/table/InfiniteTable.d.ts +116 -14
- package/dist/table/InfiniteTable.js +287 -429
- package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
- package/dist/table/SpreadsheetCellEditor.js +163 -84
- package/dist/table/TableCore.d.ts +252 -0
- package/dist/table/TableCore.js +1077 -0
- package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
- package/dist/table/VirtualizedInfiniteTable.js +280 -219
- package/dist/table/types.d.ts +66 -244
- package/dist/table/types.js +0 -51
- package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
- package/dist/table/useInfiniteScrollSentinel.js +38 -30
- package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
- package/dist/table/useSpreadsheetCellNavigation.js +141 -0
- package/dist/table/useTableColumnLayout.d.ts +90 -25
- package/dist/table/useTableColumnLayout.js +255 -50
- package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
- package/dist/table/useTableKeyboardNavigation.js +95 -71
- package/dist/table/useTableRowSelection.d.ts +24 -25
- package/dist/table/useTableRowSelection.js +57 -84
- package/dist/table/useTableVirtualizer.d.ts +20 -0
- package/dist/table/useTableVirtualizer.js +48 -0
- package/dist/text/Bold.d.ts +5 -6
- package/dist/text/Bold.js +16 -15
- package/dist/text/Code.d.ts +5 -6
- package/dist/text/Code.js +16 -25
- package/dist/text/CodeBlock.d.ts +77 -0
- package/dist/text/CodeBlock.js +373 -0
- package/dist/text/EditableText.d.ts +55 -15
- package/dist/text/EditableText.js +153 -135
- package/dist/text/Ellipsis.d.ts +34 -8
- package/dist/text/Ellipsis.js +55 -23
- package/dist/text/Kbd.d.ts +72 -0
- package/dist/text/Kbd.js +284 -0
- package/dist/text/MarkdownText.d.ts +27 -10
- package/dist/text/MarkdownText.js +317 -300
- package/dist/text/RequiredMarker.d.ts +17 -5
- package/dist/text/RequiredMarker.js +34 -36
- package/dist/text/Selectable.d.ts +5 -6
- package/dist/text/Selectable.js +16 -13
- package/dist/text/Span.d.ts +82 -0
- package/dist/text/Span.js +115 -0
- package/dist/text/Text.d.ts +128 -41
- package/dist/text/Text.js +209 -76
- package/dist/theme/GalaxyProvider.d.ts +75 -0
- package/dist/theme/GalaxyProvider.js +223 -0
- package/dist/theme/ThemeSwitcher.d.ts +52 -0
- package/dist/theme/ThemeSwitcher.js +94 -0
- package/dist/theme/enums.d.ts +118 -0
- package/dist/theme/enums.js +144 -0
- package/dist/theme/tokens/dark.d.ts +2 -0
- package/dist/theme/tokens/dark.js +275 -0
- package/dist/theme/tokens/generate.d.ts +15 -0
- package/dist/theme/tokens/generate.js +47 -0
- package/dist/theme/tokens/light.d.ts +2 -0
- package/dist/theme/tokens/light.js +274 -0
- package/dist/theme/tokens/palette.d.ts +14 -0
- package/dist/theme/tokens/palette.js +153 -0
- package/dist/theme/tokens/scales.d.ts +26 -0
- package/dist/theme/tokens/scales.js +154 -0
- package/dist/theme/tokens/t.d.ts +3 -0
- package/dist/theme/tokens/t.js +25 -0
- package/dist/theme/tokens/types.d.ts +189 -0
- package/dist/theme/tokens/types.js +0 -0
- package/dist/theme/useGalaxyTheme.d.ts +46 -0
- package/dist/theme/useGalaxyTheme.js +36 -0
- package/dist/theme/useInverseScope.d.ts +18 -0
- package/dist/theme/useInverseScope.js +33 -0
- package/dist/three/GalaxyLogomark3D.d.ts +46 -0
- package/dist/three/GalaxyLogomark3D.js +134 -0
- package/dist/three/assets/galaxy-logomark.js +4 -0
- package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
- package/dist/three/galaxyLogomark3DScene.js +165 -0
- package/dist/timeline/Timeline.d.ts +99 -0
- package/dist/timeline/Timeline.js +269 -0
- package/dist/toast/Toast.d.ts +43 -19
- package/dist/toast/Toast.js +130 -89
- package/dist/toast/ToastProvider.d.ts +23 -23
- package/dist/toast/ToastProvider.js +298 -101
- package/dist/toast/ToastViewport.d.ts +12 -0
- package/dist/toast/ToastViewport.js +210 -0
- package/dist/toast/useToast.d.ts +139 -5
- package/dist/toast/useToast.js +15 -13
- package/dist/tokens.css +654 -0
- package/dist/tooltip/Tooltip.d.ts +64 -44
- package/dist/tooltip/Tooltip.js +280 -73
- package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
- package/dist/tooltip/internal/LazyTooltip.js +53 -0
- package/dist/transform/Fade.d.ts +33 -11
- package/dist/transform/Fade.js +71 -19
- package/dist/transform/Flasher.d.ts +25 -0
- package/dist/transform/Flasher.js +39 -0
- package/dist/transform/Rotate.d.ts +24 -12
- package/dist/transform/Rotate.js +36 -22
- package/dist/transform/ScaleFade.d.ts +36 -11
- package/dist/transform/ScaleFade.js +86 -28
- package/dist/transform/internal/CollapseMotion.d.ts +10 -0
- package/dist/transform/internal/CollapseMotion.js +65 -0
- package/dist/tree/Tree.d.ts +85 -0
- package/dist/tree/Tree.js +387 -0
- package/dist/tree/treeRow.d.ts +39 -0
- package/dist/tree/treeRow.js +75 -0
- package/dist/utils/colors.d.ts +46 -13
- package/dist/utils/colors.js +92 -34
- package/dist/utils/css.d.ts +23 -0
- package/dist/utils/css.js +30 -0
- package/dist/utils/format.d.ts +58 -0
- package/dist/utils/format.js +220 -0
- package/dist/vite/index.d.ts +16 -0
- package/dist/vite/index.js +52 -0
- package/dist/widget/Widget.d.ts +164 -48
- package/dist/widget/Widget.js +335 -96
- package/dist/widget/WidgetGroup.d.ts +36 -0
- package/dist/widget/WidgetGroup.js +103 -0
- package/package.json +851 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -27
- package/dist/inputs/SwitcherInput.js +0 -64
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
package/dist/charts/ChartAxis.js
CHANGED
|
@@ -1,115 +1,139 @@
|
|
|
1
|
+
import { Orientation } from "../theme/enums.js";
|
|
1
2
|
import Text, { TextSize, TextVariant } from "../text/Text.js";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import "./constants.js";
|
|
5
|
-
import { getCategoryLabelStride } from "./chartScales.js";
|
|
6
|
-
import { ChartAxisLabelBox, ChartGridLine } from "./ChartPrimitives.js";
|
|
3
|
+
import Flex, { AlignItems, JustifyContent } from "../layout/Flex.js";
|
|
4
|
+
import { CHART_AXIS_LABEL_BOX_CSS, CHART_GRID_LINE_CSS } from "./ChartPrimitives.js";
|
|
5
|
+
import { AXIS_TITLE_BAND, AXIS_TITLE_GAP, CAPTION_CHAR_WIDTH_PX, CATEGORY_AXIS_LABEL_GAP, CATEGORY_AXIS_LABEL_HEIGHT, GRID_LINE_BLEED, PLOT_INSET_RIGHT, VALUE_AXIS_TICK_GAP } from "./constants.js";
|
|
6
|
+
import { clamp, getCategoryLabelStride, getRowLabelStride } from "./chartScales.js";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
8
|
//#region src/charts/ChartAxis.tsx
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @internal Axes for the cartesian charts and Heatmap. No domain line and no tick marks: the grid
|
|
11
|
+
* hairlines carry the structure, and the one at zero is the baseline. Labels render through
|
|
12
|
+
* `Text` (`CAPTION`, `TERTIARY`) in `foreignObject` boxes, truncating with `lineClamp={1}`.
|
|
13
|
+
*/
|
|
14
|
+
/** One label box: a `foreignObject` holding a centered `Text`. */
|
|
15
|
+
function AxisLabel({ x, y, width, height, justify, align, isTabular = false, children }) {
|
|
16
|
+
return /* @__PURE__ */ jsx("foreignObject", {
|
|
17
|
+
x,
|
|
18
|
+
y,
|
|
19
|
+
width: Math.max(0, width),
|
|
20
|
+
height,
|
|
21
|
+
className: CHART_AXIS_LABEL_BOX_CSS,
|
|
22
|
+
children: /* @__PURE__ */ jsx(Flex, {
|
|
23
|
+
alignItems: AlignItems.CENTER,
|
|
24
|
+
justifyContent: justify,
|
|
25
|
+
fillWidth: true,
|
|
26
|
+
height: "100%",
|
|
27
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
28
|
+
size: TextSize.CAPTION,
|
|
29
|
+
variant: TextVariant.TERTIARY,
|
|
30
|
+
align,
|
|
31
|
+
lineClamp: 1,
|
|
32
|
+
isTabular,
|
|
33
|
+
children
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/** @internal Grid hairlines at every tick, tick labels, and the value axis title. */
|
|
39
|
+
function ChartValueAxis({ ticks, scale, plotWidth, plotHeight, insetLeft, formatter, title }) {
|
|
40
|
+
const titleBand = title ? AXIS_TITLE_BAND + AXIS_TITLE_GAP : 0;
|
|
41
|
+
const labelWidth = insetLeft - titleBand - VALUE_AXIS_TICK_GAP;
|
|
42
|
+
return /* @__PURE__ */ jsxs("g", { children: [ticks.map((tick) => {
|
|
43
|
+
return /* @__PURE__ */ jsxs("g", {
|
|
44
|
+
transform: `translate(0, ${Math.round(scale(tick))})`,
|
|
45
|
+
children: [/* @__PURE__ */ jsx("line", {
|
|
46
|
+
className: CHART_GRID_LINE_CSS,
|
|
47
|
+
x1: -GRID_LINE_BLEED,
|
|
48
|
+
x2: plotWidth + GRID_LINE_BLEED,
|
|
19
49
|
y1: 0,
|
|
20
50
|
y2: 0
|
|
21
|
-
}), labelWidth > 0 && /* @__PURE__ */ jsx(
|
|
22
|
-
x: -
|
|
51
|
+
}), labelWidth > 0 && /* @__PURE__ */ jsx(AxisLabel, {
|
|
52
|
+
x: -insetLeft + titleBand,
|
|
23
53
|
y: -20 / 2,
|
|
24
54
|
width: labelWidth,
|
|
25
55
|
height: 20,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
fillHeight: true,
|
|
31
|
-
children: /* @__PURE__ */ jsx(Text, {
|
|
32
|
-
size: TextSize.CAPTION,
|
|
33
|
-
variant: TextVariant.TERTIARY,
|
|
34
|
-
align: "right",
|
|
35
|
-
isEllipsis: true,
|
|
36
|
-
children: formatter(tick)
|
|
37
|
-
})
|
|
38
|
-
})
|
|
56
|
+
justify: JustifyContent.END,
|
|
57
|
+
align: "right",
|
|
58
|
+
isTabular: true,
|
|
59
|
+
children: formatter(tick)
|
|
39
60
|
})]
|
|
40
|
-
}, tick)
|
|
41
|
-
|
|
42
|
-
|
|
61
|
+
}, tick);
|
|
62
|
+
}), title && /* @__PURE__ */ jsx("g", {
|
|
63
|
+
transform: `translate(${-insetLeft + AXIS_TITLE_BAND / 2}, ${plotHeight / 2}) rotate(-90)`,
|
|
64
|
+
children: /* @__PURE__ */ jsx(AxisLabel, {
|
|
65
|
+
x: -plotHeight / 2,
|
|
66
|
+
y: -AXIS_TITLE_BAND / 2,
|
|
67
|
+
width: plotHeight,
|
|
68
|
+
height: AXIS_TITLE_BAND,
|
|
69
|
+
justify: JustifyContent.CENTER,
|
|
70
|
+
align: "center",
|
|
71
|
+
children: title
|
|
72
|
+
})
|
|
73
|
+
})] });
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal Category labels with `AUTO` thinning: every label that fits, otherwise every nth
|
|
77
|
+
* (a skipped label is still inferable from its neighbours; a clipped one carries nothing). A
|
|
78
|
+
* rendered label may spread over the run it stands for.
|
|
79
|
+
*/
|
|
80
|
+
function ChartCategoryAxis({ labels, positions, step, plotWidth, plotHeight, orientation, insetLeft = 0, formatter, title }) {
|
|
81
|
+
const formatted = labels.map(formatter);
|
|
82
|
+
if (orientation === Orientation.VERTICAL) {
|
|
83
|
+
const titleBand = title ? AXIS_TITLE_BAND + AXIS_TITLE_GAP : 0;
|
|
84
|
+
const labelWidth = insetLeft - titleBand - VALUE_AXIS_TICK_GAP;
|
|
85
|
+
const rowStride = getRowLabelStride(step);
|
|
86
|
+
return /* @__PURE__ */ jsxs("g", { children: [labelWidth > 0 && formatted.map((label, index) => index % rowStride !== 0 ? null : /* @__PURE__ */ jsx(AxisLabel, {
|
|
87
|
+
x: -insetLeft + titleBand,
|
|
88
|
+
y: (positions[index] ?? 0) - step * (rowStride - 1) / 2,
|
|
89
|
+
width: labelWidth,
|
|
90
|
+
height: step * rowStride,
|
|
91
|
+
justify: JustifyContent.END,
|
|
92
|
+
align: "right",
|
|
93
|
+
children: label
|
|
94
|
+
}, labels[index])), title && /* @__PURE__ */ jsx("g", {
|
|
95
|
+
transform: `translate(${-insetLeft + AXIS_TITLE_BAND / 2}, ${plotHeight / 2}) rotate(-90)`,
|
|
96
|
+
children: /* @__PURE__ */ jsx(AxisLabel, {
|
|
43
97
|
x: -plotHeight / 2,
|
|
44
|
-
y: -
|
|
98
|
+
y: -AXIS_TITLE_BAND / 2,
|
|
45
99
|
width: plotHeight,
|
|
46
|
-
height:
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
fillWidth: true,
|
|
51
|
-
fillHeight: true,
|
|
52
|
-
children: /* @__PURE__ */ jsx(Text, {
|
|
53
|
-
size: TextSize.CAPTION,
|
|
54
|
-
variant: TextVariant.TERTIARY,
|
|
55
|
-
align: "center",
|
|
56
|
-
isEllipsis: true,
|
|
57
|
-
children: title
|
|
58
|
-
})
|
|
59
|
-
})
|
|
100
|
+
height: AXIS_TITLE_BAND,
|
|
101
|
+
justify: JustifyContent.CENTER,
|
|
102
|
+
align: "center",
|
|
103
|
+
children: title
|
|
60
104
|
})
|
|
61
|
-
})]
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
var ChartCategoryAxis = ({ labels, positions, step, plotWidth, plotHeight, formatter, mode = ChartCategoryLabelMode.AUTO, title }) => {
|
|
65
|
-
const formatted = labels.map(formatter);
|
|
66
|
-
const stride = mode === ChartCategoryLabelMode.AUTO ? getCategoryLabelStride(formatted, step) : 1;
|
|
105
|
+
})] });
|
|
106
|
+
}
|
|
107
|
+
const stride = getCategoryLabelStride(formatted, step);
|
|
67
108
|
const labelWidth = step * stride;
|
|
68
109
|
const labelInset = (labelWidth - step) / 2;
|
|
110
|
+
const minX = -insetLeft;
|
|
111
|
+
const maxX = plotWidth + PLOT_INSET_RIGHT;
|
|
69
112
|
return /* @__PURE__ */ jsxs("g", {
|
|
70
113
|
transform: `translate(0, ${plotHeight})`,
|
|
71
|
-
"aria-hidden": true,
|
|
72
114
|
children: [formatted.map((label, index) => {
|
|
73
115
|
if (index % stride !== 0) return null;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
116
|
+
const center = (positions[index] ?? 0) + step / 2;
|
|
117
|
+
const halfText = Math.min(labelWidth, label.length * CAPTION_CHAR_WIDTH_PX) / 2;
|
|
118
|
+
return /* @__PURE__ */ jsx(AxisLabel, {
|
|
119
|
+
x: (maxX - minX > halfText * 2 ? clamp(center, minX + halfText, maxX - halfText) : center) - step / 2 - labelInset,
|
|
120
|
+
y: CATEGORY_AXIS_LABEL_GAP,
|
|
77
121
|
width: labelWidth,
|
|
78
|
-
height:
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
children: /* @__PURE__ */ jsx(Text, {
|
|
85
|
-
size: TextSize.CAPTION,
|
|
86
|
-
variant: TextVariant.TERTIARY,
|
|
87
|
-
align: "center",
|
|
88
|
-
isEllipsis: mode !== ChartCategoryLabelMode.ALL,
|
|
89
|
-
children: label
|
|
90
|
-
})
|
|
91
|
-
})
|
|
92
|
-
}, `${index}:${label}`);
|
|
93
|
-
}), title && /* @__PURE__ */ jsx(ChartAxisLabelBox, {
|
|
122
|
+
height: CATEGORY_AXIS_LABEL_HEIGHT,
|
|
123
|
+
justify: JustifyContent.CENTER,
|
|
124
|
+
align: "center",
|
|
125
|
+
children: label
|
|
126
|
+
}, labels[index]);
|
|
127
|
+
}), title && /* @__PURE__ */ jsx(AxisLabel, {
|
|
94
128
|
x: 0,
|
|
95
|
-
y:
|
|
129
|
+
y: CATEGORY_AXIS_LABEL_GAP + CATEGORY_AXIS_LABEL_HEIGHT + AXIS_TITLE_GAP,
|
|
96
130
|
width: plotWidth,
|
|
97
|
-
height:
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
fillWidth: true,
|
|
102
|
-
fillHeight: true,
|
|
103
|
-
children: /* @__PURE__ */ jsx(Text, {
|
|
104
|
-
size: TextSize.CAPTION,
|
|
105
|
-
variant: TextVariant.TERTIARY,
|
|
106
|
-
align: "center",
|
|
107
|
-
isEllipsis: true,
|
|
108
|
-
children: title
|
|
109
|
-
})
|
|
110
|
-
})
|
|
131
|
+
height: AXIS_TITLE_BAND,
|
|
132
|
+
justify: JustifyContent.CENTER,
|
|
133
|
+
align: "center",
|
|
134
|
+
children: title
|
|
111
135
|
})]
|
|
112
136
|
});
|
|
113
|
-
}
|
|
137
|
+
}
|
|
114
138
|
//#endregion
|
|
115
139
|
export { ChartCategoryAxis, ChartValueAxis };
|
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
* Shared by all three charts so hit testing is spelled once. Targets carry no
|
|
7
|
-
* roles and no tab stops — the plot is `role="img"` and its accessible story is
|
|
8
|
-
* the frame's label and description, while pointer users get the tooltip.
|
|
9
|
-
*
|
|
10
|
-
* Every category is hoverable, including one with nothing to show: the cursor
|
|
11
|
-
* still marks where the pointer is over an empty stretch of axis, and the
|
|
12
|
-
* tooltip opens with a "No data" body so the hover always gets an answer.
|
|
13
|
-
*
|
|
14
|
-
* **Only `onMouseEnter` lives here; leaving is the target group's job.** Per-target
|
|
15
|
-
* leave handlers fire on every crossing *within* the plot, so the state fell to
|
|
16
|
-
* null and back on each one — a wasted render between neighbouring bands, and a
|
|
17
|
-
* visible flicker once the mark layer above added a second boundary inside a
|
|
18
|
-
* single category. The group's leave fires exactly once, when the pointer
|
|
19
|
-
* actually leaves the plot.
|
|
20
|
-
*/
|
|
21
|
-
interface ChartCategoryTargetsProps {
|
|
1
|
+
import { type ChartCategoryTarget } from "./types.js";
|
|
2
|
+
/** @internal Props of `ChartCategoryTargets`. */
|
|
3
|
+
export interface ChartCategoryTargetsProps {
|
|
4
|
+
/** One target per category, in category order. */
|
|
22
5
|
targets: ChartCategoryTarget[];
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
/** Pointer entered a category. */
|
|
7
|
+
onEnter: (categoryIndex: number) => void;
|
|
8
|
+
/** Pointer left the target layers (moving between targets is not leaving). */
|
|
9
|
+
onLeave: () => void;
|
|
10
|
+
/** Click on a category; supplying it makes the targets clickable. */
|
|
11
|
+
onSelect?: ((categoryIndex: number) => void) | undefined;
|
|
26
12
|
}
|
|
27
|
-
|
|
28
|
-
export
|
|
13
|
+
/** @internal The category hit layer. */
|
|
14
|
+
export declare function ChartCategoryTargets({ targets, onEnter, onLeave, onSelect, }: ChartCategoryTargetsProps): import("react").JSX.Element;
|
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import { ChartTargetShape } from "./types.js";
|
|
2
|
-
import {
|
|
3
|
-
import { match } from "ts-pattern";
|
|
2
|
+
import { CHART_HIT_TARGET_CSS, leaveUnlessTarget } from "./ChartPrimitives.js";
|
|
4
3
|
import { Fragment, jsx } from "react/jsx-runtime";
|
|
4
|
+
import { cx } from "@linaria/core";
|
|
5
5
|
//#region src/charts/ChartCategoryTargets.tsx
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @internal The base hit layer: one transparent target per category above the marks (a band for
|
|
8
|
+
* cartesian charts, the arc outline for a pie). Hover is per category, so a two-pixel mark is as
|
|
9
|
+
* easy to hover as a large one. A target's leave only counts when the pointer leaves the target
|
|
10
|
+
* layers (`leaveUnlessTarget`), so crossing between bands never flickers through "nothing engaged".
|
|
11
|
+
*/
|
|
12
|
+
/** @internal The category hit layer. */
|
|
13
|
+
function ChartCategoryTargets({ targets, onEnter, onLeave, onSelect }) {
|
|
14
|
+
const className = cx(CHART_HIT_TARGET_CSS, onSelect && "gx-ChartPrimitives-CHART_HIT_TARGET_CLICKABLE_CSS-cjirv6a");
|
|
15
|
+
return /* @__PURE__ */ jsx(Fragment, { children: targets.map((target, index) => {
|
|
16
|
+
const handlers = {
|
|
17
|
+
onMouseEnter: () => onEnter(index),
|
|
18
|
+
onMouseLeave: (event) => leaveUnlessTarget(event, onLeave),
|
|
19
|
+
...onSelect && { onClick: () => onSelect(index) }
|
|
20
|
+
};
|
|
21
|
+
return target.shape === ChartTargetShape.RECT ? /* @__PURE__ */ jsx("rect", {
|
|
22
|
+
x: target.x,
|
|
23
|
+
y: target.y,
|
|
24
|
+
width: Math.max(0, target.width),
|
|
25
|
+
height: Math.max(0, target.height),
|
|
26
|
+
className,
|
|
27
|
+
...handlers
|
|
28
|
+
}, target.key) : /* @__PURE__ */ jsx("path", {
|
|
29
|
+
d: target.d,
|
|
30
|
+
className,
|
|
31
|
+
...handlers
|
|
32
|
+
}, target.key);
|
|
33
|
+
}) });
|
|
34
|
+
}
|
|
23
35
|
//#endregion
|
|
24
|
-
export { ChartCategoryTargets
|
|
36
|
+
export { ChartCategoryTargets };
|
|
@@ -1,132 +1,85 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
3
|
-
import type
|
|
4
|
-
import type { ChartDimensions } from "./useChartDimensions";
|
|
5
|
-
import type { ChartInteraction } from "./useChartInteraction";
|
|
6
|
-
import type { ChartTooltipVerticalAlign } from "./useChartTooltipPosition";
|
|
7
|
-
/**
|
|
8
|
-
* The shell every chart renders into: measured root, reserved plot box, SVG and
|
|
9
|
-
* its margin translate, the plot group, the hover targets, the tooltip, the
|
|
10
|
-
* empty state and the legend.
|
|
11
|
-
*
|
|
12
|
-
* **The frame owns the plot translate.** Marks are drawn inside a
|
|
13
|
-
* `translate(margin.left, margin.top)` group, and every coordinate handed to
|
|
14
|
-
* this component — including the tooltip anchor and `placeAwayFromX` — is in
|
|
15
|
-
* that same plot space. Charts never add the margin themselves; three
|
|
16
|
-
* hand-written copies of `+ margin.left` is precisely what drifts silently.
|
|
17
|
-
*
|
|
18
|
-
* Knows nothing about scales, marks or geometry — all of that arrives through
|
|
19
|
-
* `axes` and `children`.
|
|
20
|
-
*
|
|
21
|
-
* @internal Published as a subpath only because this package has no barrel
|
|
22
|
-
* files, not because charts are meant to be composed out of it.
|
|
23
|
-
*/
|
|
1
|
+
import { type CSSProperties, type ForwardedRef, type ReactNode, type RefObject } from "react";
|
|
2
|
+
import { type ChartLegendSwatch } from "./ChartLegend.js";
|
|
3
|
+
import { type ChartCategoryTarget, ChartKind, type ChartLegendItem, ChartLegendPlacement, type ChartMarkTarget, type ChartPlotTooltipModel, type ChartTooltipRenderer } from "./types.js";
|
|
4
|
+
import type { ChartDimensions } from "./useChartDimensions.js";
|
|
5
|
+
import type { ChartInteraction } from "./useChartInteraction.js";
|
|
6
|
+
import type { ChartTooltipVerticalAlign } from "./useChartTooltipPosition.js";
|
|
7
|
+
/** @internal Props of `ChartFrame`. */
|
|
24
8
|
export interface ChartFrameProps {
|
|
25
|
-
/**
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
* during its own render — to size the geometry and to feed
|
|
35
|
-
* `useChartInteraction` — so the ref has to exist before this component does.
|
|
36
|
-
* A named prop rather than `ref` because ref-as-a-prop needs React 19 and this
|
|
37
|
-
* package still supports 18.
|
|
38
|
-
*/
|
|
39
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
|
9
|
+
/** The chart's forwarded ref (to the root). */
|
|
10
|
+
rootRef: ForwardedRef<HTMLDivElement>;
|
|
11
|
+
/** The plot box, measured by the chart's `useChartDimensions`. */
|
|
12
|
+
plotRef: RefObject<HTMLDivElement>;
|
|
13
|
+
/** Passthrough: `id`. */
|
|
14
|
+
id?: string | undefined;
|
|
15
|
+
/** Remaining passthrough: `data-*` to the root, `aria-*` to the plot box. */
|
|
16
|
+
rest: Record<string, unknown>;
|
|
17
|
+
/** Measured box and insets. */
|
|
40
18
|
dimensions: ChartDimensions;
|
|
41
|
-
|
|
42
|
-
fillHeight?: boolean;
|
|
19
|
+
/** The chart's interaction state. */
|
|
43
20
|
interaction: ChartInteraction;
|
|
44
|
-
/** Which chart
|
|
21
|
+
/** Which chart (phrases the default name). */
|
|
45
22
|
kind: ChartKind;
|
|
46
|
-
/** Categories
|
|
47
|
-
* what is *rendered* rather than what was supplied. */
|
|
23
|
+
/** Categories (slices, cells) rendered. */
|
|
48
24
|
categoryCount: number;
|
|
49
|
-
/**
|
|
50
|
-
ariaLabel?: string;
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* Axes, drawn inside the plot translate group *before* {@link children}, so
|
|
55
|
-
* grid lines paint under the marks. Radial charts pass nothing.
|
|
56
|
-
*/
|
|
25
|
+
/** The `ariaLabel` prop. */
|
|
26
|
+
ariaLabel?: string | undefined;
|
|
27
|
+
/** `--gx-chart-aspect-ratio`. */
|
|
28
|
+
aspectRatio: number;
|
|
29
|
+
/** Axes, inside the plot group before the marks (grid under marks). */
|
|
57
30
|
axes?: ReactNode;
|
|
58
|
-
/**
|
|
59
|
-
* Marks, drawn inside the plot group beneath the hover targets.
|
|
60
|
-
*
|
|
61
|
-
* Rendered only once measured, so no caller writes that guard. Note it is
|
|
62
|
-
* still *evaluated* on the unmeasured pass — as is the geometry it maps over,
|
|
63
|
-
* which each chart's `useMemo` already runs at a 0×0 plot. Geometry builders
|
|
64
|
-
* must stay total at zero; they already are.
|
|
65
|
-
*/
|
|
31
|
+
/** Marks. Rendered once measured. */
|
|
66
32
|
children?: ReactNode;
|
|
67
|
-
/** HTML
|
|
33
|
+
/** HTML over the plot, under the tooltip (PieChart's donut center). */
|
|
68
34
|
plotOverlay?: ReactNode;
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
*
|
|
77
|
-
* Must be stable; memoize it at the call site.
|
|
78
|
-
*/
|
|
35
|
+
/** Extra class on the plot box (PieChart: the square plot beside a side legend). */
|
|
36
|
+
plotClassName?: string | undefined;
|
|
37
|
+
/** The live-region sentence for a category; defaults to the tooltip heading and rows. */
|
|
38
|
+
describeCategory?: ((index: number) => string) | undefined;
|
|
39
|
+
/** The `hasTooltip` prop. */
|
|
40
|
+
hasTooltip: boolean;
|
|
41
|
+
/** Builds a category's tooltip in plot coordinates; empty rows mean "No data". */
|
|
79
42
|
buildCategoryTooltip: (index: number) => ChartPlotTooltipModel | null;
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
*
|
|
86
|
-
* Empty disables interaction entirely, which is what a chart with nothing to
|
|
87
|
-
* plot passes.
|
|
88
|
-
*/
|
|
89
|
-
categoryTargets?: ChartCategoryTarget[];
|
|
90
|
-
/**
|
|
91
|
-
* One target per rendered mark, painted over {@link categoryTargets} so a
|
|
92
|
-
* click can name a segment rather than only its column. Omitted by the charts
|
|
93
|
-
* whose marks are not separately clickable — see `ChartMarkTargets`.
|
|
94
|
-
*/
|
|
43
|
+
/** The `renderTooltip` prop. */
|
|
44
|
+
renderTooltip?: ChartTooltipRenderer | undefined;
|
|
45
|
+
/** One hover target per category. */
|
|
46
|
+
categoryTargets: ChartCategoryTarget[];
|
|
47
|
+
/** Click targets per mark. */
|
|
95
48
|
markTargets?: ChartMarkTarget[];
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
* vocabulary. The frame knows neither, exactly as with
|
|
104
|
-
* {@link buildCategoryTooltip}.
|
|
105
|
-
*/
|
|
106
|
-
onCategorySelect?: (categoryIndex: number) => void;
|
|
107
|
-
/** Click on one mark, by its index in {@link markTargets}. */
|
|
108
|
-
onMarkSelect?: (markIndex: number) => void;
|
|
109
|
-
/** Half a category's width, so the tooltip sits beside the marks. */
|
|
49
|
+
/** Transform applied to both target layers (radial charts: their center). */
|
|
50
|
+
targetsTransform?: string;
|
|
51
|
+
/** Category chosen by click, Enter or Space. Supplying it makes the plot selectable. */
|
|
52
|
+
onCategorySelect?: ((categoryIndex: number) => void) | undefined;
|
|
53
|
+
/** Mark clicked, by index in `markTargets`. */
|
|
54
|
+
onMarkSelect?: ((markIndex: number) => void) | undefined;
|
|
55
|
+
/** Half a category's width (tooltip sits beside it). */
|
|
110
56
|
anchorHalfWidth?: number;
|
|
111
|
-
/** Radial charts
|
|
57
|
+
/** Radial charts: their center x, in plot coordinates. */
|
|
112
58
|
placeAwayFromX?: number;
|
|
59
|
+
/** Tooltip vertical placement. */
|
|
113
60
|
verticalAlign?: ChartTooltipVerticalAlign;
|
|
114
|
-
/**
|
|
61
|
+
/** Nothing to plot. */
|
|
115
62
|
isEmpty: boolean;
|
|
116
|
-
isLoading
|
|
117
|
-
|
|
118
|
-
|
|
63
|
+
/** The `isLoading` prop. */
|
|
64
|
+
isLoading: boolean;
|
|
65
|
+
/** The `placeholder` prop. */
|
|
66
|
+
placeholder: string;
|
|
67
|
+
/** The `hasLegend` prop. */
|
|
68
|
+
hasLegend: boolean;
|
|
69
|
+
/** Legend entries. */
|
|
119
70
|
legendItems: ChartLegendItem[];
|
|
120
|
-
/**
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
|
|
124
|
-
/**
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
71
|
+
/** Legend placement. */
|
|
72
|
+
legendPlacement: ChartLegendPlacement;
|
|
73
|
+
/** Legend swatch shape. */
|
|
74
|
+
legendSwatch: ChartLegendSwatch;
|
|
75
|
+
/** Tooltip row swatch shape. Defaults to `CIRCLE` (BarChart passes `SQUARE`). */
|
|
76
|
+
tooltipSwatch?: ChartLegendSwatch | undefined;
|
|
77
|
+
/** A chart's own legend in place of the series legend (Heatmap's step legend). */
|
|
78
|
+
legend?: ReactNode;
|
|
79
|
+
/** Passthrough: `className` on the root. */
|
|
80
|
+
className?: string | undefined;
|
|
81
|
+
/** Passthrough: `style` on the root. */
|
|
82
|
+
style?: CSSProperties | undefined;
|
|
130
83
|
}
|
|
131
|
-
|
|
132
|
-
export
|
|
84
|
+
/** @internal The chart shell. */
|
|
85
|
+
export declare function ChartFrame({ rootRef, plotRef, id, className, style, rest, dimensions, interaction, kind, categoryCount, ariaLabel, aspectRatio, axes, children, plotOverlay, plotClassName, describeCategory, hasTooltip, buildCategoryTooltip, renderTooltip, categoryTargets, markTargets, targetsTransform, onCategorySelect, onMarkSelect, anchorHalfWidth, placeAwayFromX, verticalAlign, isEmpty, isLoading, placeholder, hasLegend, legendItems, legendPlacement, legendSwatch, tooltipSwatch, legend, }: ChartFrameProps): import("react").JSX.Element;
|