@galaxy-io/dls 1.6.1 → 2.0.1
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 +160 -124
- 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 +33 -20
- package/dist/charts/ChartFrame.d.ts +71 -116
- package/dist/charts/ChartFrame.js +306 -97
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +37 -48
- package/dist/charts/ChartLegend.js +243 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +34 -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 +307 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +174 -121
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +159 -136
- 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/chartSelection.d.ts +15 -0
- package/dist/charts/chartSelection.js +22 -0
- package/dist/charts/constants.d.ts +100 -256
- package/dist/charts/constants.js +109 -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 +206 -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 +69 -116
- package/dist/charts/useChartInteraction.js +148 -78
- 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 +83 -17
- package/dist/drawer/Drawer.js +399 -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 +298 -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 +1082 -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 +120 -0
- package/dist/timeline/Timeline.js +301 -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 +855 -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
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { ChartCurve } from "./types.js";
|
|
2
|
+
import { buildLinePath } from "./lineChartGeometry.js";
|
|
3
|
+
import { layoutBars } from "./barChartGeometry.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { styled } from "@linaria/react";
|
|
6
|
+
import { forwardRef } from "react";
|
|
7
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cx } from "@linaria/core";
|
|
9
|
+
//#region src/charts/Sparkline.tsx
|
|
10
|
+
/**
|
|
11
|
+
* Sparkline is a word-sized trend: a tiny line or row of bars with no axes, legend, tooltip or
|
|
12
|
+
* interaction, set beside the number it summarizes in a table cell, a list row, a `StatChart` or a
|
|
13
|
+
* sentence. It shows shape (rising, falling, spiky), not values; a chart to read values from is
|
|
14
|
+
* `LineChart` / `BarChart`.
|
|
15
|
+
*
|
|
16
|
+
* Color is CSS: `SPARKLINE_VARIANT_TO_CSS_MAP` (or `SPARKLINE_COLOR_TO_CSS_MAP` for a categorical
|
|
17
|
+
* `color`) sets `color` from `color.text.*` and the marks read
|
|
18
|
+
* `currentColor`, so `INHERIT` and `hex` share one path and a theme switch needs no re-render.
|
|
19
|
+
* Height is a control rung so it lines up with its row; width is four times
|
|
20
|
+
* the height unless `fillWidth`.
|
|
21
|
+
*
|
|
22
|
+
* Drawn in a fixed `0 0 100 100` viewBox with `preserveAspectRatio="none"` and a non-scaling
|
|
23
|
+
* stroke: no measurement, identical under SSR. Reuses LineChart's curve and the 1.x bar spacing.
|
|
24
|
+
* Needs the optional peer `d3-shape`.
|
|
25
|
+
*/
|
|
26
|
+
/** Rung of the row the sparkline sits in. Height = control height; default width = 4 × height. */
|
|
27
|
+
var SparklineSize = /* @__PURE__ */ function(SparklineSize) {
|
|
28
|
+
/** 20px tall, 80px wide. */
|
|
29
|
+
SparklineSize["X_SMALL"] = "X_SMALL";
|
|
30
|
+
/** 24px tall, 96px wide. */
|
|
31
|
+
SparklineSize["SMALL"] = "SMALL";
|
|
32
|
+
/** 32px tall, 128px wide. The default. */
|
|
33
|
+
SparklineSize["MEDIUM"] = "MEDIUM";
|
|
34
|
+
/** 36px tall, 144px wide. */
|
|
35
|
+
SparklineSize["LARGE"] = "LARGE";
|
|
36
|
+
/** 40px tall, 160px wide. */
|
|
37
|
+
SparklineSize["X_LARGE"] = "X_LARGE";
|
|
38
|
+
return SparklineSize;
|
|
39
|
+
}({});
|
|
40
|
+
/** Color role (Constitution V-A color set; subset). */
|
|
41
|
+
var SparklineVariant = /* @__PURE__ */ function(SparklineVariant) {
|
|
42
|
+
/** `text.primary`. */
|
|
43
|
+
SparklineVariant["PRIMARY"] = "PRIMARY";
|
|
44
|
+
/** `text.secondary`. The default. */
|
|
45
|
+
SparklineVariant["SECONDARY"] = "SECONDARY";
|
|
46
|
+
/** `text.tertiary`. */
|
|
47
|
+
SparklineVariant["TERTIARY"] = "TERTIARY";
|
|
48
|
+
/** The parent's color (`currentColor`). */
|
|
49
|
+
SparklineVariant["INHERIT"] = "INHERIT";
|
|
50
|
+
/** Status: success, `text.success`. */
|
|
51
|
+
SparklineVariant["SUCCESS"] = "SUCCESS";
|
|
52
|
+
/** Status: warning, `text.warning`. */
|
|
53
|
+
SparklineVariant["WARNING"] = "WARNING";
|
|
54
|
+
/** Status: error, `text.error`. */
|
|
55
|
+
SparklineVariant["ERROR"] = "ERROR";
|
|
56
|
+
return SparklineVariant;
|
|
57
|
+
}({});
|
|
58
|
+
/** What the data is drawn as. A named second axis (Article V), not a variant. */
|
|
59
|
+
var SparklineMark = /* @__PURE__ */ function(SparklineMark) {
|
|
60
|
+
/** A 1.5px line. The default. */
|
|
61
|
+
SparklineMark["LINE"] = "LINE";
|
|
62
|
+
/** One bar per value, from a zero baseline. */
|
|
63
|
+
SparklineMark["BAR"] = "BAR";
|
|
64
|
+
return SparklineMark;
|
|
65
|
+
}({});
|
|
66
|
+
/**
|
|
67
|
+
* Px kept clear on every side of the drawing, so the line's round caps and its stroke at the top
|
|
68
|
+
* and bottom stay inside the root (half the stroke, rounded up to a whole pixel). Padding in real
|
|
69
|
+
* pixels, not viewBox units, because the viewBox stretches with the box.
|
|
70
|
+
*/
|
|
71
|
+
/** Gap between bars: 1 viewBox unit per 100 (≈ 1px at the default width). */
|
|
72
|
+
var SPARKLINE_BAR_GAP = 1;
|
|
73
|
+
/**
|
|
74
|
+
* Phrasing content, so a sparkline is valid inside `Text`, a table cell or a `<label>`. The marks
|
|
75
|
+
* paint with `currentColor`; `forced-color-adjust: none` keeps the data marks in their color in
|
|
76
|
+
* high contrast (the Circle, Square and Beacon precedent).
|
|
77
|
+
*/
|
|
78
|
+
var Root = /*#__PURE__*/ styled("span")({
|
|
79
|
+
name: "Root",
|
|
80
|
+
class: "gx-Sparkline-r1asbe5y",
|
|
81
|
+
propsAsIs: false
|
|
82
|
+
});
|
|
83
|
+
var Svg = /*#__PURE__*/ styled("svg")({
|
|
84
|
+
name: "Svg",
|
|
85
|
+
class: "gx-Sparkline-Svg-s9k8755",
|
|
86
|
+
propsAsIs: false
|
|
87
|
+
});
|
|
88
|
+
/** The line: the chart line weight however far the box is stretched. */
|
|
89
|
+
var SPARKLINE_LINE_CSS = "gx-Sparkline-SPARKLINE_LINE_CSS-s119f4ag";
|
|
90
|
+
/** Square bars (Decision 4). */
|
|
91
|
+
var SPARKLINE_BAR_CSS = "gx-Sparkline-SPARKLINE_BAR_CSS-srn2uxg";
|
|
92
|
+
/** The zero baseline when a bar domain crosses zero. */
|
|
93
|
+
var SPARKLINE_BASELINE_CSS = "gx-Sparkline-SPARKLINE_BASELINE_CSS-s1brjpq6";
|
|
94
|
+
var FILL_WIDTH_CSS = "gx-Sparkline-FILL_WIDTH_CSS-fvjsow7";
|
|
95
|
+
/** Height per rung (the control rungs). */
|
|
96
|
+
var SPARKLINE_SIZE_TO_CSS_MAP = {
|
|
97
|
+
["X_SMALL"]: "gx-Sparkline-X_SMALL-xcnrk12",
|
|
98
|
+
["SMALL"]: "gx-Sparkline-SMALL-s1060hmm",
|
|
99
|
+
["MEDIUM"]: "gx-Sparkline-MEDIUM-m1rkkg41",
|
|
100
|
+
["LARGE"]: "gx-Sparkline-LARGE-l1mfr8ta",
|
|
101
|
+
["X_LARGE"]: "gx-Sparkline-X_LARGE-x1tuu0sq"
|
|
102
|
+
};
|
|
103
|
+
/** Sets `color`; the marks read it. */
|
|
104
|
+
var SPARKLINE_VARIANT_TO_CSS_MAP = {
|
|
105
|
+
["PRIMARY"]: "gx-Sparkline-PRIMARY-p15j1694",
|
|
106
|
+
["SECONDARY"]: "gx-Sparkline-SECONDARY-sqf29gm",
|
|
107
|
+
["TERTIARY"]: "gx-Sparkline-TERTIARY-to15cvu",
|
|
108
|
+
["INHERIT"]: "gx-Sparkline-INHERIT-iwafbc4",
|
|
109
|
+
["SUCCESS"]: "gx-Sparkline-SUCCESS-s18oxn06",
|
|
110
|
+
["WARNING"]: "gx-Sparkline-WARNING-w12wppjx",
|
|
111
|
+
["ERROR"]: "gx-Sparkline-ERROR-e1vjlz3y"
|
|
112
|
+
};
|
|
113
|
+
/** Categorical `color`: `text.<family>`, the way a status variant renders. */
|
|
114
|
+
var SPARKLINE_COLOR_TO_CSS_MAP = {
|
|
115
|
+
red: "gx-Sparkline-red-r1g1xl1p",
|
|
116
|
+
orange: "gx-Sparkline-orange-o1jau8rz",
|
|
117
|
+
amber: "gx-Sparkline-amber-a1oe0nww",
|
|
118
|
+
yellow: "gx-Sparkline-yellow-y927tvl",
|
|
119
|
+
lime: "gx-Sparkline-lime-l17vquw4",
|
|
120
|
+
green: "gx-Sparkline-green-g1dzgnla",
|
|
121
|
+
emerald: "gx-Sparkline-emerald-e11hl6v6",
|
|
122
|
+
teal: "gx-Sparkline-teal-t1dtbnvn",
|
|
123
|
+
cyan: "gx-Sparkline-cyan-c1hj4qmv",
|
|
124
|
+
sky: "gx-Sparkline-sky-s157jvnt",
|
|
125
|
+
blue: "gx-Sparkline-blue-b14oiqli",
|
|
126
|
+
indigo: "gx-Sparkline-indigo-izvb5wf",
|
|
127
|
+
violet: "gx-Sparkline-violet-v1rblyi3",
|
|
128
|
+
purple: "gx-Sparkline-purple-p1lhbciw",
|
|
129
|
+
fuchsia: "gx-Sparkline-fuchsia-f1l7cy0y",
|
|
130
|
+
pink: "gx-Sparkline-pink-ppfz7ft",
|
|
131
|
+
rose: "gx-Sparkline-rose-r14stz7g"
|
|
132
|
+
};
|
|
133
|
+
/** Declared after the variant and color maps so `hex` wins over them. */
|
|
134
|
+
var HEX_CSS = "gx-Sparkline-HEX_CSS-h41c05i";
|
|
135
|
+
/** A finite reading, or `null` for a gap. */
|
|
136
|
+
var toReading = (value) => typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
137
|
+
/** The vertical range: the override where given, else the mark's default from the readings. */
|
|
138
|
+
function resolveDomain(readings, mark, valueDomain) {
|
|
139
|
+
const smallest = Math.min(...readings);
|
|
140
|
+
const largest = Math.max(...readings);
|
|
141
|
+
const autoMin = mark === "BAR" ? Math.min(0, smallest) : smallest;
|
|
142
|
+
const autoMax = mark === "BAR" ? Math.max(0, largest) : largest;
|
|
143
|
+
return [toReading(valueDomain?.min) ?? autoMin, toReading(valueDomain?.max) ?? autoMax];
|
|
144
|
+
}
|
|
145
|
+
/** Value → viewBox y (clamped to the box; the root's padding keeps the stroke inside). A flat domain sits at mid-height. */
|
|
146
|
+
function toY(value, [min, max]) {
|
|
147
|
+
if (max <= min) return 50;
|
|
148
|
+
const y = (1 - (value - min) / (max - min)) * 100;
|
|
149
|
+
return Math.min(100, Math.max(0, y));
|
|
150
|
+
}
|
|
151
|
+
/** The line, split at gaps; a lone reading between gaps is a zero-length segment (a round dot). */
|
|
152
|
+
function renderLine(values, domain) {
|
|
153
|
+
const count = values.length;
|
|
154
|
+
const runs = [];
|
|
155
|
+
let run = [];
|
|
156
|
+
values.forEach((value, index) => {
|
|
157
|
+
if (value === null) {
|
|
158
|
+
if (run.length > 0) runs.push(run);
|
|
159
|
+
run = [];
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
run.push({
|
|
163
|
+
x: count === 1 ? 50 : index / (count - 1) * 100,
|
|
164
|
+
y: toY(value, domain)
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
if (run.length > 0) runs.push(run);
|
|
168
|
+
const path = runs.map((points) => {
|
|
169
|
+
const [only] = points;
|
|
170
|
+
if (points.length === 1 && only !== void 0) return `M${only.x},${only.y}L${only.x},${only.y}`;
|
|
171
|
+
return buildLinePath(points, ChartCurve.SMOOTH);
|
|
172
|
+
}).join("");
|
|
173
|
+
return path === "" ? null : /* @__PURE__ */ jsx("path", {
|
|
174
|
+
className: SPARKLINE_LINE_CSS,
|
|
175
|
+
d: path
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/** One square bar per reading from the zero baseline, plus the baseline when the domain crosses 0. */
|
|
179
|
+
function renderBars(values, domain) {
|
|
180
|
+
const slots = layoutBars(values.length, 100, SPARKLINE_BAR_GAP);
|
|
181
|
+
const zeroY = toY(Math.min(Math.max(0, domain[0]), domain[1]), domain);
|
|
182
|
+
const crossesZero = domain[0] < 0 && domain[1] > 0;
|
|
183
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [values.map((value, index) => {
|
|
184
|
+
const slot = slots[index];
|
|
185
|
+
if (value === null || slot === void 0) return null;
|
|
186
|
+
const y = toY(value, domain);
|
|
187
|
+
return /* @__PURE__ */ jsx("rect", {
|
|
188
|
+
className: SPARKLINE_BAR_CSS,
|
|
189
|
+
x: slot.x,
|
|
190
|
+
width: slot.width,
|
|
191
|
+
y: Math.min(y, zeroY),
|
|
192
|
+
height: Math.abs(zeroY - y)
|
|
193
|
+
}, index);
|
|
194
|
+
}), crossesZero && /* @__PURE__ */ jsx("line", {
|
|
195
|
+
className: SPARKLINE_BASELINE_CSS,
|
|
196
|
+
x1: 0,
|
|
197
|
+
x2: 100,
|
|
198
|
+
y1: zeroY,
|
|
199
|
+
y2: zeroY
|
|
200
|
+
})] });
|
|
201
|
+
}
|
|
202
|
+
/** A word-sized line or bar trend beside the number it summarizes. */
|
|
203
|
+
var Sparkline = forwardRef(function Sparkline({ data, mark = "LINE", variant = "SECONDARY", color, hex, size = "MEDIUM", fillWidth = false, valueDomain, ariaLabel, id, className, style, ...rest }, ref) {
|
|
204
|
+
const variables = {};
|
|
205
|
+
if (hex !== void 0) variables["--gx-sparkline-hex"] = hex;
|
|
206
|
+
const values = data.map(toReading);
|
|
207
|
+
const readings = values.filter((value) => value !== null);
|
|
208
|
+
let marks = null;
|
|
209
|
+
if (readings.length > 0) {
|
|
210
|
+
const domain = resolveDomain(readings, mark, valueDomain);
|
|
211
|
+
marks = mark === "BAR" ? renderBars(values, domain) : renderLine(values, domain);
|
|
212
|
+
}
|
|
213
|
+
const passedLabel = typeof rest["aria-label"] === "string" ? rest["aria-label"] : void 0;
|
|
214
|
+
const name = ariaLabel || passedLabel;
|
|
215
|
+
const accessibility = name ? {
|
|
216
|
+
role: "img",
|
|
217
|
+
"aria-label": name,
|
|
218
|
+
"aria-hidden": void 0
|
|
219
|
+
} : {
|
|
220
|
+
"aria-hidden": true,
|
|
221
|
+
"aria-label": void 0
|
|
222
|
+
};
|
|
223
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
224
|
+
...rest,
|
|
225
|
+
...accessibility,
|
|
226
|
+
ref,
|
|
227
|
+
id,
|
|
228
|
+
className: cx(SPARKLINE_SIZE_TO_CSS_MAP[size], color !== void 0 ? SPARKLINE_COLOR_TO_CSS_MAP[color] : SPARKLINE_VARIANT_TO_CSS_MAP[variant], hex !== void 0 && HEX_CSS, fillWidth && FILL_WIDTH_CSS, className),
|
|
229
|
+
style: {
|
|
230
|
+
...variables,
|
|
231
|
+
...style
|
|
232
|
+
},
|
|
233
|
+
children: /* @__PURE__ */ jsx(Svg, {
|
|
234
|
+
viewBox: "0 0 100 100",
|
|
235
|
+
preserveAspectRatio: "none",
|
|
236
|
+
"aria-hidden": true,
|
|
237
|
+
focusable: "false",
|
|
238
|
+
children: marks
|
|
239
|
+
})
|
|
240
|
+
});
|
|
241
|
+
});
|
|
242
|
+
Sparkline.displayName = "Sparkline";
|
|
243
|
+
//#endregion
|
|
244
|
+
export { SparklineMark, SparklineSize, SparklineVariant, Sparkline as default };
|
|
@@ -1,24 +1,48 @@
|
|
|
1
|
-
import type
|
|
2
|
-
/**
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
/** Tile fill (Constitution V surface set: containers). */
|
|
3
3
|
export declare enum StatChartVariant {
|
|
4
|
+
/** The canvas fill, `background.base`. */
|
|
4
5
|
BASE = "BASE",
|
|
6
|
+
/** A panel fill, `background.primary`. The default (1.x). */
|
|
5
7
|
PRIMARY = "PRIMARY",
|
|
8
|
+
/** A raised fill, `background.secondary`. */
|
|
6
9
|
SECONDARY = "SECONDARY",
|
|
10
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
7
11
|
TERTIARY = "TERTIARY"
|
|
8
12
|
}
|
|
9
|
-
export interface StatChartProps {
|
|
10
|
-
/** What the number means.
|
|
13
|
+
export interface StatChartProps extends AriaAttributes {
|
|
14
|
+
/** What the number means. Small, tertiary, one line above the value. */
|
|
11
15
|
label: string;
|
|
12
|
-
/** The headline figure. A node
|
|
16
|
+
/** The headline figure. A string or number renders as `body_lg` medium with tabular numerals; pass a node for a value with a unit or a custom treatment. */
|
|
13
17
|
value: ReactNode;
|
|
14
|
-
/**
|
|
18
|
+
/** One short line under the value: the comparison or context ("+4% vs last week"). */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** At the end of the value row, vertically centered: a `Sparkline`, a `Chip`, a delta. */
|
|
21
|
+
trailing?: ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Surface fill of the tile.
|
|
24
|
+
* @default StatChartVariant.PRIMARY
|
|
25
|
+
*/
|
|
15
26
|
variant?: StatChartVariant;
|
|
16
|
-
/**
|
|
17
|
-
|
|
27
|
+
/**
|
|
28
|
+
* Adds the `0.5px` hairline. Use it for tiles on a page; leave it off inside an already-bordered container.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
hasBorder?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Replaces `value` with a `Skeleton` line and hides `description` and `trailing`; the label stays. Sets `aria-busy`.
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
isLoading?: boolean;
|
|
37
|
+
/** DOM id on the root. */
|
|
38
|
+
id?: string;
|
|
39
|
+
/** Any `data-*` attribute, forwarded to the root. */
|
|
40
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
41
|
+
/** Extra class on the root. */
|
|
42
|
+
className?: string;
|
|
43
|
+
/** Inline style on the root; only for setting CSS custom properties. */
|
|
44
|
+
style?: CSSProperties;
|
|
18
45
|
}
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
* of them lines up without you setting widths.
|
|
22
|
-
*/
|
|
23
|
-
declare const StatChart: ({ label, value, variant, noBorder, }: StatChartProps) => import("react").JSX.Element;
|
|
46
|
+
/** A KPI tile: label, headline value, optional description and trailing trend. */
|
|
47
|
+
declare const StatChart: import("react").ForwardRefExoticComponent<StatChartProps & import("react").RefAttributes<HTMLElement>>;
|
|
24
48
|
export default StatChart;
|
package/dist/charts/StatChart.js
CHANGED
|
@@ -1,58 +1,105 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import Skeleton, { SkeletonSize, SkeletonVariant } from "../feedback/Skeleton.js";
|
|
2
|
+
import { Radius } from "../theme/enums.js";
|
|
2
3
|
import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
|
|
3
|
-
import
|
|
4
|
+
import Flex, { AlignItems, FlexDirection } from "../layout/Flex.js";
|
|
5
|
+
import Box, { BoxVariant } from "../layout/Box.js";
|
|
6
|
+
import FlexItem from "../layout/FlexItem.js";
|
|
4
7
|
/* empty css */
|
|
5
|
-
import {
|
|
6
|
-
import { match } from "ts-pattern";
|
|
8
|
+
import { forwardRef } from "react";
|
|
7
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { cx } from "@linaria/core";
|
|
8
11
|
//#region src/charts/StatChart.tsx
|
|
9
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* StatChart is the KPI tile: one number with its label, on a quiet surface, sized so a row of them
|
|
14
|
+
* lines up. A `label` ("Active users"), a `value` ("1,284"), an optional `description` under the
|
|
15
|
+
* value ("+4% vs last week") and an optional `trailing` slot at the end of the value row for a
|
|
16
|
+
* `Sparkline` or a `Chip`. The tile is a `Box`: `variant` picks its surface step and `hasBorder`
|
|
17
|
+
* adds the hairline. `isLoading` swaps the value for a `Skeleton` line of the same height.
|
|
18
|
+
*
|
|
19
|
+
* It draws no chart itself and imports no chart code (no d3). It is not a card with a header and
|
|
20
|
+
* actions (`Widget`) and not a list of label/value pairs (`DescriptionList`).
|
|
21
|
+
*/
|
|
22
|
+
/** Tile fill (Constitution V surface set: containers). */
|
|
10
23
|
var StatChartVariant = /* @__PURE__ */ function(StatChartVariant) {
|
|
24
|
+
/** The canvas fill, `background.base`. */
|
|
11
25
|
StatChartVariant["BASE"] = "BASE";
|
|
26
|
+
/** A panel fill, `background.primary`. The default (1.x). */
|
|
12
27
|
StatChartVariant["PRIMARY"] = "PRIMARY";
|
|
28
|
+
/** A raised fill, `background.secondary`. */
|
|
13
29
|
StatChartVariant["SECONDARY"] = "SECONDARY";
|
|
30
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
14
31
|
StatChartVariant["TERTIARY"] = "TERTIARY";
|
|
15
32
|
return StatChartVariant;
|
|
16
33
|
}({});
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
34
|
+
/** Identity by member name: `Box` owns the fill and the hairline. */
|
|
35
|
+
var STAT_CHART_VARIANT_TO_BOX_VARIANT_MAP = {
|
|
36
|
+
["BASE"]: BoxVariant.BASE,
|
|
37
|
+
["PRIMARY"]: BoxVariant.PRIMARY,
|
|
38
|
+
["SECONDARY"]: BoxVariant.SECONDARY,
|
|
39
|
+
["TERTIARY"]: BoxVariant.TERTIARY
|
|
40
|
+
};
|
|
41
|
+
/** Tiles in a `Flex` row keep their width; in a `Grid` they stretch to the track (1.x). */
|
|
42
|
+
var ROOT_CSS = "gx-StatChart-ROOT_CSS-rlaxlp8";
|
|
43
|
+
/** A string or number as the headline figure; a node as given. */
|
|
44
|
+
function renderValue(value) {
|
|
45
|
+
if (typeof value === "string" || typeof value === "number") return /* @__PURE__ */ jsx(Text, {
|
|
46
|
+
size: TextSize.BODY_LG,
|
|
47
|
+
weight: TextWeight.MEDIUM,
|
|
48
|
+
isTabular: true,
|
|
49
|
+
lineClamp: 1,
|
|
50
|
+
children: value
|
|
51
|
+
});
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
/** A KPI tile: label, headline value, optional description and trailing trend. */
|
|
55
|
+
var StatChart = forwardRef(function StatChart({ label, value, description, trailing, variant = "PRIMARY", hasBorder = false, isLoading = false, id, className, style, ...rest }, ref) {
|
|
56
|
+
return /* @__PURE__ */ jsx(Box, {
|
|
57
|
+
...rest,
|
|
58
|
+
...isLoading ? { "aria-busy": true } : {},
|
|
59
|
+
ref,
|
|
60
|
+
...id === void 0 ? {} : { id },
|
|
61
|
+
variant: STAT_CHART_VARIANT_TO_BOX_VARIANT_MAP[variant],
|
|
62
|
+
hasBorder,
|
|
63
|
+
radius: Radius.LG,
|
|
64
|
+
padding: [12, 16],
|
|
65
|
+
minWidth: 140,
|
|
66
|
+
className: cx(ROOT_CSS, className),
|
|
67
|
+
...style === void 0 ? {} : { style },
|
|
68
|
+
children: /* @__PURE__ */ jsxs(Flex, {
|
|
37
69
|
direction: FlexDirection.COLUMN,
|
|
38
70
|
gap: 8,
|
|
39
71
|
minWidth: 0,
|
|
40
72
|
children: [/* @__PURE__ */ jsx(Text, {
|
|
41
73
|
size: TextSize.BODY_SM,
|
|
42
74
|
variant: TextVariant.TERTIARY,
|
|
43
|
-
|
|
75
|
+
lineClamp: 1,
|
|
44
76
|
children: label
|
|
45
|
-
}), /* @__PURE__ */ jsx(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
77
|
+
}), isLoading ? /* @__PURE__ */ jsx(Skeleton, {
|
|
78
|
+
variant: SkeletonVariant.TEXT,
|
|
79
|
+
size: SkeletonSize.LARGE
|
|
80
|
+
}) : /* @__PURE__ */ jsxs(Flex, {
|
|
81
|
+
direction: FlexDirection.COLUMN,
|
|
82
|
+
gap: 4,
|
|
83
|
+
minWidth: 0,
|
|
84
|
+
children: [/* @__PURE__ */ jsxs(Flex, {
|
|
85
|
+
alignItems: AlignItems.CENTER,
|
|
86
|
+
gap: 8,
|
|
87
|
+
minWidth: 0,
|
|
88
|
+
children: [/* @__PURE__ */ jsx(FlexItem, {
|
|
89
|
+
grow: 1,
|
|
90
|
+
minWidth: 0,
|
|
91
|
+
children: renderValue(value)
|
|
92
|
+
}), trailing]
|
|
93
|
+
}), description ? /* @__PURE__ */ jsx(Text, {
|
|
94
|
+
size: TextSize.BODY_SM,
|
|
95
|
+
variant: TextVariant.SECONDARY,
|
|
96
|
+
lineClamp: 1,
|
|
97
|
+
children: description
|
|
98
|
+
}) : null]
|
|
53
99
|
})]
|
|
54
100
|
})
|
|
55
101
|
});
|
|
56
|
-
};
|
|
102
|
+
});
|
|
103
|
+
StatChart.displayName = "StatChart";
|
|
57
104
|
//#endregion
|
|
58
105
|
export { StatChartVariant, StatChart as default };
|