@galaxy-io/dls 1.6.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -50
- package/biome/index.json +74 -0
- package/biome/plugins/no-hex-literal.grit +20 -0
- package/biome/plugins/no-inline-style.grit +13 -0
- package/biome/plugins/no-margin.grit +9 -0
- package/biome/plugins/warn/no-hex-literal.grit +23 -0
- package/biome/plugins/warn/no-inline-style.grit +13 -0
- package/biome/plugins/warn/no-margin.grit +9 -0
- package/dist/a11y/FocusScope.d.ts +44 -0
- package/dist/a11y/FocusScope.js +229 -0
- package/dist/a11y/VisuallyHidden.d.ts +21 -0
- package/dist/a11y/VisuallyHidden.js +30 -0
- package/dist/avatar/Avatar.d.ts +56 -14
- package/dist/avatar/Avatar.js +250 -96
- package/dist/avatar/AvatarGroup.d.ts +43 -0
- package/dist/avatar/AvatarGroup.js +153 -0
- package/dist/backgrounds/GridBackground.d.ts +48 -0
- package/dist/backgrounds/GridBackground.js +146 -0
- package/dist/beacons/Beacon.d.ts +86 -22
- package/dist/beacons/Beacon.js +170 -47
- package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
- package/dist/brand/GalaxyFilamentWordmark.js +39 -0
- package/dist/brand/GalaxyLogomark.d.ts +26 -0
- package/dist/brand/GalaxyLogomark.js +41 -0
- package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
- package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
- package/dist/brand/GalaxyWordmark.d.ts +30 -0
- package/dist/brand/GalaxyWordmark.js +63 -0
- package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
- package/dist/brand/brandMark.d.ts +26 -0
- package/dist/brand/brandMark.js +35 -0
- package/dist/buttons/Button.d.ts +148 -59
- package/dist/buttons/Button.js +437 -227
- package/dist/buttons/ButtonGroup.d.ts +38 -0
- package/dist/buttons/ButtonGroup.js +68 -0
- package/dist/buttons/CopyButton.d.ts +77 -0
- package/dist/buttons/CopyButton.js +65 -0
- package/dist/charts/AreaChart.d.ts +49 -0
- package/dist/charts/AreaChart.js +31 -0
- package/dist/charts/BarChart.d.ts +54 -67
- package/dist/charts/BarChart.js +136 -116
- package/dist/charts/ChartAxis.d.ts +35 -40
- package/dist/charts/ChartAxis.js +114 -90
- package/dist/charts/ChartCategoryTargets.d.ts +12 -26
- package/dist/charts/ChartCategoryTargets.js +32 -20
- package/dist/charts/ChartFrame.d.ts +69 -116
- package/dist/charts/ChartFrame.js +253 -119
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +27 -48
- package/dist/charts/ChartLegend.js +206 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +33 -20
- package/dist/charts/ChartPrimitives.d.ts +50 -305
- package/dist/charts/ChartPrimitives.js +65 -413
- package/dist/charts/ChartTooltip.d.ts +20 -26
- package/dist/charts/ChartTooltip.js +77 -40
- package/dist/charts/Heatmap.d.ts +35 -0
- package/dist/charts/Heatmap.js +295 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +159 -117
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +149 -135
- package/dist/charts/Sparkline.d.ts +107 -0
- package/dist/charts/Sparkline.js +244 -0
- package/dist/charts/StatChart.d.ts +37 -13
- package/dist/charts/StatChart.js +82 -35
- package/dist/charts/barChartGeometry.d.ts +138 -86
- package/dist/charts/barChartGeometry.js +122 -101
- package/dist/charts/barChartLegend.d.ts +14 -18
- package/dist/charts/barChartLegend.js +18 -13
- package/dist/charts/chartFormat.d.ts +12 -18
- package/dist/charts/chartFormat.js +20 -52
- package/dist/charts/chartPalette.d.ts +33 -0
- package/dist/charts/chartPalette.js +68 -0
- package/dist/charts/chartScales.d.ts +41 -108
- package/dist/charts/chartScales.js +62 -128
- package/dist/charts/constants.d.ts +96 -256
- package/dist/charts/constants.js +105 -275
- package/dist/charts/heatmapGeometry.d.ts +95 -0
- package/dist/charts/heatmapGeometry.js +155 -0
- package/dist/charts/lineChartGeometry.d.ts +108 -58
- package/dist/charts/lineChartGeometry.js +120 -78
- package/dist/charts/pieChartGeometry.d.ts +66 -40
- package/dist/charts/pieChartGeometry.js +68 -38
- package/dist/charts/types.d.ts +197 -466
- package/dist/charts/types.js +55 -144
- package/dist/charts/useCartesianChartLayout.d.ts +28 -59
- package/dist/charts/useCartesianChartLayout.js +47 -32
- package/dist/charts/useChartDimensions.d.ts +19 -40
- package/dist/charts/useChartDimensions.js +40 -56
- package/dist/charts/useChartFormatters.d.ts +6 -15
- package/dist/charts/useChartFormatters.js +4 -9
- package/dist/charts/useChartInteraction.d.ts +47 -116
- package/dist/charts/useChartInteraction.js +95 -71
- package/dist/charts/useChartTooltipPosition.d.ts +29 -39
- package/dist/charts/useChartTooltipPosition.js +14 -5
- package/dist/charts/useSeriesColorResolver.d.ts +11 -33
- package/dist/charts/useSeriesColorResolver.js +19 -12
- package/dist/chips/Chip.d.ts +155 -44
- package/dist/chips/Chip.js +329 -155
- package/dist/chips/ChipGroup.d.ts +53 -0
- package/dist/chips/ChipGroup.js +98 -0
- package/dist/drawer/Drawer.d.ts +81 -17
- package/dist/drawer/Drawer.js +370 -65
- package/dist/dropdown/Dropdown.d.ts +80 -63
- package/dist/dropdown/Dropdown.js +127 -129
- package/dist/editor/CodeEditor.d.ts +119 -40
- package/dist/editor/CodeEditor.js +490 -400
- package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
- package/dist/editor/CodeEditorReactWidget.js +28 -21
- package/dist/feedback/Alert.d.ts +49 -0
- package/dist/feedback/Alert.js +172 -0
- package/dist/feedback/EmptyState.d.ts +39 -0
- package/dist/feedback/EmptyState.js +109 -0
- package/dist/feedback/ProgressBar.d.ts +125 -0
- package/dist/feedback/ProgressBar.js +183 -0
- package/dist/feedback/ProgressCircle.d.ts +99 -0
- package/dist/feedback/ProgressCircle.js +187 -0
- package/dist/feedback/Skeleton.d.ts +69 -0
- package/dist/feedback/Skeleton.js +130 -0
- package/dist/feedback/Spinner.d.ts +63 -0
- package/dist/feedback/Spinner.js +141 -0
- package/dist/fonts.css +70 -0
- package/dist/hooks/internal/useIsClient.d.ts +2 -0
- package/dist/hooks/internal/useIsClient.js +14 -0
- package/dist/hooks/useClipboard.d.ts +19 -0
- package/dist/hooks/useClipboard.js +45 -0
- package/dist/hooks/useControlledOpenState.d.ts +21 -0
- package/dist/hooks/useControlledOpenState.js +19 -0
- package/dist/hooks/useControlledState.d.ts +19 -0
- package/dist/hooks/useControlledState.js +22 -0
- package/dist/hooks/useDebouncedValue.d.ts +14 -0
- package/dist/hooks/useDebouncedValue.js +33 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +36 -0
- package/dist/hooks/useDismiss.d.ts +23 -27
- package/dist/hooks/useDismiss.js +39 -27
- package/dist/hooks/useElementClientSize.d.ts +10 -10
- package/dist/hooks/useElementClientSize.js +8 -11
- package/dist/hooks/useElementWidth.d.ts +6 -13
- package/dist/hooks/useElementWidth.js +6 -14
- package/dist/hooks/useField.d.ts +47 -0
- package/dist/hooks/useField.js +40 -0
- package/dist/hooks/useHotkey.d.ts +77 -0
- package/dist/hooks/useHotkey.js +246 -0
- package/dist/hooks/useIsMac.d.ts +12 -0
- package/dist/hooks/useIsMac.js +27 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
- package/dist/hooks/useLocalStorage.d.ts +28 -0
- package/dist/hooks/useLocalStorage.js +145 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.js +23 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/usePrefersReducedMotion.js +25 -0
- package/dist/hooks/useResize.d.ts +42 -62
- package/dist/hooks/useResize.js +43 -31
- package/dist/icons/Icon.d.ts +64 -37
- package/dist/icons/Icon.js +96 -37
- package/dist/icons/internal/IconSlot.d.ts +10 -0
- package/dist/icons/internal/IconSlot.js +32 -0
- package/dist/inputs/CheckboxGroup.d.ts +115 -0
- package/dist/inputs/CheckboxGroup.js +183 -0
- package/dist/inputs/CheckboxInput.d.ts +98 -28
- package/dist/inputs/CheckboxInput.js +218 -88
- package/dist/inputs/ColorInput.d.ts +115 -29
- package/dist/inputs/ColorInput.js +748 -326
- package/dist/inputs/CopyInput.d.ts +49 -20
- package/dist/inputs/CopyInput.js +57 -49
- package/dist/inputs/CronInput.d.ts +94 -0
- package/dist/inputs/CronInput.js +618 -0
- package/dist/inputs/DateInput.d.ts +175 -28
- package/dist/inputs/DateInput.js +1109 -451
- package/dist/inputs/DurationInput.d.ts +101 -0
- package/dist/inputs/DurationInput.js +441 -0
- package/dist/inputs/Field.d.ts +75 -0
- package/dist/inputs/Field.js +247 -0
- package/dist/inputs/Fieldset.d.ts +53 -0
- package/dist/inputs/Fieldset.js +149 -0
- package/dist/inputs/FileInput.d.ts +110 -0
- package/dist/inputs/FileInput.js +476 -0
- package/dist/inputs/Input.d.ts +148 -187
- package/dist/inputs/Input.js +339 -259
- package/dist/inputs/KeyValueInput.d.ts +120 -0
- package/dist/inputs/KeyValueInput.js +383 -0
- package/dist/inputs/MultiSelectInput.d.ts +165 -54
- package/dist/inputs/MultiSelectInput.js +175 -559
- package/dist/inputs/NumberInput.d.ts +65 -9
- package/dist/inputs/NumberInput.js +197 -40
- package/dist/inputs/PasswordInput.d.ts +17 -12
- package/dist/inputs/PasswordInput.js +33 -33
- package/dist/inputs/PinInput.d.ts +117 -0
- package/dist/inputs/PinInput.js +364 -0
- package/dist/inputs/RadioGroup.d.ts +115 -0
- package/dist/inputs/RadioGroup.js +179 -0
- package/dist/inputs/RadioInput.d.ts +87 -24
- package/dist/inputs/RadioInput.js +182 -95
- package/dist/inputs/SearchInput.d.ts +66 -0
- package/dist/inputs/SearchInput.js +156 -0
- package/dist/inputs/SelectInput.d.ts +195 -55
- package/dist/inputs/SelectInput.js +1308 -446
- package/dist/inputs/SliderInput.d.ts +150 -30
- package/dist/inputs/SliderInput.js +441 -186
- package/dist/inputs/SwitchInput.d.ts +109 -0
- package/dist/inputs/SwitchInput.js +248 -0
- package/dist/inputs/TagInput.d.ts +117 -0
- package/dist/inputs/TagInput.js +408 -0
- package/dist/inputs/TextAreaInput.d.ts +146 -44
- package/dist/inputs/TextAreaInput.js +292 -198
- package/dist/inputs/TextInput.d.ts +4 -13
- package/dist/inputs/TextInput.js +13 -48
- package/dist/inputs/ToggleInput.d.ts +120 -22
- package/dist/inputs/ToggleInput.js +262 -116
- package/dist/inputs/internal/bareField.d.ts +18 -0
- package/dist/inputs/internal/bareField.js +38 -0
- package/dist/inputs/internal/devWarn.d.ts +7 -0
- package/dist/inputs/internal/devWarn.js +30 -0
- package/dist/inputs/internal/fieldFrame.d.ts +34 -0
- package/dist/inputs/internal/fieldFrame.js +64 -0
- package/dist/inputs/internal/fieldWiring.d.ts +50 -0
- package/dist/inputs/internal/fieldWiring.js +38 -0
- package/dist/inputs/internal/innerButton.d.ts +2 -0
- package/dist/inputs/internal/innerButton.js +24 -0
- package/dist/inputs/internal/ownField.d.ts +45 -0
- package/dist/inputs/internal/ownField.js +58 -0
- package/dist/inputs/internal/predicates.d.ts +9 -0
- package/dist/inputs/internal/predicates.js +11 -0
- package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
- package/dist/inputs/internal/useComboboxPopover.js +92 -0
- package/dist/json/JsonViewer.d.ts +62 -0
- package/dist/json/JsonViewer.js +483 -0
- package/dist/layout/Box.d.ts +87 -0
- package/dist/layout/Box.js +109 -0
- package/dist/layout/Divider.d.ts +25 -0
- package/dist/layout/Divider.js +70 -0
- package/dist/layout/Flex.d.ts +139 -0
- package/dist/layout/Flex.js +165 -0
- package/dist/layout/FlexItem.d.ts +72 -0
- package/dist/layout/FlexItem.js +84 -0
- package/dist/layout/Grid.d.ts +140 -0
- package/dist/layout/Grid.js +178 -0
- package/dist/layout/Portal.d.ts +29 -0
- package/dist/layout/Portal.js +27 -0
- package/dist/layout/ResizablePanels.d.ts +88 -0
- package/dist/layout/ResizablePanels.js +198 -0
- package/dist/layout/ResizeHandle.d.ts +48 -0
- package/dist/layout/ResizeHandle.js +143 -0
- package/dist/layout/ScrollArea.d.ts +30 -0
- package/dist/layout/ScrollArea.js +138 -0
- package/dist/links/Link.d.ts +101 -1
- package/dist/links/Link.js +166 -4
- package/dist/lists/BulletedList.d.ts +25 -7
- package/dist/lists/BulletedList.js +72 -27
- package/dist/lists/DescriptionList.d.ts +91 -0
- package/dist/lists/DescriptionList.js +147 -0
- package/dist/menu/ContextMenu.d.ts +64 -0
- package/dist/menu/ContextMenu.js +34 -0
- package/dist/menu/Menu.d.ts +280 -0
- package/dist/menu/Menu.js +1003 -0
- package/dist/modal/ConfirmDialog.d.ts +55 -0
- package/dist/modal/ConfirmDialog.js +151 -0
- package/dist/modal/Modal.d.ts +64 -14
- package/dist/modal/Modal.js +189 -48
- package/dist/navigation/Breadcrumbs.d.ts +65 -0
- package/dist/navigation/Breadcrumbs.js +243 -0
- package/dist/navigation/CommandPalette.d.ts +83 -0
- package/dist/navigation/CommandPalette.js +509 -0
- package/dist/navigation/Pagination.d.ts +87 -0
- package/dist/navigation/Pagination.js +300 -0
- package/dist/navigation/SidebarNav.d.ts +107 -0
- package/dist/navigation/SidebarNav.js +341 -0
- package/dist/navigation/Stepper.d.ts +52 -0
- package/dist/navigation/Stepper.js +207 -0
- package/dist/navigation/Tabs.d.ts +113 -0
- package/dist/navigation/Tabs.js +543 -0
- package/dist/navigation/Topbar.d.ts +20 -0
- package/dist/navigation/Topbar.js +62 -0
- package/dist/overlay/OverlayProvider.d.ts +28 -32
- package/dist/overlay/OverlayProvider.js +42 -93
- package/dist/overlay/useOverlay.d.ts +88 -12
- package/dist/overlay/useOverlay.js +220 -43
- package/dist/overlays/Popover.d.ts +114 -0
- package/dist/overlays/Popover.js +389 -0
- package/dist/shapes/Circle.d.ts +84 -8
- package/dist/shapes/Circle.js +122 -20
- package/dist/shapes/Square.d.ts +84 -8
- package/dist/shapes/Square.js +123 -20
- package/dist/styles/mixins.d.ts +35 -0
- package/dist/styles/mixins.js +60 -0
- package/dist/styles.css +1 -202
- package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
- package/dist/table/InfiniteSpreadsheet.js +762 -225
- package/dist/table/InfiniteTable.d.ts +116 -14
- package/dist/table/InfiniteTable.js +287 -429
- package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
- package/dist/table/SpreadsheetCellEditor.js +163 -84
- package/dist/table/TableCore.d.ts +252 -0
- package/dist/table/TableCore.js +1077 -0
- package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
- package/dist/table/VirtualizedInfiniteTable.js +280 -219
- package/dist/table/types.d.ts +66 -244
- package/dist/table/types.js +0 -51
- package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
- package/dist/table/useInfiniteScrollSentinel.js +38 -30
- package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
- package/dist/table/useSpreadsheetCellNavigation.js +141 -0
- package/dist/table/useTableColumnLayout.d.ts +90 -25
- package/dist/table/useTableColumnLayout.js +255 -50
- package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
- package/dist/table/useTableKeyboardNavigation.js +95 -71
- package/dist/table/useTableRowSelection.d.ts +24 -25
- package/dist/table/useTableRowSelection.js +57 -84
- package/dist/table/useTableVirtualizer.d.ts +20 -0
- package/dist/table/useTableVirtualizer.js +48 -0
- package/dist/text/Bold.d.ts +5 -6
- package/dist/text/Bold.js +16 -15
- package/dist/text/Code.d.ts +5 -6
- package/dist/text/Code.js +16 -25
- package/dist/text/CodeBlock.d.ts +77 -0
- package/dist/text/CodeBlock.js +373 -0
- package/dist/text/EditableText.d.ts +55 -15
- package/dist/text/EditableText.js +153 -135
- package/dist/text/Ellipsis.d.ts +34 -8
- package/dist/text/Ellipsis.js +55 -23
- package/dist/text/Kbd.d.ts +72 -0
- package/dist/text/Kbd.js +284 -0
- package/dist/text/MarkdownText.d.ts +27 -10
- package/dist/text/MarkdownText.js +317 -300
- package/dist/text/RequiredMarker.d.ts +17 -5
- package/dist/text/RequiredMarker.js +34 -36
- package/dist/text/Selectable.d.ts +5 -6
- package/dist/text/Selectable.js +16 -13
- package/dist/text/Span.d.ts +82 -0
- package/dist/text/Span.js +115 -0
- package/dist/text/Text.d.ts +128 -41
- package/dist/text/Text.js +209 -76
- package/dist/theme/GalaxyProvider.d.ts +75 -0
- package/dist/theme/GalaxyProvider.js +223 -0
- package/dist/theme/ThemeSwitcher.d.ts +52 -0
- package/dist/theme/ThemeSwitcher.js +94 -0
- package/dist/theme/enums.d.ts +118 -0
- package/dist/theme/enums.js +144 -0
- package/dist/theme/tokens/dark.d.ts +2 -0
- package/dist/theme/tokens/dark.js +275 -0
- package/dist/theme/tokens/generate.d.ts +15 -0
- package/dist/theme/tokens/generate.js +47 -0
- package/dist/theme/tokens/light.d.ts +2 -0
- package/dist/theme/tokens/light.js +274 -0
- package/dist/theme/tokens/palette.d.ts +14 -0
- package/dist/theme/tokens/palette.js +153 -0
- package/dist/theme/tokens/scales.d.ts +26 -0
- package/dist/theme/tokens/scales.js +154 -0
- package/dist/theme/tokens/t.d.ts +3 -0
- package/dist/theme/tokens/t.js +25 -0
- package/dist/theme/tokens/types.d.ts +189 -0
- package/dist/theme/tokens/types.js +0 -0
- package/dist/theme/useGalaxyTheme.d.ts +46 -0
- package/dist/theme/useGalaxyTheme.js +36 -0
- package/dist/theme/useInverseScope.d.ts +18 -0
- package/dist/theme/useInverseScope.js +33 -0
- package/dist/three/GalaxyLogomark3D.d.ts +46 -0
- package/dist/three/GalaxyLogomark3D.js +134 -0
- package/dist/three/assets/galaxy-logomark.js +4 -0
- package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
- package/dist/three/galaxyLogomark3DScene.js +165 -0
- package/dist/timeline/Timeline.d.ts +99 -0
- package/dist/timeline/Timeline.js +269 -0
- package/dist/toast/Toast.d.ts +43 -19
- package/dist/toast/Toast.js +130 -89
- package/dist/toast/ToastProvider.d.ts +23 -23
- package/dist/toast/ToastProvider.js +298 -101
- package/dist/toast/ToastViewport.d.ts +12 -0
- package/dist/toast/ToastViewport.js +210 -0
- package/dist/toast/useToast.d.ts +139 -5
- package/dist/toast/useToast.js +15 -13
- package/dist/tokens.css +654 -0
- package/dist/tooltip/Tooltip.d.ts +64 -44
- package/dist/tooltip/Tooltip.js +280 -73
- package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
- package/dist/tooltip/internal/LazyTooltip.js +53 -0
- package/dist/transform/Fade.d.ts +33 -11
- package/dist/transform/Fade.js +71 -19
- package/dist/transform/Flasher.d.ts +25 -0
- package/dist/transform/Flasher.js +39 -0
- package/dist/transform/Rotate.d.ts +24 -12
- package/dist/transform/Rotate.js +36 -22
- package/dist/transform/ScaleFade.d.ts +36 -11
- package/dist/transform/ScaleFade.js +86 -28
- package/dist/transform/internal/CollapseMotion.d.ts +10 -0
- package/dist/transform/internal/CollapseMotion.js +65 -0
- package/dist/tree/Tree.d.ts +85 -0
- package/dist/tree/Tree.js +387 -0
- package/dist/tree/treeRow.d.ts +39 -0
- package/dist/tree/treeRow.js +75 -0
- package/dist/utils/colors.d.ts +46 -13
- package/dist/utils/colors.js +92 -34
- package/dist/utils/css.d.ts +23 -0
- package/dist/utils/css.js +30 -0
- package/dist/utils/format.d.ts +58 -0
- package/dist/utils/format.js +220 -0
- package/dist/vite/index.d.ts +16 -0
- package/dist/vite/index.js +52 -0
- package/dist/widget/Widget.d.ts +164 -48
- package/dist/widget/Widget.js +335 -96
- package/dist/widget/WidgetGroup.d.ts +36 -0
- package/dist/widget/WidgetGroup.js +103 -0
- package/package.json +851 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -27
- package/dist/inputs/SwitcherInput.js +0 -64
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
package/dist/chips/Chip.js
CHANGED
|
@@ -1,188 +1,362 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import Skeleton, { SkeletonSize, SkeletonVariant } from "../feedback/Skeleton.js";
|
|
2
2
|
import Text, { TextSize, TextVariant } from "../text/Text.js";
|
|
3
|
-
import
|
|
3
|
+
import Tooltip from "../tooltip/Tooltip.js";
|
|
4
|
+
import Beacon, { BeaconSize, BeaconVariant } from "../beacons/Beacon.js";
|
|
4
5
|
import Icon, { IconVariant } from "../icons/Icon.js";
|
|
5
|
-
import FlexWrapper from "../containers/FlexWrapper.js";
|
|
6
|
-
import TextShimmer from "../text/TextShimmer.js";
|
|
7
|
-
import Ellipsis from "../text/Ellipsis.js";
|
|
8
|
-
import AvatarShimmer from "../avatar/AvatarShimmer.js";
|
|
9
6
|
/* empty css */
|
|
10
7
|
import { styled } from "@linaria/react";
|
|
11
|
-
import {
|
|
8
|
+
import { forwardRef } from "react";
|
|
12
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { cx } from "@linaria/core";
|
|
13
11
|
import { XIcon } from "@phosphor-icons/react";
|
|
14
12
|
//#region src/chips/Chip.tsx
|
|
15
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* A compact, tinted label for one short value: a tag, a category, a type, a filter, a role, or a
|
|
15
|
+
* count. `variant` is a meaning from the canonical color set and `color` a categorical palette
|
|
16
|
+
* family (one or the other), so a chip says "warehouse", "beta" or "3 unread" in a color that
|
|
17
|
+
* follows the theme. It can carry a leading mark (a status dot, an
|
|
18
|
+
* icon, an avatar), show a `count` (the 1.x `Badge`), be dismissed with a trailing × button, and
|
|
19
|
+
* become a toggle button when it has `onClick` (a filter chip).
|
|
20
|
+
*
|
|
21
|
+
* Structure: a `<span>` root carries the fill, border, radius and height; inside it a body (a
|
|
22
|
+
* `<span>`, or a `<button>` with `onClick`) holds the marks, the label and the count, and an
|
|
23
|
+
* optional × `<button>` follows it. The body and the × are siblings, so a clickable, dismissible
|
|
24
|
+
* chip has two tab stops and no nested interactives.
|
|
25
|
+
*
|
|
26
|
+
* Color is CSS: the variant (or `color`) map sets `color` and the `--gx-chip-fill` /
|
|
27
|
+
* `--gx-chip-border` custom properties on the root, and the label, count, dot and × inherit `currentColor`, so `hex`,
|
|
28
|
+
* `INHERIT` and the disabled look share one path and a theme switch needs no re-render.
|
|
29
|
+
*
|
|
30
|
+
* Not a live status (a labeled `Beacon`), not an action (`Button`), not a list with overflow (`ChipGroup`),
|
|
31
|
+
* not a tag input (`TagInput`).
|
|
32
|
+
*/
|
|
33
|
+
/** Canonical rungs; the member names the control rung the chip sits in. */
|
|
34
|
+
var ChipSize = /* @__PURE__ */ function(ChipSize) {
|
|
35
|
+
/** 16px tall, `caption` text, 10px icon. */
|
|
36
|
+
ChipSize["X_SMALL"] = "X_SMALL";
|
|
37
|
+
/** 20px tall, `body_sm` text, 12px icon (1.x `SMALL` 18px; 1.x Badge `SMALL` 16px). */
|
|
38
|
+
ChipSize["SMALL"] = "SMALL";
|
|
39
|
+
/** 24px tall, `body_md` text, 14px icon. The default (1.x `MEDIUM` 20px). */
|
|
40
|
+
ChipSize["MEDIUM"] = "MEDIUM";
|
|
41
|
+
/** 28px tall, `body_lg` text, 16px icon (1.x `LARGE` 24px). */
|
|
42
|
+
ChipSize["LARGE"] = "LARGE";
|
|
43
|
+
/** 32px tall, `body_lg` text, 16px icon. */
|
|
44
|
+
ChipSize["X_LARGE"] = "X_LARGE";
|
|
45
|
+
return ChipSize;
|
|
46
|
+
}({});
|
|
47
|
+
/**
|
|
48
|
+
* Color role (Constitution V-A color set; meaning only): tints the fill, the text and the border
|
|
49
|
+
* together. Categories take `color` instead.
|
|
50
|
+
*/
|
|
16
51
|
var ChipVariant = /* @__PURE__ */ function(ChipVariant) {
|
|
52
|
+
/** `background.primary` fill, `text.primary`. */
|
|
17
53
|
ChipVariant["PRIMARY"] = "PRIMARY";
|
|
18
|
-
|
|
54
|
+
/** `background.secondary` fill, `text.primary`. The default (1.x default). */
|
|
19
55
|
ChipVariant["SECONDARY"] = "SECONDARY";
|
|
56
|
+
/** `background.tertiary` fill, `text.primary`. */
|
|
20
57
|
ChipVariant["TERTIARY"] = "TERTIARY";
|
|
58
|
+
/** `background.secondary` fill, `text.disabled`. */
|
|
59
|
+
ChipVariant["DISABLED"] = "DISABLED";
|
|
60
|
+
/** The parent's `currentColor`, with a fill and border mixed from it. */
|
|
61
|
+
ChipVariant["INHERIT"] = "INHERIT";
|
|
62
|
+
/** Status: success fill and text. */
|
|
21
63
|
ChipVariant["SUCCESS"] = "SUCCESS";
|
|
64
|
+
/** Status: warning fill and text. */
|
|
22
65
|
ChipVariant["WARNING"] = "WARNING";
|
|
66
|
+
/** Status: error fill and text. */
|
|
23
67
|
ChipVariant["ERROR"] = "ERROR";
|
|
24
|
-
ChipVariant["PINK"] = "PINK";
|
|
25
|
-
ChipVariant["ORANGE"] = "ORANGE";
|
|
26
|
-
ChipVariant["YELLOW"] = "YELLOW";
|
|
27
|
-
ChipVariant["LIME"] = "LIME";
|
|
28
|
-
ChipVariant["BLUE"] = "BLUE";
|
|
29
|
-
ChipVariant["PURPLE"] = "PURPLE";
|
|
30
|
-
ChipVariant["TEAL"] = "TEAL";
|
|
31
68
|
return ChipVariant;
|
|
32
69
|
}({});
|
|
33
|
-
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
70
|
+
/**
|
|
71
|
+
* The fill, border, radius and height. The transparent hairline gives every chip the same box
|
|
72
|
+
* with or without `hasBorder`, and becomes visible in forced colors.
|
|
73
|
+
*/
|
|
74
|
+
var Root = /*#__PURE__*/ styled("span")({
|
|
75
|
+
name: "Root",
|
|
76
|
+
class: "gx-Chip-rhdcix9",
|
|
77
|
+
propsAsIs: false
|
|
78
|
+
});
|
|
79
|
+
/** Holds the dot, `leading`, the icon, the label and the count, in that order. Only the label shrinks. */
|
|
80
|
+
var Body = /*#__PURE__*/ styled("span")({
|
|
81
|
+
name: "Body",
|
|
82
|
+
class: "gx-Chip-Body-b1792b5d",
|
|
83
|
+
propsAsIs: false
|
|
84
|
+
});
|
|
85
|
+
/** The `leading` slot: never squeezed. */
|
|
86
|
+
var LeadingSlot = /*#__PURE__*/ styled("span")({
|
|
87
|
+
name: "LeadingSlot",
|
|
88
|
+
class: "gx-Chip-LeadingSlot-larvjas",
|
|
89
|
+
propsAsIs: false
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* The trailing × button. It rests at 64% of the chip's color and goes full strength on hover and
|
|
93
|
+
* keyboard focus. `INTERACTIVE_RESET` comes first so the rules after it win.
|
|
94
|
+
*/
|
|
95
|
+
var Dismiss = /*#__PURE__*/ styled("button")({
|
|
96
|
+
name: "Dismiss",
|
|
97
|
+
class: "gx-Chip-Dismiss-drtsg2v",
|
|
98
|
+
propsAsIs: false
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* The body as a `<button>` (with `onClick`): the reset, then the body rules it clears, the focus
|
|
102
|
+
* ring, and the hover and press paint. The paint is on the body only, so hovering the × does not
|
|
103
|
+
* light it up. `aria-disabled` is a state attribute, not a variant selector.
|
|
104
|
+
*/
|
|
105
|
+
var INTERACTIVE_BODY_CSS = "gx-Chip-INTERACTIVE_BODY_CSS-i10wo102";
|
|
106
|
+
/**
|
|
107
|
+
* No label (icon-only or count-only): the inset narrows to the gap, so a single icon or digit
|
|
108
|
+
* fits inside `min-width` and the chip is a square (a circle with `isPill`) at every rung.
|
|
109
|
+
* Declared after the interactive body, which re-sets the padding.
|
|
110
|
+
*/
|
|
111
|
+
var UNLABELLED_BODY_CSS = "gx-Chip-UNLABELLED_BODY_CSS-uw0i2x";
|
|
112
|
+
/** With `onDismiss`: the × supplies the end padding and the end corners. Declared after the interactive body. */
|
|
113
|
+
var DISMISSIBLE_BODY_CSS = "gx-Chip-DISMISSIBLE_BODY_CSS-d1umqpnl";
|
|
114
|
+
/** `isDisabled` on the body button and the ×. */
|
|
115
|
+
var DISABLED_CURSOR_CSS = "gx-Chip-DISABLED_CURSOR_CSS-d1tlslh5";
|
|
116
|
+
/** `isLoading` on the body button. */
|
|
117
|
+
var LOADING_CURSOR_CSS = "gx-Chip-LOADING_CURSOR_CSS-l17p62o9";
|
|
118
|
+
/** A mark (icon, count) that never shrinks; only the label does. */
|
|
119
|
+
var NO_SHRINK_CSS = "gx-Chip-NO_SHRINK_CSS-n113l4kw";
|
|
120
|
+
/**
|
|
121
|
+
* Loading: the Skeleton placeholder lays its hidden children out exactly as the body does (same
|
|
122
|
+
* gap, centered), so the chip keeps its width. Doubled class so it wins over Skeleton's own
|
|
123
|
+
* `display` at any stylesheet order.
|
|
124
|
+
*/
|
|
125
|
+
var SKELETON_GROUP_CSS = "gx-Chip-SKELETON_GROUP_CSS-s19yp9be";
|
|
126
|
+
/** The marks group while loading never shrinks. */
|
|
127
|
+
var SKELETON_MARKS_CSS = "gx-Chip-SKELETON_MARKS_CSS-s16e2y3o";
|
|
128
|
+
/** The text group while loading may shrink, like the label. */
|
|
129
|
+
var SKELETON_TEXT_CSS = "gx-Chip-SKELETON_TEXT_CSS-s1ryzn2p";
|
|
130
|
+
/**
|
|
131
|
+
* Height and `min-width` (equal, so a one-digit count or an icon-only chip is a square, or a
|
|
132
|
+
* circle with `isPill`) and the padding and gap the body and × read. Each height is the rung's
|
|
133
|
+
* line height plus an even inset, so text and icons land on whole pixels.
|
|
134
|
+
*/
|
|
135
|
+
var CHIP_SIZE_TO_CSS_MAP = {
|
|
136
|
+
["X_SMALL"]: "gx-Chip-X_SMALL-x655h5d",
|
|
137
|
+
["SMALL"]: "gx-Chip-SMALL-s19l6inr",
|
|
138
|
+
["MEDIUM"]: "gx-Chip-MEDIUM-mya1ucz",
|
|
139
|
+
["LARGE"]: "gx-Chip-LARGE-ldd03ku",
|
|
140
|
+
["X_LARGE"]: "gx-Chip-X_LARGE-xxrjjby"
|
|
43
141
|
};
|
|
44
|
-
|
|
45
|
-
|
|
142
|
+
/** Sets `color` on the root and the fill and border custom properties per color role. */
|
|
143
|
+
var CHIP_VARIANT_TO_CSS_MAP = {
|
|
144
|
+
["PRIMARY"]: "gx-Chip-PRIMARY-p1ydunl3",
|
|
145
|
+
["SECONDARY"]: "gx-Chip-SECONDARY-s1g96kbw",
|
|
146
|
+
["TERTIARY"]: "gx-Chip-TERTIARY-t10q6vgd",
|
|
147
|
+
["DISABLED"]: "gx-Chip-DISABLED-d1vwq9sr",
|
|
148
|
+
["INHERIT"]: "gx-Chip-INHERIT-i1pttgxr",
|
|
149
|
+
["SUCCESS"]: "gx-Chip-SUCCESS-sxbabla",
|
|
150
|
+
["WARNING"]: "gx-Chip-WARNING-wmla4eg",
|
|
151
|
+
["ERROR"]: "gx-Chip-ERROR-ey90mc4"
|
|
46
152
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
153
|
+
/** Categorical `color`: the family's text, fill and border, as a status variant renders. */
|
|
154
|
+
var CHIP_COLOR_TO_CSS_MAP = {
|
|
155
|
+
red: "gx-Chip-red-r1buqu4j",
|
|
156
|
+
orange: "gx-Chip-orange-o1xofe8u",
|
|
157
|
+
amber: "gx-Chip-amber-alle9kf",
|
|
158
|
+
yellow: "gx-Chip-yellow-yvehr9v",
|
|
159
|
+
lime: "gx-Chip-lime-l6qjmz2",
|
|
160
|
+
green: "gx-Chip-green-gtd4jog",
|
|
161
|
+
emerald: "gx-Chip-emerald-evlk44e",
|
|
162
|
+
teal: "gx-Chip-teal-t1pq316v",
|
|
163
|
+
cyan: "gx-Chip-cyan-cm0lqld",
|
|
164
|
+
sky: "gx-Chip-sky-syyt7c0",
|
|
165
|
+
blue: "gx-Chip-blue-b11ah2de",
|
|
166
|
+
indigo: "gx-Chip-indigo-izbiez9",
|
|
167
|
+
violet: "gx-Chip-violet-v9o9u3v",
|
|
168
|
+
purple: "gx-Chip-purple-p1ec95in",
|
|
169
|
+
fuchsia: "gx-Chip-fuchsia-fptfyqj",
|
|
170
|
+
pink: "gx-Chip-pink-p1fzme42",
|
|
171
|
+
rose: "gx-Chip-rose-riztats"
|
|
50
172
|
};
|
|
51
|
-
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
["
|
|
173
|
+
/** `hex`: declared after the variant and color maps so it wins over them. */
|
|
174
|
+
var HEX_CSS = "gx-Chip-HEX_CSS-h1g78mhs";
|
|
175
|
+
var HAS_BORDER_CSS = "gx-Chip-HAS_BORDER_CSS-h1t4qqih";
|
|
176
|
+
/** Declared after `HAS_BORDER_CSS`, so selection wins. */
|
|
177
|
+
var SELECTED_CSS = "gx-Chip-SELECTED_CSS-s1na9n10";
|
|
178
|
+
var PILL_CSS = "gx-Chip-PILL_CSS-py859dk";
|
|
179
|
+
/** Label and count type step per rung (Constitution III-A.4). */
|
|
180
|
+
var CHIP_SIZE_TO_TEXT_SIZE_MAP = {
|
|
181
|
+
["X_SMALL"]: TextSize.CAPTION,
|
|
182
|
+
["SMALL"]: TextSize.BODY_SM,
|
|
183
|
+
["MEDIUM"]: TextSize.BODY_MD,
|
|
184
|
+
["LARGE"]: TextSize.BODY_LG,
|
|
185
|
+
["X_LARGE"]: TextSize.BODY_LG
|
|
186
|
+
};
|
|
187
|
+
/** Icon px per rung; even, so the icon centers on whole pixels in the chip's height. */
|
|
188
|
+
var CHIP_SIZE_TO_ICON_PX_MAP = {
|
|
189
|
+
["X_SMALL"]: 10,
|
|
190
|
+
["SMALL"]: 12,
|
|
191
|
+
["MEDIUM"]: 14,
|
|
192
|
+
["LARGE"]: 16,
|
|
193
|
+
["X_LARGE"]: 16
|
|
68
194
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
["
|
|
72
|
-
["
|
|
195
|
+
/** Identity: BeaconSize names the text step the dot sits beside, which is the chip's own. */
|
|
196
|
+
var CHIP_SIZE_TO_BEACON_SIZE_MAP = {
|
|
197
|
+
["X_SMALL"]: BeaconSize.X_SMALL,
|
|
198
|
+
["SMALL"]: BeaconSize.SMALL,
|
|
199
|
+
["MEDIUM"]: BeaconSize.MEDIUM,
|
|
200
|
+
["LARGE"]: BeaconSize.LARGE,
|
|
201
|
+
["X_LARGE"]: BeaconSize.X_LARGE
|
|
73
202
|
};
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
["
|
|
77
|
-
["
|
|
203
|
+
/** Identity (the Skeleton host contract); wrapper mode ignores `size`. */
|
|
204
|
+
var CHIP_SIZE_TO_SKELETON_SIZE_MAP = {
|
|
205
|
+
["X_SMALL"]: SkeletonSize.X_SMALL,
|
|
206
|
+
["SMALL"]: SkeletonSize.SMALL,
|
|
207
|
+
["MEDIUM"]: SkeletonSize.MEDIUM,
|
|
208
|
+
["LARGE"]: SkeletonSize.LARGE,
|
|
209
|
+
["X_LARGE"]: SkeletonSize.X_LARGE
|
|
78
210
|
};
|
|
79
|
-
|
|
211
|
+
/** A neutral chip's icon is one step quieter than its label (1.x); every other role inherits. */
|
|
212
|
+
var CHIP_VARIANT_TO_ICON_VARIANT_MAP = {
|
|
80
213
|
["PRIMARY"]: IconVariant.PRIMARY,
|
|
81
|
-
["PRIMARY_ALT"]: IconVariant.PRIMARY_ALT,
|
|
82
214
|
["SECONDARY"]: IconVariant.SECONDARY,
|
|
83
215
|
["TERTIARY"]: IconVariant.TERTIARY,
|
|
84
|
-
["
|
|
85
|
-
["
|
|
86
|
-
["
|
|
87
|
-
["
|
|
88
|
-
["
|
|
89
|
-
["YELLOW"]: IconVariant.YELLOW,
|
|
90
|
-
["LIME"]: IconVariant.LIME,
|
|
91
|
-
["BLUE"]: IconVariant.BLUE,
|
|
92
|
-
["PURPLE"]: IconVariant.PURPLE,
|
|
93
|
-
["TEAL"]: IconVariant.TEAL
|
|
216
|
+
["DISABLED"]: IconVariant.INHERIT,
|
|
217
|
+
["INHERIT"]: IconVariant.INHERIT,
|
|
218
|
+
["SUCCESS"]: IconVariant.INHERIT,
|
|
219
|
+
["WARNING"]: IconVariant.INHERIT,
|
|
220
|
+
["ERROR"]: IconVariant.INHERIT
|
|
94
221
|
};
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
["
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
222
|
+
/** True when a `tooltip` value would open (the Tooltip empty-body rule). */
|
|
223
|
+
function hasContent(node) {
|
|
224
|
+
return node !== void 0 && node !== null && node !== false && node !== "";
|
|
225
|
+
}
|
|
226
|
+
/** A compact, tinted label for one short value: a tag, a category, a filter, or a count. */
|
|
227
|
+
var Chip = forwardRef(function Chip({ label, icon, leading, hasDot = false, count, max = 99, variant = "SECONDARY", color, size = "MEDIUM", hex, isPill = false, hasBorder = false, isSelected, isDisabled = false, isLoading = false, tooltip, onClick, onDismiss, ariaLabel, id, className, style, ...rest }, ref) {
|
|
228
|
+
const hasLabel = label !== void 0 && label !== "";
|
|
229
|
+
const flooredCount = count === void 0 ? 0 : Math.floor(count);
|
|
230
|
+
const hasCount = flooredCount > 0;
|
|
231
|
+
const hasLeading = leading !== void 0 && leading !== null && leading !== false;
|
|
232
|
+
const hasMarks = hasDot || hasLeading || icon !== void 0;
|
|
233
|
+
if (!hasLabel && !hasCount && !hasMarks) return null;
|
|
234
|
+
const isInteractive = onClick !== void 0;
|
|
235
|
+
const isDismissible = onDismiss !== void 0;
|
|
236
|
+
const hasTooltip = hasContent(tooltip);
|
|
237
|
+
const isBlocked = isDisabled || isLoading;
|
|
238
|
+
const isNativeDisabled = isDisabled && !isLoading && !hasTooltip;
|
|
239
|
+
const ariaRest = {};
|
|
240
|
+
const rootRest = {};
|
|
241
|
+
for (const [key, value] of Object.entries(rest)) if (isInteractive && key.startsWith("aria-")) ariaRest[key] = value;
|
|
242
|
+
else rootRest[key] = value;
|
|
243
|
+
const blockedProps = {};
|
|
244
|
+
if (isNativeDisabled) blockedProps.disabled = true;
|
|
245
|
+
else if (isBlocked) blockedProps["aria-disabled"] = true;
|
|
246
|
+
if (isLoading) blockedProps["aria-busy"] = true;
|
|
247
|
+
const handleClick = (event) => {
|
|
248
|
+
if (isBlocked) {
|
|
249
|
+
event.preventDefault();
|
|
250
|
+
return;
|
|
251
|
+
}
|
|
252
|
+
onClick?.(event);
|
|
253
|
+
};
|
|
254
|
+
const handleDismiss = (event) => {
|
|
255
|
+
if (isBlocked) {
|
|
256
|
+
event.preventDefault();
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
onDismiss?.();
|
|
260
|
+
};
|
|
261
|
+
const bodyProps = {};
|
|
262
|
+
if (!isInteractive && ariaLabel !== void 0) {
|
|
263
|
+
bodyProps.role = "img";
|
|
264
|
+
bodyProps["aria-label"] = ariaLabel;
|
|
265
|
+
}
|
|
266
|
+
if (isInteractive) {
|
|
267
|
+
const computedAria = {};
|
|
268
|
+
const name = ariaLabel ?? (isLoading && hasLabel ? label : void 0);
|
|
269
|
+
if (name !== void 0) computedAria["aria-label"] = name;
|
|
270
|
+
if (isSelected !== void 0) computedAria["aria-pressed"] = isSelected;
|
|
271
|
+
Object.assign(bodyProps, computedAria, ariaRest, blockedProps, {
|
|
272
|
+
as: "button",
|
|
273
|
+
type: "button",
|
|
274
|
+
onClick: handleClick
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
const hasColor = color !== void 0 && !isDisabled;
|
|
278
|
+
const shownVariant = isDisabled ? "DISABLED" : variant;
|
|
279
|
+
const hasHex = hex !== void 0 && !isDisabled;
|
|
280
|
+
const iconVariant = isDisabled ? IconVariant.DISABLED : hasHex || hasColor ? IconVariant.INHERIT : CHIP_VARIANT_TO_ICON_VARIANT_MAP[variant];
|
|
281
|
+
const iconPx = CHIP_SIZE_TO_ICON_PX_MAP[size];
|
|
282
|
+
const textSize = CHIP_SIZE_TO_TEXT_SIZE_MAP[size];
|
|
283
|
+
const skeletonSize = CHIP_SIZE_TO_SKELETON_SIZE_MAP[size];
|
|
284
|
+
const shownCount = flooredCount > Math.floor(max) ? `${Math.floor(max)}+` : String(flooredCount);
|
|
285
|
+
const variables = {};
|
|
286
|
+
if (hasHex) variables["--gx-chip-hex"] = hex;
|
|
287
|
+
const marks = hasMarks && /* @__PURE__ */ jsxs(Skeleton, {
|
|
288
|
+
variant: SkeletonVariant.CIRCLE,
|
|
289
|
+
size: skeletonSize,
|
|
290
|
+
isLoading,
|
|
291
|
+
className: cx(SKELETON_GROUP_CSS, SKELETON_MARKS_CSS),
|
|
152
292
|
children: [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
157
|
-
component: icon,
|
|
158
|
-
size: CHIP_SIZE_TO_ICON_SIZE[size],
|
|
159
|
-
variant: CHIP_VARIANT_TO_ICON_VARIANT[variant]
|
|
160
|
-
})
|
|
161
|
-
}),
|
|
162
|
-
svg && /* @__PURE__ */ jsx(FlexItem, {
|
|
163
|
-
shrink: 0,
|
|
164
|
-
grow: 0,
|
|
165
|
-
children: svg
|
|
166
|
-
}),
|
|
167
|
-
label && /* @__PURE__ */ jsx(FlexItem, {
|
|
168
|
-
shrink: 0,
|
|
169
|
-
grow: 0,
|
|
170
|
-
children: /* @__PURE__ */ jsxs(Text, {
|
|
171
|
-
variant: CHIP_VARIANT_TO_TEXT_VARIANT[variant],
|
|
172
|
-
size: CHIP_SIZE_TO_TEXT_SIZE[size],
|
|
173
|
-
children: [label, isEllipsis && /* @__PURE__ */ jsx(Ellipsis, { isPulse: true })]
|
|
174
|
-
})
|
|
293
|
+
hasDot && /* @__PURE__ */ jsx(Beacon, {
|
|
294
|
+
size: CHIP_SIZE_TO_BEACON_SIZE_MAP[size],
|
|
295
|
+
variant: BeaconVariant.INHERIT
|
|
175
296
|
}),
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
})
|
|
297
|
+
hasLeading && /* @__PURE__ */ jsx(LeadingSlot, { children: leading }),
|
|
298
|
+
icon !== void 0 && /* @__PURE__ */ jsx(Icon, {
|
|
299
|
+
component: icon,
|
|
300
|
+
size: iconPx,
|
|
301
|
+
variant: iconVariant,
|
|
302
|
+
className: NO_SHRINK_CSS
|
|
183
303
|
})
|
|
184
304
|
]
|
|
185
305
|
});
|
|
186
|
-
|
|
306
|
+
const copy = (hasLabel || hasCount) && /* @__PURE__ */ jsxs(Skeleton, {
|
|
307
|
+
variant: SkeletonVariant.TEXT,
|
|
308
|
+
size: skeletonSize,
|
|
309
|
+
isLoading,
|
|
310
|
+
className: cx(SKELETON_GROUP_CSS, SKELETON_TEXT_CSS),
|
|
311
|
+
children: [hasLabel && /* @__PURE__ */ jsx(Text, {
|
|
312
|
+
as: "span",
|
|
313
|
+
size: textSize,
|
|
314
|
+
variant: TextVariant.INHERIT,
|
|
315
|
+
lineClamp: 1,
|
|
316
|
+
shouldTooltipOnOverflow: !hasTooltip,
|
|
317
|
+
children: label
|
|
318
|
+
}), hasCount && /* @__PURE__ */ jsx(Text, {
|
|
319
|
+
as: "span",
|
|
320
|
+
size: textSize,
|
|
321
|
+
variant: TextVariant.INHERIT,
|
|
322
|
+
isTabular: true,
|
|
323
|
+
className: NO_SHRINK_CSS,
|
|
324
|
+
children: shownCount
|
|
325
|
+
})]
|
|
326
|
+
});
|
|
327
|
+
const dismissName = hasLabel ? label : ariaLabel;
|
|
328
|
+
const body = /* @__PURE__ */ jsxs(Body, {
|
|
329
|
+
...bodyProps,
|
|
330
|
+
className: cx(isInteractive && INTERACTIVE_BODY_CSS, !hasLabel && UNLABELLED_BODY_CSS, isDismissible && DISMISSIBLE_BODY_CSS, isInteractive && isDisabled && DISABLED_CURSOR_CSS, isInteractive && isLoading && LOADING_CURSOR_CSS),
|
|
331
|
+
children: [marks, copy]
|
|
332
|
+
});
|
|
333
|
+
return /* @__PURE__ */ jsxs(Root, {
|
|
334
|
+
...rootRest,
|
|
335
|
+
ref,
|
|
336
|
+
id,
|
|
337
|
+
className: cx(CHIP_SIZE_TO_CSS_MAP[size], hasColor ? CHIP_COLOR_TO_CSS_MAP[color] : CHIP_VARIANT_TO_CSS_MAP[shownVariant], hasHex && HEX_CSS, hasBorder && HAS_BORDER_CSS, isSelected === true && SELECTED_CSS, isPill && PILL_CSS, className),
|
|
338
|
+
style: {
|
|
339
|
+
...variables,
|
|
340
|
+
...style
|
|
341
|
+
},
|
|
342
|
+
children: [hasTooltip || tooltip === "" ? /* @__PURE__ */ jsx(Tooltip, {
|
|
343
|
+
body: hasTooltip ? tooltip : "",
|
|
344
|
+
isDisabled: !hasTooltip,
|
|
345
|
+
children: body
|
|
346
|
+
}) : body, isDismissible && /* @__PURE__ */ jsx(Dismiss, {
|
|
347
|
+
...blockedProps,
|
|
348
|
+
type: "button",
|
|
349
|
+
"aria-label": dismissName === void 0 ? "Remove" : `Remove ${dismissName}`,
|
|
350
|
+
onClick: handleDismiss,
|
|
351
|
+
className: cx(isBlocked && DISABLED_CURSOR_CSS),
|
|
352
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
353
|
+
component: XIcon,
|
|
354
|
+
size: iconPx,
|
|
355
|
+
variant: IconVariant.INHERIT
|
|
356
|
+
})
|
|
357
|
+
})]
|
|
358
|
+
});
|
|
359
|
+
});
|
|
360
|
+
Chip.displayName = "Chip";
|
|
187
361
|
//#endregion
|
|
188
362
|
export { ChipSize, ChipVariant, Chip as default };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
/** Canonical rungs; the member names the rung of the chips in the group. */
|
|
3
|
+
export declare enum ChipGroupSize {
|
|
4
|
+
/** `ChipSize.X_SMALL` toggle (16px), 4px gap. */
|
|
5
|
+
X_SMALL = "X_SMALL",
|
|
6
|
+
/** `ChipSize.SMALL` toggle (20px), 4px gap. */
|
|
7
|
+
SMALL = "SMALL",
|
|
8
|
+
/** `ChipSize.MEDIUM` toggle (24px), 4px gap. The default. */
|
|
9
|
+
MEDIUM = "MEDIUM",
|
|
10
|
+
/** `ChipSize.LARGE` toggle (28px), 8px gap. */
|
|
11
|
+
LARGE = "LARGE",
|
|
12
|
+
/** `ChipSize.X_LARGE` toggle (32px), 8px gap. */
|
|
13
|
+
X_LARGE = "X_LARGE"
|
|
14
|
+
}
|
|
15
|
+
export interface ChipGroupProps extends AriaAttributes {
|
|
16
|
+
/**
|
|
17
|
+
* The chips: `Chip` elements or Chip presets. Falsy children are skipped and not counted. Every
|
|
18
|
+
* child should be the same size as the group.
|
|
19
|
+
*/
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
/**
|
|
22
|
+
* Show at most this many children, then a `+N` chip for the rest. Floored; below 0 counts as 0.
|
|
23
|
+
* Omit to always show all.
|
|
24
|
+
*/
|
|
25
|
+
max?: number;
|
|
26
|
+
/**
|
|
27
|
+
* The rung of the `+N` / "Show less" chip and of the gap. Match it to the children's `ChipSize`.
|
|
28
|
+
* @default ChipGroupSize.MEDIUM
|
|
29
|
+
*/
|
|
30
|
+
size?: ChipGroupSize;
|
|
31
|
+
/** Controlled show-all state. When set, the group calls `onOpenChange` and lets the caller decide. */
|
|
32
|
+
isOpen?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Initial show-all state while uncontrolled.
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
defaultIsOpen?: boolean;
|
|
38
|
+
/** Called with the requested state when the `+N` or "Show less" chip is pressed. */
|
|
39
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
40
|
+
/** Accessible name of the group (`aria-label`), such as "Tags". */
|
|
41
|
+
ariaLabel?: string;
|
|
42
|
+
/** DOM id on the root; also the toggle chip's `aria-controls` target. @default a `useId()` value */
|
|
43
|
+
id?: string;
|
|
44
|
+
/** Any `data-*` attribute, forwarded to the root `<div>`. */
|
|
45
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
46
|
+
/** Extra class on the root `<div>`. */
|
|
47
|
+
className?: string;
|
|
48
|
+
/** Inline style on the root `<div>`; only for setting CSS custom properties. */
|
|
49
|
+
style?: CSSProperties;
|
|
50
|
+
}
|
|
51
|
+
/** A wrapping row of related chips, with an optional `+N` / "Show less" toggle past `max`. */
|
|
52
|
+
declare const ChipGroup: import("react").ForwardRefExoticComponent<ChipGroupProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
53
|
+
export default ChipGroup;
|