@galaxy-io/dls 1.6.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -50
- package/biome/index.json +74 -0
- package/biome/plugins/no-hex-literal.grit +20 -0
- package/biome/plugins/no-inline-style.grit +13 -0
- package/biome/plugins/no-margin.grit +9 -0
- package/biome/plugins/warn/no-hex-literal.grit +23 -0
- package/biome/plugins/warn/no-inline-style.grit +13 -0
- package/biome/plugins/warn/no-margin.grit +9 -0
- package/dist/a11y/FocusScope.d.ts +44 -0
- package/dist/a11y/FocusScope.js +229 -0
- package/dist/a11y/VisuallyHidden.d.ts +21 -0
- package/dist/a11y/VisuallyHidden.js +30 -0
- package/dist/avatar/Avatar.d.ts +56 -14
- package/dist/avatar/Avatar.js +250 -96
- package/dist/avatar/AvatarGroup.d.ts +43 -0
- package/dist/avatar/AvatarGroup.js +153 -0
- package/dist/backgrounds/GridBackground.d.ts +48 -0
- package/dist/backgrounds/GridBackground.js +146 -0
- package/dist/beacons/Beacon.d.ts +86 -22
- package/dist/beacons/Beacon.js +170 -47
- package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
- package/dist/brand/GalaxyFilamentWordmark.js +39 -0
- package/dist/brand/GalaxyLogomark.d.ts +26 -0
- package/dist/brand/GalaxyLogomark.js +41 -0
- package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
- package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
- package/dist/brand/GalaxyWordmark.d.ts +30 -0
- package/dist/brand/GalaxyWordmark.js +63 -0
- package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
- package/dist/brand/brandMark.d.ts +26 -0
- package/dist/brand/brandMark.js +35 -0
- package/dist/buttons/Button.d.ts +148 -59
- package/dist/buttons/Button.js +437 -227
- package/dist/buttons/ButtonGroup.d.ts +38 -0
- package/dist/buttons/ButtonGroup.js +68 -0
- package/dist/buttons/CopyButton.d.ts +77 -0
- package/dist/buttons/CopyButton.js +65 -0
- package/dist/charts/AreaChart.d.ts +49 -0
- package/dist/charts/AreaChart.js +31 -0
- package/dist/charts/BarChart.d.ts +54 -67
- package/dist/charts/BarChart.js +136 -116
- package/dist/charts/ChartAxis.d.ts +35 -40
- package/dist/charts/ChartAxis.js +114 -90
- package/dist/charts/ChartCategoryTargets.d.ts +12 -26
- package/dist/charts/ChartCategoryTargets.js +32 -20
- package/dist/charts/ChartFrame.d.ts +69 -116
- package/dist/charts/ChartFrame.js +253 -119
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +27 -48
- package/dist/charts/ChartLegend.js +206 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +33 -20
- package/dist/charts/ChartPrimitives.d.ts +50 -305
- package/dist/charts/ChartPrimitives.js +65 -413
- package/dist/charts/ChartTooltip.d.ts +20 -26
- package/dist/charts/ChartTooltip.js +77 -40
- package/dist/charts/Heatmap.d.ts +35 -0
- package/dist/charts/Heatmap.js +295 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +159 -117
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +149 -135
- package/dist/charts/Sparkline.d.ts +107 -0
- package/dist/charts/Sparkline.js +244 -0
- package/dist/charts/StatChart.d.ts +37 -13
- package/dist/charts/StatChart.js +82 -35
- package/dist/charts/barChartGeometry.d.ts +138 -86
- package/dist/charts/barChartGeometry.js +122 -101
- package/dist/charts/barChartLegend.d.ts +14 -18
- package/dist/charts/barChartLegend.js +18 -13
- package/dist/charts/chartFormat.d.ts +12 -18
- package/dist/charts/chartFormat.js +20 -52
- package/dist/charts/chartPalette.d.ts +33 -0
- package/dist/charts/chartPalette.js +68 -0
- package/dist/charts/chartScales.d.ts +41 -108
- package/dist/charts/chartScales.js +62 -128
- package/dist/charts/constants.d.ts +96 -256
- package/dist/charts/constants.js +105 -275
- package/dist/charts/heatmapGeometry.d.ts +95 -0
- package/dist/charts/heatmapGeometry.js +155 -0
- package/dist/charts/lineChartGeometry.d.ts +108 -58
- package/dist/charts/lineChartGeometry.js +120 -78
- package/dist/charts/pieChartGeometry.d.ts +66 -40
- package/dist/charts/pieChartGeometry.js +68 -38
- package/dist/charts/types.d.ts +197 -466
- package/dist/charts/types.js +55 -144
- package/dist/charts/useCartesianChartLayout.d.ts +28 -59
- package/dist/charts/useCartesianChartLayout.js +47 -32
- package/dist/charts/useChartDimensions.d.ts +19 -40
- package/dist/charts/useChartDimensions.js +40 -56
- package/dist/charts/useChartFormatters.d.ts +6 -15
- package/dist/charts/useChartFormatters.js +4 -9
- package/dist/charts/useChartInteraction.d.ts +47 -116
- package/dist/charts/useChartInteraction.js +95 -71
- package/dist/charts/useChartTooltipPosition.d.ts +29 -39
- package/dist/charts/useChartTooltipPosition.js +14 -5
- package/dist/charts/useSeriesColorResolver.d.ts +11 -33
- package/dist/charts/useSeriesColorResolver.js +19 -12
- package/dist/chips/Chip.d.ts +155 -44
- package/dist/chips/Chip.js +329 -155
- package/dist/chips/ChipGroup.d.ts +53 -0
- package/dist/chips/ChipGroup.js +98 -0
- package/dist/drawer/Drawer.d.ts +81 -17
- package/dist/drawer/Drawer.js +370 -65
- package/dist/dropdown/Dropdown.d.ts +80 -63
- package/dist/dropdown/Dropdown.js +127 -129
- package/dist/editor/CodeEditor.d.ts +119 -40
- package/dist/editor/CodeEditor.js +490 -400
- package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
- package/dist/editor/CodeEditorReactWidget.js +28 -21
- package/dist/feedback/Alert.d.ts +49 -0
- package/dist/feedback/Alert.js +172 -0
- package/dist/feedback/EmptyState.d.ts +39 -0
- package/dist/feedback/EmptyState.js +109 -0
- package/dist/feedback/ProgressBar.d.ts +125 -0
- package/dist/feedback/ProgressBar.js +183 -0
- package/dist/feedback/ProgressCircle.d.ts +99 -0
- package/dist/feedback/ProgressCircle.js +187 -0
- package/dist/feedback/Skeleton.d.ts +69 -0
- package/dist/feedback/Skeleton.js +130 -0
- package/dist/feedback/Spinner.d.ts +63 -0
- package/dist/feedback/Spinner.js +141 -0
- package/dist/fonts.css +70 -0
- package/dist/hooks/internal/useIsClient.d.ts +2 -0
- package/dist/hooks/internal/useIsClient.js +14 -0
- package/dist/hooks/useClipboard.d.ts +19 -0
- package/dist/hooks/useClipboard.js +45 -0
- package/dist/hooks/useControlledOpenState.d.ts +21 -0
- package/dist/hooks/useControlledOpenState.js +19 -0
- package/dist/hooks/useControlledState.d.ts +19 -0
- package/dist/hooks/useControlledState.js +22 -0
- package/dist/hooks/useDebouncedValue.d.ts +14 -0
- package/dist/hooks/useDebouncedValue.js +33 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +36 -0
- package/dist/hooks/useDismiss.d.ts +23 -27
- package/dist/hooks/useDismiss.js +39 -27
- package/dist/hooks/useElementClientSize.d.ts +10 -10
- package/dist/hooks/useElementClientSize.js +8 -11
- package/dist/hooks/useElementWidth.d.ts +6 -13
- package/dist/hooks/useElementWidth.js +6 -14
- package/dist/hooks/useField.d.ts +47 -0
- package/dist/hooks/useField.js +40 -0
- package/dist/hooks/useHotkey.d.ts +77 -0
- package/dist/hooks/useHotkey.js +246 -0
- package/dist/hooks/useIsMac.d.ts +12 -0
- package/dist/hooks/useIsMac.js +27 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
- package/dist/hooks/useLocalStorage.d.ts +28 -0
- package/dist/hooks/useLocalStorage.js +145 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.js +23 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/usePrefersReducedMotion.js +25 -0
- package/dist/hooks/useResize.d.ts +42 -62
- package/dist/hooks/useResize.js +43 -31
- package/dist/icons/Icon.d.ts +64 -37
- package/dist/icons/Icon.js +96 -37
- package/dist/icons/internal/IconSlot.d.ts +10 -0
- package/dist/icons/internal/IconSlot.js +32 -0
- package/dist/inputs/CheckboxGroup.d.ts +115 -0
- package/dist/inputs/CheckboxGroup.js +183 -0
- package/dist/inputs/CheckboxInput.d.ts +98 -28
- package/dist/inputs/CheckboxInput.js +218 -88
- package/dist/inputs/ColorInput.d.ts +115 -29
- package/dist/inputs/ColorInput.js +748 -326
- package/dist/inputs/CopyInput.d.ts +49 -20
- package/dist/inputs/CopyInput.js +57 -49
- package/dist/inputs/CronInput.d.ts +94 -0
- package/dist/inputs/CronInput.js +618 -0
- package/dist/inputs/DateInput.d.ts +175 -28
- package/dist/inputs/DateInput.js +1109 -451
- package/dist/inputs/DurationInput.d.ts +101 -0
- package/dist/inputs/DurationInput.js +441 -0
- package/dist/inputs/Field.d.ts +75 -0
- package/dist/inputs/Field.js +247 -0
- package/dist/inputs/Fieldset.d.ts +53 -0
- package/dist/inputs/Fieldset.js +149 -0
- package/dist/inputs/FileInput.d.ts +110 -0
- package/dist/inputs/FileInput.js +476 -0
- package/dist/inputs/Input.d.ts +148 -187
- package/dist/inputs/Input.js +339 -259
- package/dist/inputs/KeyValueInput.d.ts +120 -0
- package/dist/inputs/KeyValueInput.js +383 -0
- package/dist/inputs/MultiSelectInput.d.ts +165 -54
- package/dist/inputs/MultiSelectInput.js +175 -559
- package/dist/inputs/NumberInput.d.ts +65 -9
- package/dist/inputs/NumberInput.js +197 -40
- package/dist/inputs/PasswordInput.d.ts +17 -12
- package/dist/inputs/PasswordInput.js +33 -33
- package/dist/inputs/PinInput.d.ts +117 -0
- package/dist/inputs/PinInput.js +364 -0
- package/dist/inputs/RadioGroup.d.ts +115 -0
- package/dist/inputs/RadioGroup.js +179 -0
- package/dist/inputs/RadioInput.d.ts +87 -24
- package/dist/inputs/RadioInput.js +182 -95
- package/dist/inputs/SearchInput.d.ts +66 -0
- package/dist/inputs/SearchInput.js +156 -0
- package/dist/inputs/SelectInput.d.ts +195 -55
- package/dist/inputs/SelectInput.js +1308 -446
- package/dist/inputs/SliderInput.d.ts +150 -30
- package/dist/inputs/SliderInput.js +441 -186
- package/dist/inputs/SwitchInput.d.ts +109 -0
- package/dist/inputs/SwitchInput.js +248 -0
- package/dist/inputs/TagInput.d.ts +117 -0
- package/dist/inputs/TagInput.js +408 -0
- package/dist/inputs/TextAreaInput.d.ts +146 -44
- package/dist/inputs/TextAreaInput.js +292 -198
- package/dist/inputs/TextInput.d.ts +4 -13
- package/dist/inputs/TextInput.js +13 -48
- package/dist/inputs/ToggleInput.d.ts +120 -22
- package/dist/inputs/ToggleInput.js +262 -116
- package/dist/inputs/internal/bareField.d.ts +18 -0
- package/dist/inputs/internal/bareField.js +38 -0
- package/dist/inputs/internal/devWarn.d.ts +7 -0
- package/dist/inputs/internal/devWarn.js +30 -0
- package/dist/inputs/internal/fieldFrame.d.ts +34 -0
- package/dist/inputs/internal/fieldFrame.js +64 -0
- package/dist/inputs/internal/fieldWiring.d.ts +50 -0
- package/dist/inputs/internal/fieldWiring.js +38 -0
- package/dist/inputs/internal/innerButton.d.ts +2 -0
- package/dist/inputs/internal/innerButton.js +24 -0
- package/dist/inputs/internal/ownField.d.ts +45 -0
- package/dist/inputs/internal/ownField.js +58 -0
- package/dist/inputs/internal/predicates.d.ts +9 -0
- package/dist/inputs/internal/predicates.js +11 -0
- package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
- package/dist/inputs/internal/useComboboxPopover.js +92 -0
- package/dist/json/JsonViewer.d.ts +62 -0
- package/dist/json/JsonViewer.js +483 -0
- package/dist/layout/Box.d.ts +87 -0
- package/dist/layout/Box.js +109 -0
- package/dist/layout/Divider.d.ts +25 -0
- package/dist/layout/Divider.js +70 -0
- package/dist/layout/Flex.d.ts +139 -0
- package/dist/layout/Flex.js +165 -0
- package/dist/layout/FlexItem.d.ts +72 -0
- package/dist/layout/FlexItem.js +84 -0
- package/dist/layout/Grid.d.ts +140 -0
- package/dist/layout/Grid.js +178 -0
- package/dist/layout/Portal.d.ts +29 -0
- package/dist/layout/Portal.js +27 -0
- package/dist/layout/ResizablePanels.d.ts +88 -0
- package/dist/layout/ResizablePanels.js +198 -0
- package/dist/layout/ResizeHandle.d.ts +48 -0
- package/dist/layout/ResizeHandle.js +143 -0
- package/dist/layout/ScrollArea.d.ts +30 -0
- package/dist/layout/ScrollArea.js +138 -0
- package/dist/links/Link.d.ts +101 -1
- package/dist/links/Link.js +166 -4
- package/dist/lists/BulletedList.d.ts +25 -7
- package/dist/lists/BulletedList.js +72 -27
- package/dist/lists/DescriptionList.d.ts +91 -0
- package/dist/lists/DescriptionList.js +147 -0
- package/dist/menu/ContextMenu.d.ts +64 -0
- package/dist/menu/ContextMenu.js +34 -0
- package/dist/menu/Menu.d.ts +280 -0
- package/dist/menu/Menu.js +1003 -0
- package/dist/modal/ConfirmDialog.d.ts +55 -0
- package/dist/modal/ConfirmDialog.js +151 -0
- package/dist/modal/Modal.d.ts +64 -14
- package/dist/modal/Modal.js +189 -48
- package/dist/navigation/Breadcrumbs.d.ts +65 -0
- package/dist/navigation/Breadcrumbs.js +243 -0
- package/dist/navigation/CommandPalette.d.ts +83 -0
- package/dist/navigation/CommandPalette.js +509 -0
- package/dist/navigation/Pagination.d.ts +87 -0
- package/dist/navigation/Pagination.js +300 -0
- package/dist/navigation/SidebarNav.d.ts +107 -0
- package/dist/navigation/SidebarNav.js +341 -0
- package/dist/navigation/Stepper.d.ts +52 -0
- package/dist/navigation/Stepper.js +207 -0
- package/dist/navigation/Tabs.d.ts +113 -0
- package/dist/navigation/Tabs.js +543 -0
- package/dist/navigation/Topbar.d.ts +20 -0
- package/dist/navigation/Topbar.js +62 -0
- package/dist/overlay/OverlayProvider.d.ts +28 -32
- package/dist/overlay/OverlayProvider.js +42 -93
- package/dist/overlay/useOverlay.d.ts +88 -12
- package/dist/overlay/useOverlay.js +220 -43
- package/dist/overlays/Popover.d.ts +114 -0
- package/dist/overlays/Popover.js +389 -0
- package/dist/shapes/Circle.d.ts +84 -8
- package/dist/shapes/Circle.js +122 -20
- package/dist/shapes/Square.d.ts +84 -8
- package/dist/shapes/Square.js +123 -20
- package/dist/styles/mixins.d.ts +35 -0
- package/dist/styles/mixins.js +60 -0
- package/dist/styles.css +1 -202
- package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
- package/dist/table/InfiniteSpreadsheet.js +762 -225
- package/dist/table/InfiniteTable.d.ts +116 -14
- package/dist/table/InfiniteTable.js +287 -429
- package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
- package/dist/table/SpreadsheetCellEditor.js +163 -84
- package/dist/table/TableCore.d.ts +252 -0
- package/dist/table/TableCore.js +1077 -0
- package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
- package/dist/table/VirtualizedInfiniteTable.js +280 -219
- package/dist/table/types.d.ts +66 -244
- package/dist/table/types.js +0 -51
- package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
- package/dist/table/useInfiniteScrollSentinel.js +38 -30
- package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
- package/dist/table/useSpreadsheetCellNavigation.js +141 -0
- package/dist/table/useTableColumnLayout.d.ts +90 -25
- package/dist/table/useTableColumnLayout.js +255 -50
- package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
- package/dist/table/useTableKeyboardNavigation.js +95 -71
- package/dist/table/useTableRowSelection.d.ts +24 -25
- package/dist/table/useTableRowSelection.js +57 -84
- package/dist/table/useTableVirtualizer.d.ts +20 -0
- package/dist/table/useTableVirtualizer.js +48 -0
- package/dist/text/Bold.d.ts +5 -6
- package/dist/text/Bold.js +16 -15
- package/dist/text/Code.d.ts +5 -6
- package/dist/text/Code.js +16 -25
- package/dist/text/CodeBlock.d.ts +77 -0
- package/dist/text/CodeBlock.js +373 -0
- package/dist/text/EditableText.d.ts +55 -15
- package/dist/text/EditableText.js +153 -135
- package/dist/text/Ellipsis.d.ts +34 -8
- package/dist/text/Ellipsis.js +55 -23
- package/dist/text/Kbd.d.ts +72 -0
- package/dist/text/Kbd.js +284 -0
- package/dist/text/MarkdownText.d.ts +27 -10
- package/dist/text/MarkdownText.js +317 -300
- package/dist/text/RequiredMarker.d.ts +17 -5
- package/dist/text/RequiredMarker.js +34 -36
- package/dist/text/Selectable.d.ts +5 -6
- package/dist/text/Selectable.js +16 -13
- package/dist/text/Span.d.ts +82 -0
- package/dist/text/Span.js +115 -0
- package/dist/text/Text.d.ts +128 -41
- package/dist/text/Text.js +209 -76
- package/dist/theme/GalaxyProvider.d.ts +75 -0
- package/dist/theme/GalaxyProvider.js +223 -0
- package/dist/theme/ThemeSwitcher.d.ts +52 -0
- package/dist/theme/ThemeSwitcher.js +94 -0
- package/dist/theme/enums.d.ts +118 -0
- package/dist/theme/enums.js +144 -0
- package/dist/theme/tokens/dark.d.ts +2 -0
- package/dist/theme/tokens/dark.js +275 -0
- package/dist/theme/tokens/generate.d.ts +15 -0
- package/dist/theme/tokens/generate.js +47 -0
- package/dist/theme/tokens/light.d.ts +2 -0
- package/dist/theme/tokens/light.js +274 -0
- package/dist/theme/tokens/palette.d.ts +14 -0
- package/dist/theme/tokens/palette.js +153 -0
- package/dist/theme/tokens/scales.d.ts +26 -0
- package/dist/theme/tokens/scales.js +154 -0
- package/dist/theme/tokens/t.d.ts +3 -0
- package/dist/theme/tokens/t.js +25 -0
- package/dist/theme/tokens/types.d.ts +189 -0
- package/dist/theme/tokens/types.js +0 -0
- package/dist/theme/useGalaxyTheme.d.ts +46 -0
- package/dist/theme/useGalaxyTheme.js +36 -0
- package/dist/theme/useInverseScope.d.ts +18 -0
- package/dist/theme/useInverseScope.js +33 -0
- package/dist/three/GalaxyLogomark3D.d.ts +46 -0
- package/dist/three/GalaxyLogomark3D.js +134 -0
- package/dist/three/assets/galaxy-logomark.js +4 -0
- package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
- package/dist/three/galaxyLogomark3DScene.js +165 -0
- package/dist/timeline/Timeline.d.ts +99 -0
- package/dist/timeline/Timeline.js +269 -0
- package/dist/toast/Toast.d.ts +43 -19
- package/dist/toast/Toast.js +130 -89
- package/dist/toast/ToastProvider.d.ts +23 -23
- package/dist/toast/ToastProvider.js +298 -101
- package/dist/toast/ToastViewport.d.ts +12 -0
- package/dist/toast/ToastViewport.js +210 -0
- package/dist/toast/useToast.d.ts +139 -5
- package/dist/toast/useToast.js +15 -13
- package/dist/tokens.css +654 -0
- package/dist/tooltip/Tooltip.d.ts +64 -44
- package/dist/tooltip/Tooltip.js +280 -73
- package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
- package/dist/tooltip/internal/LazyTooltip.js +53 -0
- package/dist/transform/Fade.d.ts +33 -11
- package/dist/transform/Fade.js +71 -19
- package/dist/transform/Flasher.d.ts +25 -0
- package/dist/transform/Flasher.js +39 -0
- package/dist/transform/Rotate.d.ts +24 -12
- package/dist/transform/Rotate.js +36 -22
- package/dist/transform/ScaleFade.d.ts +36 -11
- package/dist/transform/ScaleFade.js +86 -28
- package/dist/transform/internal/CollapseMotion.d.ts +10 -0
- package/dist/transform/internal/CollapseMotion.js +65 -0
- package/dist/tree/Tree.d.ts +85 -0
- package/dist/tree/Tree.js +387 -0
- package/dist/tree/treeRow.d.ts +39 -0
- package/dist/tree/treeRow.js +75 -0
- package/dist/utils/colors.d.ts +46 -13
- package/dist/utils/colors.js +92 -34
- package/dist/utils/css.d.ts +23 -0
- package/dist/utils/css.js +30 -0
- package/dist/utils/format.d.ts +58 -0
- package/dist/utils/format.js +220 -0
- package/dist/vite/index.d.ts +16 -0
- package/dist/vite/index.js +52 -0
- package/dist/widget/Widget.d.ts +164 -48
- package/dist/widget/Widget.js +335 -96
- package/dist/widget/WidgetGroup.d.ts +36 -0
- package/dist/widget/WidgetGroup.js +103 -0
- package/package.json +851 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -30
- package/dist/inputs/SwitcherInput.js +0 -81
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactElement, type ReactNode } from "react";
|
|
2
|
+
import { Placement } from "../theme/enums.js";
|
|
3
|
+
/** Panel fill: a surface step (Constitution V-A surface set, all four members). */
|
|
4
|
+
export declare enum PopoverVariant {
|
|
5
|
+
/** The canvas fill, `background.base`. The default (as in 1.x). */
|
|
6
|
+
BASE = "BASE",
|
|
7
|
+
/** A panel fill, `background.primary`. */
|
|
8
|
+
PRIMARY = "PRIMARY",
|
|
9
|
+
/** A raised fill, `background.secondary`. */
|
|
10
|
+
SECONDARY = "SECONDARY",
|
|
11
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
12
|
+
TERTIARY = "TERTIARY"
|
|
13
|
+
}
|
|
14
|
+
/** What opens the panel (mode set, declared here; 1.x `DropdownTrigger` plus `CONTEXT_MENU`). */
|
|
15
|
+
export declare enum PopoverTrigger {
|
|
16
|
+
/** Click, Enter or Space on the trigger toggles it. */
|
|
17
|
+
CLICK = "CLICK",
|
|
18
|
+
/** The pointer rests on the trigger (after `delay`), or the trigger gets keyboard focus. */
|
|
19
|
+
HOVER = "HOVER",
|
|
20
|
+
/** The trigger receives focus. */
|
|
21
|
+
FOCUS = "FOCUS",
|
|
22
|
+
/** Right-click (or the keyboard context-menu key) on the region; opens at the pointer. */
|
|
23
|
+
CONTEXT_MENU = "CONTEXT_MENU",
|
|
24
|
+
/** Nothing opens it; `isOpen` does (combobox hosts). */
|
|
25
|
+
MANUAL = "MANUAL"
|
|
26
|
+
}
|
|
27
|
+
/** The panel's role and the trigger's `aria-haspopup` (mode set, declared here). */
|
|
28
|
+
export declare enum PopoverRole {
|
|
29
|
+
/** `role="dialog"`, `aria-haspopup="dialog"`. The default. */
|
|
30
|
+
DIALOG = "DIALOG",
|
|
31
|
+
/** `role="menu"`, `aria-haspopup="menu"` (Menu, ContextMenu). */
|
|
32
|
+
MENU = "MENU",
|
|
33
|
+
/** `role="listbox"`, `aria-haspopup="listbox"` (SelectInput). */
|
|
34
|
+
LISTBOX = "LISTBOX"
|
|
35
|
+
}
|
|
36
|
+
export interface PopoverProps extends AriaAttributes {
|
|
37
|
+
/**
|
|
38
|
+
* The trigger: one element that forwards its `ref` and spreads props to a DOM element. Popover
|
|
39
|
+
* clones it and does not wrap it. With `CONTEXT_MENU` it is the region that is right-clicked.
|
|
40
|
+
*/
|
|
41
|
+
children: ReactElement;
|
|
42
|
+
/**
|
|
43
|
+
* Panel content. A string or number renders as `Text` with 12px padding; a node renders as it
|
|
44
|
+
* is, with no padding.
|
|
45
|
+
*/
|
|
46
|
+
body: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* What opens the panel: click, hover, focus, right-click, or nothing (`MANUAL`: only `isOpen`).
|
|
49
|
+
* @default PopoverTrigger.CLICK
|
|
50
|
+
*/
|
|
51
|
+
trigger?: PopoverTrigger;
|
|
52
|
+
/**
|
|
53
|
+
* Preferred side and alignment. The panel flips and shifts to stay in the viewport; `AUTO*`
|
|
54
|
+
* picks the side with the most room. With `CONTEXT_MENU` it is relative to the pointer.
|
|
55
|
+
* @default Placement.BOTTOM_START
|
|
56
|
+
*/
|
|
57
|
+
placement?: Placement;
|
|
58
|
+
/**
|
|
59
|
+
* Panel fill (surface step). Ignored when `hasSurface` is `false`.
|
|
60
|
+
* @default PopoverVariant.BASE
|
|
61
|
+
*/
|
|
62
|
+
variant?: PopoverVariant;
|
|
63
|
+
/**
|
|
64
|
+
* Draw the panel's fill and hairline. `false` draws neither, for content that brings its own
|
|
65
|
+
* surface (a host-drawn panel); radius, focus ring and scrolling stay. Defaults to `true`, the
|
|
66
|
+
* one boolean that does: a panel normally has a surface.
|
|
67
|
+
* @default true
|
|
68
|
+
*/
|
|
69
|
+
hasSurface?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* What the panel is to assistive tech, and the trigger's `aria-haspopup`. Menu and SelectInput
|
|
72
|
+
* set it; most callers leave it.
|
|
73
|
+
* @default PopoverRole.DIALOG
|
|
74
|
+
*/
|
|
75
|
+
role?: PopoverRole;
|
|
76
|
+
/**
|
|
77
|
+
* Make the panel exactly as wide as the trigger (select-style). Ignored with `CONTEXT_MENU`.
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
80
|
+
shouldMatchTriggerWidth?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* With `HOVER`: milliseconds the pointer must rest on the trigger before the panel opens.
|
|
83
|
+
* Ignored by the other triggers.
|
|
84
|
+
* @default 0
|
|
85
|
+
*/
|
|
86
|
+
delay?: number;
|
|
87
|
+
/** Controlled open state. When set, Popover calls `onOpenChange` and lets the caller decide. */
|
|
88
|
+
isOpen?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Initial open state while uncontrolled.
|
|
91
|
+
* @default false
|
|
92
|
+
*/
|
|
93
|
+
defaultIsOpen?: boolean;
|
|
94
|
+
/** Called with the requested open state on trigger interaction, Escape, outside press and focus leaving the panel. */
|
|
95
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
96
|
+
/**
|
|
97
|
+
* Never opens. The trigger renders exactly as when enabled, without the popup ARIA.
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
isDisabled?: boolean;
|
|
101
|
+
/** Accessible name of the panel. When omitted (and no `aria-labelledby` is passed), the panel is labelled by the trigger. */
|
|
102
|
+
ariaLabel?: string;
|
|
103
|
+
/** DOM id on the panel; the trigger's `aria-controls` target. @default a `useId()` value */
|
|
104
|
+
id?: string;
|
|
105
|
+
/** Any `data-*` attribute, forwarded to the panel. */
|
|
106
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
107
|
+
/** Extra class on the panel. */
|
|
108
|
+
className?: string;
|
|
109
|
+
/** Inline style on the panel; only for setting CSS custom properties. */
|
|
110
|
+
style?: CSSProperties;
|
|
111
|
+
}
|
|
112
|
+
/** An anchored panel for interactive content, opened from one trigger element. */
|
|
113
|
+
declare const Popover: import("react").ForwardRefExoticComponent<PopoverProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
114
|
+
export default Popover;
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
import { Placement } from "../theme/enums.js";
|
|
2
|
+
import Text from "../text/Text.js";
|
|
3
|
+
import { SPACE } from "../theme/tokens/scales.js";
|
|
4
|
+
import { useControlledOpenState } from "../hooks/useControlledOpenState.js";
|
|
5
|
+
import { PortalContainerContext } from "../theme/useGalaxyTheme.js";
|
|
6
|
+
import { OverlayLayer, useOverlay } from "../overlay/useOverlay.js";
|
|
7
|
+
import Box from "../layout/Box.js";
|
|
8
|
+
import { OverlayNode } from "../overlay/OverlayProvider.js";
|
|
9
|
+
import ScaleFade from "../transform/ScaleFade.js";
|
|
10
|
+
/* empty css */
|
|
11
|
+
import { styled } from "@linaria/react";
|
|
12
|
+
import { cloneElement, forwardRef, useCallback, useContext, useId, useReducer, useRef, useState, version } from "react";
|
|
13
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { cx } from "@linaria/core";
|
|
15
|
+
import { FloatingFocusManager, FloatingNode, FloatingPortal, FloatingTree, autoPlacement, autoUpdate, flip, hide, offset, safePolygon, shift, size, useClick, useDismiss, useFloating, useFloatingNodeId, useFloatingParentNodeId, useFocus, useHover, useInteractions, useMergeRefs, useRole } from "@floating-ui/react";
|
|
16
|
+
//#region src/overlays/Popover.tsx
|
|
17
|
+
/**
|
|
18
|
+
* The anchored panel: a surface that opens next to one trigger element, holds interactive content
|
|
19
|
+
* (a filter form, a hover card, a set of actions, a picker), and closes on Escape, an outside
|
|
20
|
+
* press, or when the trigger asks. The trigger is the single child: Popover clones it (adding the
|
|
21
|
+
* event handlers, the `ref` and the popup ARIA) instead of wrapping it, as Tooltip does.
|
|
22
|
+
*
|
|
23
|
+
* Positioning, interactions and non-modal focus come from `@floating-ui/react`. The computed
|
|
24
|
+
* `x`/`y` and the overlay stack's `zIndex` are written as custom properties on the positioner and
|
|
25
|
+
* read by static CSS. The panel enters and exits through `ScaleFade`, growing out of the trigger.
|
|
26
|
+
* Escape goes through the overlay stack (`useOverlay`), so it reaches only the topmost overlay.
|
|
27
|
+
*
|
|
28
|
+
* Popover has no slots and no padding: Dropdown, Menu, ContextMenu, SelectInput, DateInput and
|
|
29
|
+
* ColorInput are built on it and bring their own layout.
|
|
30
|
+
*
|
|
31
|
+
* SSR: only the trigger renders on the server. Nothing here touches `window` or `document` at
|
|
32
|
+
* module scope.
|
|
33
|
+
*/
|
|
34
|
+
/** Panel fill: a surface step (Constitution V-A surface set, all four members). */
|
|
35
|
+
var PopoverVariant = /* @__PURE__ */ function(PopoverVariant) {
|
|
36
|
+
/** The canvas fill, `background.base`. The default (as in 1.x). */
|
|
37
|
+
PopoverVariant["BASE"] = "BASE";
|
|
38
|
+
/** A panel fill, `background.primary`. */
|
|
39
|
+
PopoverVariant["PRIMARY"] = "PRIMARY";
|
|
40
|
+
/** A raised fill, `background.secondary`. */
|
|
41
|
+
PopoverVariant["SECONDARY"] = "SECONDARY";
|
|
42
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
43
|
+
PopoverVariant["TERTIARY"] = "TERTIARY";
|
|
44
|
+
return PopoverVariant;
|
|
45
|
+
}({});
|
|
46
|
+
/** What opens the panel (mode set, declared here; 1.x `DropdownTrigger` plus `CONTEXT_MENU`). */
|
|
47
|
+
var PopoverTrigger = /* @__PURE__ */ function(PopoverTrigger) {
|
|
48
|
+
/** Click, Enter or Space on the trigger toggles it. */
|
|
49
|
+
PopoverTrigger["CLICK"] = "CLICK";
|
|
50
|
+
/** The pointer rests on the trigger (after `delay`), or the trigger gets keyboard focus. */
|
|
51
|
+
PopoverTrigger["HOVER"] = "HOVER";
|
|
52
|
+
/** The trigger receives focus. */
|
|
53
|
+
PopoverTrigger["FOCUS"] = "FOCUS";
|
|
54
|
+
/** Right-click (or the keyboard context-menu key) on the region; opens at the pointer. */
|
|
55
|
+
PopoverTrigger["CONTEXT_MENU"] = "CONTEXT_MENU";
|
|
56
|
+
/** Nothing opens it; `isOpen` does (combobox hosts). */
|
|
57
|
+
PopoverTrigger["MANUAL"] = "MANUAL";
|
|
58
|
+
return PopoverTrigger;
|
|
59
|
+
}({});
|
|
60
|
+
/** The panel's role and the trigger's `aria-haspopup` (mode set, declared here). */
|
|
61
|
+
var PopoverRole = /* @__PURE__ */ function(PopoverRole) {
|
|
62
|
+
/** `role="dialog"`, `aria-haspopup="dialog"`. The default. */
|
|
63
|
+
PopoverRole["DIALOG"] = "DIALOG";
|
|
64
|
+
/** `role="menu"`, `aria-haspopup="menu"` (Menu, ContextMenu). */
|
|
65
|
+
PopoverRole["MENU"] = "MENU";
|
|
66
|
+
/** `role="listbox"`, `aria-haspopup="listbox"` (SelectInput). */
|
|
67
|
+
PopoverRole["LISTBOX"] = "LISTBOX";
|
|
68
|
+
return PopoverRole;
|
|
69
|
+
}({});
|
|
70
|
+
/** Gap between the trigger and the panel, and the viewport inset, resolved to numbers for the engine. */
|
|
71
|
+
var POPOVER_OFFSET_PX = Number.parseFloat(SPACE[4]);
|
|
72
|
+
var POPOVER_VIEWPORT_PADDING_PX = Number.parseFloat(SPACE[8]);
|
|
73
|
+
/** `Placement` → the engine: 12 sided placements, and `AUTO*` as `autoPlacement` (replacing `flip`). */
|
|
74
|
+
var POPOVER_PLACEMENT_TO_FLOATING_PLACEMENT_MAP = {
|
|
75
|
+
[Placement.TOP]: { placement: "top" },
|
|
76
|
+
[Placement.BOTTOM]: { placement: "bottom" },
|
|
77
|
+
[Placement.LEFT]: { placement: "left" },
|
|
78
|
+
[Placement.RIGHT]: { placement: "right" },
|
|
79
|
+
[Placement.TOP_START]: { placement: "top-start" },
|
|
80
|
+
[Placement.TOP_END]: { placement: "top-end" },
|
|
81
|
+
[Placement.BOTTOM_START]: { placement: "bottom-start" },
|
|
82
|
+
[Placement.BOTTOM_END]: { placement: "bottom-end" },
|
|
83
|
+
[Placement.LEFT_START]: { placement: "left-start" },
|
|
84
|
+
[Placement.LEFT_END]: { placement: "left-end" },
|
|
85
|
+
[Placement.RIGHT_START]: { placement: "right-start" },
|
|
86
|
+
[Placement.RIGHT_END]: { placement: "right-end" },
|
|
87
|
+
[Placement.AUTO]: { autoAlignment: void 0 },
|
|
88
|
+
[Placement.AUTO_START]: { autoAlignment: "start" },
|
|
89
|
+
[Placement.AUTO_END]: { autoAlignment: "end" }
|
|
90
|
+
};
|
|
91
|
+
/** The engine's resolved placement (after flip) → the matching sided `Placement` member. */
|
|
92
|
+
var FLOATING_PLACEMENT_TO_PLACEMENT_MAP = {
|
|
93
|
+
top: Placement.TOP,
|
|
94
|
+
bottom: Placement.BOTTOM,
|
|
95
|
+
left: Placement.LEFT,
|
|
96
|
+
right: Placement.RIGHT,
|
|
97
|
+
"top-start": Placement.TOP_START,
|
|
98
|
+
"top-end": Placement.TOP_END,
|
|
99
|
+
"bottom-start": Placement.BOTTOM_START,
|
|
100
|
+
"bottom-end": Placement.BOTTOM_END,
|
|
101
|
+
"left-start": Placement.LEFT_START,
|
|
102
|
+
"left-end": Placement.LEFT_END,
|
|
103
|
+
"right-start": Placement.RIGHT_START,
|
|
104
|
+
"right-end": Placement.RIGHT_END
|
|
105
|
+
};
|
|
106
|
+
/** `PopoverRole` → the engine's `useRole` role (logic, not CSS). */
|
|
107
|
+
var POPOVER_ROLE_TO_FLOATING_ROLE_MAP = {
|
|
108
|
+
["DIALOG"]: "dialog",
|
|
109
|
+
["MENU"]: "menu",
|
|
110
|
+
["LISTBOX"]: "listbox"
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* The resolved placement → ScaleFade's `transform-origin` (the ScaleFade host contract), on the
|
|
114
|
+
* edge that faces the trigger. The `AUTO*` entries never resolve at runtime; the `Record` is
|
|
115
|
+
* exhaustive.
|
|
116
|
+
*/
|
|
117
|
+
var POPOVER_PLACEMENT_TO_TRANSFORM_ORIGIN_MAP = {
|
|
118
|
+
[Placement.TOP]: "gx-Popover-Placement_TOP-p1yvjfp0",
|
|
119
|
+
[Placement.BOTTOM]: "gx-Popover-Placement_BOTTOM-pwlcd4n",
|
|
120
|
+
[Placement.LEFT]: "gx-Popover-Placement_LEFT-p18tkktd",
|
|
121
|
+
[Placement.RIGHT]: "gx-Popover-Placement_RIGHT-p4a12jv",
|
|
122
|
+
[Placement.TOP_START]: "gx-Popover-Placement_TOP_START-pjnmget",
|
|
123
|
+
[Placement.TOP_END]: "gx-Popover-Placement_TOP_END-p2hbin6",
|
|
124
|
+
[Placement.BOTTOM_START]: "gx-Popover-Placement_BOTTOM_START-pfmlxvc",
|
|
125
|
+
[Placement.BOTTOM_END]: "gx-Popover-Placement_BOTTOM_END-p1la2k9h",
|
|
126
|
+
[Placement.LEFT_START]: "gx-Popover-Placement_LEFT_START-pdik70u",
|
|
127
|
+
[Placement.LEFT_END]: "gx-Popover-Placement_LEFT_END-p1pbd719",
|
|
128
|
+
[Placement.RIGHT_START]: "gx-Popover-Placement_RIGHT_START-pb7wca0",
|
|
129
|
+
[Placement.RIGHT_END]: "gx-Popover-Placement_RIGHT_END-pc20w2h",
|
|
130
|
+
[Placement.AUTO]: "gx-Popover-Placement_AUTO-p10li10o",
|
|
131
|
+
[Placement.AUTO_START]: "gx-Popover-Placement_AUTO_START-p1mpbi15",
|
|
132
|
+
[Placement.AUTO_END]: "gx-Popover-Placement_AUTO_END-p10ruo79"
|
|
133
|
+
};
|
|
134
|
+
/** The floating element: positioned by the engine through custom properties. */
|
|
135
|
+
var Positioner = /*#__PURE__*/ styled("div")({
|
|
136
|
+
name: "Positioner",
|
|
137
|
+
class: "gx-Popover-Positioner-p1bj6g5f",
|
|
138
|
+
propsAsIs: false
|
|
139
|
+
});
|
|
140
|
+
/** The surface: fill, hairline, radius; no padding. */
|
|
141
|
+
var Panel = /*#__PURE__*/ styled("div")({
|
|
142
|
+
name: "Panel",
|
|
143
|
+
class: "gx-Popover-Panel-ps6yk73",
|
|
144
|
+
propsAsIs: false
|
|
145
|
+
});
|
|
146
|
+
/** Panel fill per surface step; the hairline comes from the panel. */
|
|
147
|
+
var POPOVER_VARIANT_TO_CSS_MAP = {
|
|
148
|
+
["BASE"]: "gx-Popover-BASE-b2873uo",
|
|
149
|
+
["PRIMARY"]: "gx-Popover-PRIMARY-pa776er",
|
|
150
|
+
["SECONDARY"]: "gx-Popover-SECONDARY-s1afmqx4",
|
|
151
|
+
["TERTIARY"]: "gx-Popover-TERTIARY-tdu5hku"
|
|
152
|
+
};
|
|
153
|
+
/** `hasSurface={false}`: no fill and a transparent hairline. Replaces the variant class. */
|
|
154
|
+
var NO_SURFACE_CSS = "gx-Popover-NO_SURFACE_CSS-n1lgpldq";
|
|
155
|
+
/** `shouldMatchTriggerWidth`: exactly as wide as the trigger. */
|
|
156
|
+
var MATCH_TRIGGER_WIDTH_CSS = "gx-Popover-MATCH_TRIGGER_WIDTH_CSS-mgy0n2s";
|
|
157
|
+
/** Closed (the exit, if any, still shows: ScaleFade's root sets its own visibility). */
|
|
158
|
+
var CLOSED_CSS = "gx-Popover-CLOSED_CSS-c17lvfn2";
|
|
159
|
+
/**
|
|
160
|
+
* Not positioned yet, or the trigger scrolled fully out of view. Clipped rather than
|
|
161
|
+
* `visibility: hidden`, because ScaleFade's root sets `visibility: visible` inline, which an
|
|
162
|
+
* ancestor's `hidden` cannot override; a clip hides the descendants and their hit area.
|
|
163
|
+
*/
|
|
164
|
+
var REFERENCE_HIDDEN_CSS = "gx-Popover-REFERENCE_HIDDEN_CSS-r1gfapfk";
|
|
165
|
+
/** React 19 moved an element's `ref` into `props`; React 18 keeps it on the element. */
|
|
166
|
+
var IS_REACT_19 = Number.parseInt(version, 10) >= 19;
|
|
167
|
+
/** The child's own ref, read where the running React version keeps it, so neither version warns. */
|
|
168
|
+
function getElementRef(element) {
|
|
169
|
+
return (IS_REACT_19 ? element.props : element).ref;
|
|
170
|
+
}
|
|
171
|
+
/** Rounds to the device pixel grid so the translated panel's content stays sharp. */
|
|
172
|
+
function roundToDevicePixel(value) {
|
|
173
|
+
const ratio = typeof window === "undefined" ? 1 : window.devicePixelRatio || 1;
|
|
174
|
+
return Math.round(value * ratio) / ratio;
|
|
175
|
+
}
|
|
176
|
+
/** A zero-size point at viewport coordinates: the context menu's anchor. */
|
|
177
|
+
function pointReference(x, y) {
|
|
178
|
+
return { getBoundingClientRect: () => ({
|
|
179
|
+
x,
|
|
180
|
+
y,
|
|
181
|
+
width: 0,
|
|
182
|
+
height: 0,
|
|
183
|
+
top: y,
|
|
184
|
+
left: x,
|
|
185
|
+
right: x,
|
|
186
|
+
bottom: y
|
|
187
|
+
}) };
|
|
188
|
+
}
|
|
189
|
+
/** A control frame that positions popovers opened from an element inside it (Input's frame). */
|
|
190
|
+
var ANCHOR_SELECTOR = "[data-gx-anchor]";
|
|
191
|
+
/** The engine's trigger ARIA that Popover sets itself (`id`) or leaves to the host (`role`). */
|
|
192
|
+
var OWN_REFERENCE_KEYS = new Set([
|
|
193
|
+
"id",
|
|
194
|
+
"role",
|
|
195
|
+
"aria-controls"
|
|
196
|
+
]);
|
|
197
|
+
/** One popover inside a `FloatingTree` (its own, or an enclosing popover's). */
|
|
198
|
+
function PopoverRoot({ children, body, trigger = "CLICK", placement = Placement.BOTTOM_START, variant = "BASE", hasSurface = true, role = "DIALOG", shouldMatchTriggerWidth = false, delay = 0, isOpen: isOpenProp, defaultIsOpen = false, onOpenChange, isDisabled = false, ariaLabel, id, className, style, panelRef, ...rest }) {
|
|
199
|
+
const nodeId = useFloatingNodeId();
|
|
200
|
+
const generatedPanelId = useId();
|
|
201
|
+
const panelId = id ?? generatedPanelId;
|
|
202
|
+
const generatedTriggerId = useId();
|
|
203
|
+
const portalContainer = useContext(PortalContainerContext);
|
|
204
|
+
const isEnabled = !isDisabled;
|
|
205
|
+
const isContextMenu = trigger === "CONTEXT_MENU";
|
|
206
|
+
const { isOpen, setOpen } = useControlledOpenState({
|
|
207
|
+
isOpen: isOpenProp,
|
|
208
|
+
defaultIsOpen,
|
|
209
|
+
onOpenChange
|
|
210
|
+
});
|
|
211
|
+
const isShown = isOpen && isEnabled;
|
|
212
|
+
const [hasOpened, setHasOpened] = useState(isShown);
|
|
213
|
+
if (isShown && !hasOpened) setHasOpened(true);
|
|
214
|
+
const [isOpenOnFirstRender] = useState(isShown);
|
|
215
|
+
const isShownRef = useRef(isShown);
|
|
216
|
+
isShownRef.current = isShown;
|
|
217
|
+
const setOpenRef = useRef(setOpen);
|
|
218
|
+
setOpenRef.current = setOpen;
|
|
219
|
+
/** Re-renders this popover, so `isShownRef` is reset to the real state after every request. */
|
|
220
|
+
const [, rerender] = useReducer((count) => count + 1, 0);
|
|
221
|
+
const handleOpenChange = useCallback((nextIsOpen) => {
|
|
222
|
+
if (nextIsOpen === isShownRef.current) return;
|
|
223
|
+
isShownRef.current = nextIsOpen;
|
|
224
|
+
setOpenRef.current(nextIsOpen);
|
|
225
|
+
rerender();
|
|
226
|
+
}, []);
|
|
227
|
+
const close = useCallback(() => handleOpenChange(false), [handleOpenChange]);
|
|
228
|
+
const { zIndex, overlayId } = useOverlay({
|
|
229
|
+
isOpen: isShown,
|
|
230
|
+
layer: OverlayLayer.DROPDOWN,
|
|
231
|
+
onEscape: close
|
|
232
|
+
});
|
|
233
|
+
const target = POPOVER_PLACEMENT_TO_FLOATING_PLACEMENT_MAP[placement];
|
|
234
|
+
const { refs, context, x, y, middlewareData, isPositioned, placement: resolved } = useFloating({
|
|
235
|
+
nodeId,
|
|
236
|
+
open: isShown,
|
|
237
|
+
onOpenChange: handleOpenChange,
|
|
238
|
+
placement: "placement" in target ? target.placement : "bottom",
|
|
239
|
+
strategy: "absolute",
|
|
240
|
+
whileElementsMounted: autoUpdate,
|
|
241
|
+
middleware: [
|
|
242
|
+
offset(POPOVER_OFFSET_PX),
|
|
243
|
+
"placement" in target ? flip() : autoPlacement({ alignment: target.autoAlignment }),
|
|
244
|
+
shift({ padding: POPOVER_VIEWPORT_PADDING_PX }),
|
|
245
|
+
size({
|
|
246
|
+
padding: POPOVER_VIEWPORT_PADDING_PX,
|
|
247
|
+
apply({ rects, availableHeight, elements }) {
|
|
248
|
+
elements.floating.style.setProperty("--gx-popover-trigger-width", `${rects.reference.width}px`);
|
|
249
|
+
elements.floating.style.setProperty("--gx-popover-available-height", `${Math.max(0, availableHeight)}px`);
|
|
250
|
+
}
|
|
251
|
+
}),
|
|
252
|
+
...isContextMenu ? [] : [hide()]
|
|
253
|
+
]
|
|
254
|
+
});
|
|
255
|
+
const { getReferenceProps, getFloatingProps } = useInteractions([
|
|
256
|
+
useClick(context, { enabled: isEnabled && trigger === "CLICK" }),
|
|
257
|
+
useHover(context, {
|
|
258
|
+
enabled: isEnabled && trigger === "HOVER",
|
|
259
|
+
mouseOnly: true,
|
|
260
|
+
delay: {
|
|
261
|
+
open: delay,
|
|
262
|
+
close: 0
|
|
263
|
+
},
|
|
264
|
+
handleClose: safePolygon()
|
|
265
|
+
}),
|
|
266
|
+
useFocus(context, {
|
|
267
|
+
enabled: isEnabled && (trigger === "HOVER" || trigger === "FOCUS"),
|
|
268
|
+
visibleOnly: trigger === "HOVER"
|
|
269
|
+
}),
|
|
270
|
+
useDismiss(context, {
|
|
271
|
+
enabled: isEnabled,
|
|
272
|
+
escapeKey: false,
|
|
273
|
+
outsidePress: true,
|
|
274
|
+
referencePress: false,
|
|
275
|
+
bubbles: { outsidePress: true }
|
|
276
|
+
}),
|
|
277
|
+
useRole(context, {
|
|
278
|
+
enabled: isEnabled && !isContextMenu,
|
|
279
|
+
role: POPOVER_ROLE_TO_FLOATING_ROLE_MAP[role]
|
|
280
|
+
})
|
|
281
|
+
]);
|
|
282
|
+
const childProps = children.props;
|
|
283
|
+
const ownTriggerId = typeof childProps.id === "string" ? childProps.id : void 0;
|
|
284
|
+
/**
|
|
285
|
+
* Positions against the trigger's control frame when it sits in one (`[data-gx-anchor]`, e.g.
|
|
286
|
+
* the Input frame around its `<input>`); events, focus and ARIA stay on the trigger itself.
|
|
287
|
+
*/
|
|
288
|
+
const anchorRef = useCallback((node) => {
|
|
289
|
+
if (node === null || isContextMenu) return;
|
|
290
|
+
const anchor = node.closest(ANCHOR_SELECTOR);
|
|
291
|
+
if (anchor !== null && anchor !== node) refs.setPositionReference(anchor);
|
|
292
|
+
}, [refs, isContextMenu]);
|
|
293
|
+
const triggerRef = useMergeRefs([
|
|
294
|
+
refs.setReference,
|
|
295
|
+
anchorRef,
|
|
296
|
+
getElementRef(children)
|
|
297
|
+
]);
|
|
298
|
+
/** Right-click opens at the pointer; a keyboard context menu (0, 0) anchors to the region. */
|
|
299
|
+
const handleContextMenu = (event) => {
|
|
300
|
+
if (!isEnabled || event.defaultPrevented) return;
|
|
301
|
+
event.preventDefault();
|
|
302
|
+
const region = event.currentTarget;
|
|
303
|
+
refs.setPositionReference(event.clientX === 0 && event.clientY === 0 ? region : pointReference(event.clientX, event.clientY));
|
|
304
|
+
if (!isShownRef.current) handleOpenChange(true);
|
|
305
|
+
};
|
|
306
|
+
const engineProps = isEnabled ? { ...getReferenceProps() } : {};
|
|
307
|
+
if (isContextMenu) engineProps.onContextMenu = handleContextMenu;
|
|
308
|
+
const triggerProps = {};
|
|
309
|
+
for (const [key, value] of Object.entries(engineProps)) {
|
|
310
|
+
if (OWN_REFERENCE_KEYS.has(key)) continue;
|
|
311
|
+
const own = childProps[key];
|
|
312
|
+
triggerProps[key] = typeof value === "function" && typeof own === "function" ? (...args) => {
|
|
313
|
+
own(...args);
|
|
314
|
+
value(...args);
|
|
315
|
+
} : value;
|
|
316
|
+
}
|
|
317
|
+
if (isEnabled && !isContextMenu) triggerProps["aria-controls"] = isShown ? panelId : void 0;
|
|
318
|
+
const triggerElement = cloneElement(children, {
|
|
319
|
+
...triggerProps,
|
|
320
|
+
ref: triggerRef,
|
|
321
|
+
id: ownTriggerId ?? generatedTriggerId
|
|
322
|
+
});
|
|
323
|
+
const labelledBy = context.elements.domReference?.id || ownTriggerId || generatedTriggerId;
|
|
324
|
+
const { "aria-labelledby": _engineLabelledBy, ...floatingProps } = getFloatingProps();
|
|
325
|
+
const labelling = rest["aria-labelledby"] !== void 0 ? {} : ariaLabel !== void 0 ? { "aria-label": ariaLabel } : { "aria-labelledby": labelledBy };
|
|
326
|
+
const resolvedPlacement = FLOATING_PLACEMENT_TO_PLACEMENT_MAP[resolved];
|
|
327
|
+
const isReferenceHidden = !isContextMenu && middlewareData.hide?.referenceHidden === true;
|
|
328
|
+
const position = {
|
|
329
|
+
"--gx-popover-x": `${roundToDevicePixel(x)}px`,
|
|
330
|
+
"--gx-popover-y": `${roundToDevicePixel(y)}px`,
|
|
331
|
+
"--gx-popover-z": zIndex
|
|
332
|
+
};
|
|
333
|
+
const content = typeof body === "string" || typeof body === "number" ? /* @__PURE__ */ jsx(Box, {
|
|
334
|
+
padding: 12,
|
|
335
|
+
children: /* @__PURE__ */ jsx(Text, { children: body })
|
|
336
|
+
}) : body;
|
|
337
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [triggerElement, /* @__PURE__ */ jsx(FloatingNode, {
|
|
338
|
+
id: nodeId,
|
|
339
|
+
children: hasOpened && /* @__PURE__ */ jsx(FloatingPortal, {
|
|
340
|
+
...portalContainer === void 0 ? {} : { root: portalContainer },
|
|
341
|
+
children: /* @__PURE__ */ jsx(OverlayNode, {
|
|
342
|
+
overlayId,
|
|
343
|
+
children: /* @__PURE__ */ jsx(FloatingFocusManager, {
|
|
344
|
+
context,
|
|
345
|
+
disabled: !isShown,
|
|
346
|
+
modal: false,
|
|
347
|
+
initialFocus: trigger === "CLICK" || isContextMenu ? 0 : -1,
|
|
348
|
+
returnFocus: true,
|
|
349
|
+
closeOnFocusOut: trigger !== "MANUAL",
|
|
350
|
+
children: /* @__PURE__ */ jsx(Positioner, {
|
|
351
|
+
ref: isShown ? refs.setFloating : void 0,
|
|
352
|
+
className: cx(!isShown && CLOSED_CSS, isShown && (!isPositioned || isReferenceHidden) && REFERENCE_HIDDEN_CSS),
|
|
353
|
+
style: position,
|
|
354
|
+
children: /* @__PURE__ */ jsx(ScaleFade, {
|
|
355
|
+
isOpen: isShown,
|
|
356
|
+
shouldAnimateOnMount: !isOpenOnFirstRender,
|
|
357
|
+
className: POPOVER_PLACEMENT_TO_TRANSFORM_ORIGIN_MAP[resolvedPlacement],
|
|
358
|
+
children: /* @__PURE__ */ jsx(Panel, {
|
|
359
|
+
...floatingProps,
|
|
360
|
+
...labelling,
|
|
361
|
+
...rest,
|
|
362
|
+
ref: panelRef,
|
|
363
|
+
id: panelId,
|
|
364
|
+
role: POPOVER_ROLE_TO_FLOATING_ROLE_MAP[role],
|
|
365
|
+
className: cx(hasSurface ? POPOVER_VARIANT_TO_CSS_MAP[variant] : NO_SURFACE_CSS, shouldMatchTriggerWidth && !isContextMenu && MATCH_TRIGGER_WIDTH_CSS, className),
|
|
366
|
+
style,
|
|
367
|
+
children: content
|
|
368
|
+
})
|
|
369
|
+
})
|
|
370
|
+
})
|
|
371
|
+
})
|
|
372
|
+
})
|
|
373
|
+
})
|
|
374
|
+
})] });
|
|
375
|
+
}
|
|
376
|
+
/** An anchored panel for interactive content, opened from one trigger element. */
|
|
377
|
+
var Popover = forwardRef(function Popover(props, ref) {
|
|
378
|
+
if (useFloatingParentNodeId() === null) return /* @__PURE__ */ jsx(FloatingTree, { children: /* @__PURE__ */ jsx(PopoverRoot, {
|
|
379
|
+
...props,
|
|
380
|
+
panelRef: ref
|
|
381
|
+
}) });
|
|
382
|
+
return /* @__PURE__ */ jsx(PopoverRoot, {
|
|
383
|
+
...props,
|
|
384
|
+
panelRef: ref
|
|
385
|
+
});
|
|
386
|
+
});
|
|
387
|
+
Popover.displayName = "Popover";
|
|
388
|
+
//#endregion
|
|
389
|
+
export { PopoverRole, PopoverTrigger, PopoverVariant, Popover as default };
|
package/dist/shapes/Circle.d.ts
CHANGED
|
@@ -1,9 +1,85 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties } from "react";
|
|
2
|
+
import type { Hex, PaletteColor } from "../theme/tokens/types.js";
|
|
3
|
+
/** Canonical rungs; the member names the rung of the text the dot sits beside. */
|
|
4
|
+
export declare enum CircleSize {
|
|
5
|
+
/** 6px, beside `caption` (12px line). */
|
|
6
|
+
X_SMALL = "X_SMALL",
|
|
7
|
+
/** 8px, beside `body_sm` (16px line). */
|
|
8
|
+
SMALL = "SMALL",
|
|
9
|
+
/** 10px, beside `body_md` (16px line). The default. */
|
|
10
|
+
MEDIUM = "MEDIUM",
|
|
11
|
+
/** 10px, beside `body_lg` (20px line). */
|
|
12
|
+
LARGE = "LARGE",
|
|
13
|
+
/** 12px, beside `body_lg` (20px line). */
|
|
14
|
+
X_LARGE = "X_LARGE"
|
|
15
|
+
}
|
|
16
|
+
/** Fill color role (Constitution V-A color set). Resolves to `color.text.*`. */
|
|
17
|
+
export declare enum CircleVariant {
|
|
18
|
+
/** `text.primary`. */
|
|
19
|
+
PRIMARY = "PRIMARY",
|
|
20
|
+
/** `text.secondary`. */
|
|
21
|
+
SECONDARY = "SECONDARY",
|
|
22
|
+
/** `text.tertiary`. The default (the 1.x fill). */
|
|
23
|
+
TERTIARY = "TERTIARY",
|
|
24
|
+
/** `text.disabled`. */
|
|
25
|
+
DISABLED = "DISABLED",
|
|
26
|
+
/** The parent's color (`currentColor`). */
|
|
27
|
+
INHERIT = "INHERIT",
|
|
28
|
+
/** Status: success, `text.success`. */
|
|
29
|
+
SUCCESS = "SUCCESS",
|
|
30
|
+
/** Status: warning, `text.warning`. */
|
|
31
|
+
WARNING = "WARNING",
|
|
32
|
+
/** Status: error, `text.error`. */
|
|
33
|
+
ERROR = "ERROR"
|
|
34
|
+
}
|
|
35
|
+
interface CircleBaseProps extends AriaAttributes {
|
|
36
|
+
/**
|
|
37
|
+
* The rung of the text the dot sits beside. Diameter 6 / 8 / 10 / 10 / 12px for `X_SMALL` …
|
|
38
|
+
* `X_LARGE`.
|
|
39
|
+
* @default CircleSize.MEDIUM
|
|
40
|
+
*/
|
|
41
|
+
size?: CircleSize;
|
|
42
|
+
/** Raw fill color for data-driven colors (chart series, user categories). Discouraged otherwise: it does not follow the theme. Overrides `variant` and `color`. */
|
|
43
|
+
hex?: Hex;
|
|
44
|
+
/** Accessible name when the dot carries meaning on its own; without it the dot is decorative (`aria-hidden`). */
|
|
45
|
+
ariaLabel?: string;
|
|
46
|
+
/** DOM id on the root `<span>`. */
|
|
47
|
+
id?: string;
|
|
48
|
+
/** Any `data-*` attribute, forwarded to the root `<span>`. */
|
|
49
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
50
|
+
/** Extra class on the root `<span>`. */
|
|
51
|
+
className?: string;
|
|
52
|
+
/** Inline style on the root `<span>`; only for setting CSS custom properties. */
|
|
53
|
+
style?: CSSProperties;
|
|
54
|
+
}
|
|
55
|
+
/** A dot colored by meaning (`variant`), or the default `TERTIARY`. */
|
|
56
|
+
interface CircleVariantProps {
|
|
57
|
+
/**
|
|
58
|
+
* Fill color role: a neutral step or a status, following the theme. `INHERIT` fills
|
|
59
|
+
* with the parent's `currentColor`. Not with `color`.
|
|
60
|
+
* @default CircleVariant.TERTIARY
|
|
61
|
+
*/
|
|
62
|
+
variant?: CircleVariant;
|
|
63
|
+
/** Categorical palette family. Not with `variant`. */
|
|
64
|
+
color?: undefined;
|
|
65
|
+
}
|
|
66
|
+
/** A dot colored by category (`color`). */
|
|
67
|
+
interface CircleColorProps {
|
|
68
|
+
/**
|
|
69
|
+
* Fill color role: a neutral step or a status, following the theme. `INHERIT` fills
|
|
70
|
+
* with the parent's `currentColor`. Not with `color`.
|
|
71
|
+
* @default CircleVariant.TERTIARY
|
|
72
|
+
*/
|
|
73
|
+
variant?: undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Categorical palette family (`"blue"`, `"violet"`, …): fills with `text.<family>`, the way a
|
|
76
|
+
* status variant renders. For categories (a series, a source type); meanings take `variant`.
|
|
77
|
+
* Not with `variant`.
|
|
78
|
+
*/
|
|
79
|
+
color: PaletteColor;
|
|
80
|
+
}
|
|
81
|
+
/** Circle props. Passing both `variant` and `color` is a type error. */
|
|
82
|
+
export type CircleProps = CircleBaseProps & (CircleVariantProps | CircleColorProps);
|
|
83
|
+
/** A filled dot beside a label; its color is a role (`variant`), a category (`color`) or data (`hex`). */
|
|
84
|
+
declare const Circle: import("react").ForwardRefExoticComponent<CircleProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
9
85
|
export default Circle;
|