@galaxy-io/dls 1.6.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -50
- package/biome/index.json +74 -0
- package/biome/plugins/no-hex-literal.grit +20 -0
- package/biome/plugins/no-inline-style.grit +13 -0
- package/biome/plugins/no-margin.grit +9 -0
- package/biome/plugins/warn/no-hex-literal.grit +23 -0
- package/biome/plugins/warn/no-inline-style.grit +13 -0
- package/biome/plugins/warn/no-margin.grit +9 -0
- package/dist/a11y/FocusScope.d.ts +44 -0
- package/dist/a11y/FocusScope.js +229 -0
- package/dist/a11y/VisuallyHidden.d.ts +21 -0
- package/dist/a11y/VisuallyHidden.js +30 -0
- package/dist/avatar/Avatar.d.ts +56 -14
- package/dist/avatar/Avatar.js +250 -96
- package/dist/avatar/AvatarGroup.d.ts +43 -0
- package/dist/avatar/AvatarGroup.js +153 -0
- package/dist/backgrounds/GridBackground.d.ts +48 -0
- package/dist/backgrounds/GridBackground.js +146 -0
- package/dist/beacons/Beacon.d.ts +86 -22
- package/dist/beacons/Beacon.js +170 -47
- package/dist/brand/GalaxyFilamentWordmark.d.ts +30 -0
- package/dist/brand/GalaxyFilamentWordmark.js +39 -0
- package/dist/brand/GalaxyLogomark.d.ts +26 -0
- package/dist/brand/GalaxyLogomark.js +41 -0
- package/dist/brand/GalaxyLogomarkAnimation.d.ts +36 -0
- package/dist/brand/GalaxyLogomarkAnimation.js +107 -0
- package/dist/brand/GalaxyWordmark.d.ts +30 -0
- package/dist/brand/GalaxyWordmark.js +63 -0
- package/dist/brand/assets/galaxy-logomark-animation.js +136678 -0
- package/dist/brand/brandMark.d.ts +26 -0
- package/dist/brand/brandMark.js +35 -0
- package/dist/buttons/Button.d.ts +148 -59
- package/dist/buttons/Button.js +437 -227
- package/dist/buttons/ButtonGroup.d.ts +38 -0
- package/dist/buttons/ButtonGroup.js +68 -0
- package/dist/buttons/CopyButton.d.ts +77 -0
- package/dist/buttons/CopyButton.js +65 -0
- package/dist/charts/AreaChart.d.ts +49 -0
- package/dist/charts/AreaChart.js +31 -0
- package/dist/charts/BarChart.d.ts +54 -67
- package/dist/charts/BarChart.js +160 -124
- package/dist/charts/ChartAxis.d.ts +35 -40
- package/dist/charts/ChartAxis.js +114 -90
- package/dist/charts/ChartCategoryTargets.d.ts +12 -26
- package/dist/charts/ChartCategoryTargets.js +33 -20
- package/dist/charts/ChartFrame.d.ts +71 -116
- package/dist/charts/ChartFrame.js +306 -97
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +37 -48
- package/dist/charts/ChartLegend.js +243 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +34 -20
- package/dist/charts/ChartPrimitives.d.ts +50 -305
- package/dist/charts/ChartPrimitives.js +65 -413
- package/dist/charts/ChartTooltip.d.ts +20 -26
- package/dist/charts/ChartTooltip.js +77 -40
- package/dist/charts/Heatmap.d.ts +35 -0
- package/dist/charts/Heatmap.js +307 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +174 -121
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +159 -136
- package/dist/charts/Sparkline.d.ts +107 -0
- package/dist/charts/Sparkline.js +244 -0
- package/dist/charts/StatChart.d.ts +37 -13
- package/dist/charts/StatChart.js +82 -35
- package/dist/charts/barChartGeometry.d.ts +138 -86
- package/dist/charts/barChartGeometry.js +122 -101
- package/dist/charts/barChartLegend.d.ts +14 -18
- package/dist/charts/barChartLegend.js +18 -13
- package/dist/charts/chartFormat.d.ts +12 -18
- package/dist/charts/chartFormat.js +20 -52
- package/dist/charts/chartPalette.d.ts +33 -0
- package/dist/charts/chartPalette.js +68 -0
- package/dist/charts/chartScales.d.ts +41 -108
- package/dist/charts/chartScales.js +62 -128
- package/dist/charts/chartSelection.d.ts +15 -0
- package/dist/charts/chartSelection.js +22 -0
- package/dist/charts/constants.d.ts +100 -256
- package/dist/charts/constants.js +109 -275
- package/dist/charts/heatmapGeometry.d.ts +95 -0
- package/dist/charts/heatmapGeometry.js +155 -0
- package/dist/charts/lineChartGeometry.d.ts +108 -58
- package/dist/charts/lineChartGeometry.js +120 -78
- package/dist/charts/pieChartGeometry.d.ts +66 -40
- package/dist/charts/pieChartGeometry.js +68 -38
- package/dist/charts/types.d.ts +206 -466
- package/dist/charts/types.js +55 -144
- package/dist/charts/useCartesianChartLayout.d.ts +28 -59
- package/dist/charts/useCartesianChartLayout.js +47 -32
- package/dist/charts/useChartDimensions.d.ts +19 -40
- package/dist/charts/useChartDimensions.js +40 -56
- package/dist/charts/useChartFormatters.d.ts +6 -15
- package/dist/charts/useChartFormatters.js +4 -9
- package/dist/charts/useChartInteraction.d.ts +69 -116
- package/dist/charts/useChartInteraction.js +148 -78
- package/dist/charts/useChartTooltipPosition.d.ts +29 -39
- package/dist/charts/useChartTooltipPosition.js +14 -5
- package/dist/charts/useSeriesColorResolver.d.ts +11 -33
- package/dist/charts/useSeriesColorResolver.js +19 -12
- package/dist/chips/Chip.d.ts +155 -44
- package/dist/chips/Chip.js +329 -155
- package/dist/chips/ChipGroup.d.ts +53 -0
- package/dist/chips/ChipGroup.js +98 -0
- package/dist/drawer/Drawer.d.ts +83 -17
- package/dist/drawer/Drawer.js +399 -65
- package/dist/dropdown/Dropdown.d.ts +80 -63
- package/dist/dropdown/Dropdown.js +127 -129
- package/dist/editor/CodeEditor.d.ts +119 -40
- package/dist/editor/CodeEditor.js +490 -400
- package/dist/editor/CodeEditorReactWidget.d.ts +20 -17
- package/dist/editor/CodeEditorReactWidget.js +28 -21
- package/dist/feedback/Alert.d.ts +49 -0
- package/dist/feedback/Alert.js +172 -0
- package/dist/feedback/EmptyState.d.ts +39 -0
- package/dist/feedback/EmptyState.js +109 -0
- package/dist/feedback/ProgressBar.d.ts +125 -0
- package/dist/feedback/ProgressBar.js +183 -0
- package/dist/feedback/ProgressCircle.d.ts +99 -0
- package/dist/feedback/ProgressCircle.js +187 -0
- package/dist/feedback/Skeleton.d.ts +69 -0
- package/dist/feedback/Skeleton.js +130 -0
- package/dist/feedback/Spinner.d.ts +63 -0
- package/dist/feedback/Spinner.js +141 -0
- package/dist/fonts.css +70 -0
- package/dist/hooks/internal/useIsClient.d.ts +2 -0
- package/dist/hooks/internal/useIsClient.js +14 -0
- package/dist/hooks/useClipboard.d.ts +19 -0
- package/dist/hooks/useClipboard.js +45 -0
- package/dist/hooks/useControlledOpenState.d.ts +21 -0
- package/dist/hooks/useControlledOpenState.js +19 -0
- package/dist/hooks/useControlledState.d.ts +19 -0
- package/dist/hooks/useControlledState.js +22 -0
- package/dist/hooks/useDebouncedValue.d.ts +14 -0
- package/dist/hooks/useDebouncedValue.js +33 -0
- package/dist/hooks/useDisclosure.d.ts +26 -0
- package/dist/hooks/useDisclosure.js +36 -0
- package/dist/hooks/useDismiss.d.ts +23 -27
- package/dist/hooks/useDismiss.js +39 -27
- package/dist/hooks/useElementClientSize.d.ts +10 -10
- package/dist/hooks/useElementClientSize.js +8 -11
- package/dist/hooks/useElementWidth.d.ts +6 -13
- package/dist/hooks/useElementWidth.js +6 -14
- package/dist/hooks/useField.d.ts +47 -0
- package/dist/hooks/useField.js +40 -0
- package/dist/hooks/useHotkey.d.ts +77 -0
- package/dist/hooks/useHotkey.js +246 -0
- package/dist/hooks/useIsMac.d.ts +12 -0
- package/dist/hooks/useIsMac.js +27 -0
- package/dist/hooks/useIsomorphicLayoutEffect.d.ts +17 -0
- package/dist/hooks/useIsomorphicLayoutEffect.js +20 -0
- package/dist/hooks/useLocalStorage.d.ts +28 -0
- package/dist/hooks/useLocalStorage.js +145 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.js +23 -0
- package/dist/hooks/usePrefersReducedMotion.d.ts +12 -0
- package/dist/hooks/usePrefersReducedMotion.js +25 -0
- package/dist/hooks/useResize.d.ts +42 -62
- package/dist/hooks/useResize.js +43 -31
- package/dist/icons/Icon.d.ts +64 -37
- package/dist/icons/Icon.js +96 -37
- package/dist/icons/internal/IconSlot.d.ts +10 -0
- package/dist/icons/internal/IconSlot.js +32 -0
- package/dist/inputs/CheckboxGroup.d.ts +115 -0
- package/dist/inputs/CheckboxGroup.js +183 -0
- package/dist/inputs/CheckboxInput.d.ts +98 -28
- package/dist/inputs/CheckboxInput.js +218 -88
- package/dist/inputs/ColorInput.d.ts +115 -29
- package/dist/inputs/ColorInput.js +748 -326
- package/dist/inputs/CopyInput.d.ts +49 -20
- package/dist/inputs/CopyInput.js +57 -49
- package/dist/inputs/CronInput.d.ts +94 -0
- package/dist/inputs/CronInput.js +618 -0
- package/dist/inputs/DateInput.d.ts +175 -28
- package/dist/inputs/DateInput.js +1109 -451
- package/dist/inputs/DurationInput.d.ts +101 -0
- package/dist/inputs/DurationInput.js +441 -0
- package/dist/inputs/Field.d.ts +75 -0
- package/dist/inputs/Field.js +247 -0
- package/dist/inputs/Fieldset.d.ts +53 -0
- package/dist/inputs/Fieldset.js +149 -0
- package/dist/inputs/FileInput.d.ts +110 -0
- package/dist/inputs/FileInput.js +476 -0
- package/dist/inputs/Input.d.ts +148 -187
- package/dist/inputs/Input.js +339 -259
- package/dist/inputs/KeyValueInput.d.ts +120 -0
- package/dist/inputs/KeyValueInput.js +383 -0
- package/dist/inputs/MultiSelectInput.d.ts +165 -54
- package/dist/inputs/MultiSelectInput.js +175 -559
- package/dist/inputs/NumberInput.d.ts +65 -9
- package/dist/inputs/NumberInput.js +197 -40
- package/dist/inputs/PasswordInput.d.ts +17 -12
- package/dist/inputs/PasswordInput.js +33 -33
- package/dist/inputs/PinInput.d.ts +117 -0
- package/dist/inputs/PinInput.js +364 -0
- package/dist/inputs/RadioGroup.d.ts +115 -0
- package/dist/inputs/RadioGroup.js +179 -0
- package/dist/inputs/RadioInput.d.ts +87 -24
- package/dist/inputs/RadioInput.js +182 -95
- package/dist/inputs/SearchInput.d.ts +66 -0
- package/dist/inputs/SearchInput.js +156 -0
- package/dist/inputs/SelectInput.d.ts +195 -55
- package/dist/inputs/SelectInput.js +1308 -446
- package/dist/inputs/SliderInput.d.ts +150 -30
- package/dist/inputs/SliderInput.js +441 -186
- package/dist/inputs/SwitchInput.d.ts +109 -0
- package/dist/inputs/SwitchInput.js +248 -0
- package/dist/inputs/TagInput.d.ts +117 -0
- package/dist/inputs/TagInput.js +408 -0
- package/dist/inputs/TextAreaInput.d.ts +146 -44
- package/dist/inputs/TextAreaInput.js +298 -198
- package/dist/inputs/TextInput.d.ts +4 -13
- package/dist/inputs/TextInput.js +13 -48
- package/dist/inputs/ToggleInput.d.ts +120 -22
- package/dist/inputs/ToggleInput.js +262 -116
- package/dist/inputs/internal/bareField.d.ts +18 -0
- package/dist/inputs/internal/bareField.js +38 -0
- package/dist/inputs/internal/devWarn.d.ts +7 -0
- package/dist/inputs/internal/devWarn.js +30 -0
- package/dist/inputs/internal/fieldFrame.d.ts +34 -0
- package/dist/inputs/internal/fieldFrame.js +64 -0
- package/dist/inputs/internal/fieldWiring.d.ts +50 -0
- package/dist/inputs/internal/fieldWiring.js +38 -0
- package/dist/inputs/internal/innerButton.d.ts +2 -0
- package/dist/inputs/internal/innerButton.js +24 -0
- package/dist/inputs/internal/ownField.d.ts +45 -0
- package/dist/inputs/internal/ownField.js +58 -0
- package/dist/inputs/internal/predicates.d.ts +9 -0
- package/dist/inputs/internal/predicates.js +11 -0
- package/dist/inputs/internal/useComboboxPopover.d.ts +46 -0
- package/dist/inputs/internal/useComboboxPopover.js +92 -0
- package/dist/json/JsonViewer.d.ts +62 -0
- package/dist/json/JsonViewer.js +483 -0
- package/dist/layout/Box.d.ts +87 -0
- package/dist/layout/Box.js +109 -0
- package/dist/layout/Divider.d.ts +25 -0
- package/dist/layout/Divider.js +70 -0
- package/dist/layout/Flex.d.ts +139 -0
- package/dist/layout/Flex.js +165 -0
- package/dist/layout/FlexItem.d.ts +72 -0
- package/dist/layout/FlexItem.js +84 -0
- package/dist/layout/Grid.d.ts +140 -0
- package/dist/layout/Grid.js +178 -0
- package/dist/layout/Portal.d.ts +29 -0
- package/dist/layout/Portal.js +27 -0
- package/dist/layout/ResizablePanels.d.ts +88 -0
- package/dist/layout/ResizablePanels.js +198 -0
- package/dist/layout/ResizeHandle.d.ts +48 -0
- package/dist/layout/ResizeHandle.js +143 -0
- package/dist/layout/ScrollArea.d.ts +30 -0
- package/dist/layout/ScrollArea.js +138 -0
- package/dist/links/Link.d.ts +101 -1
- package/dist/links/Link.js +166 -4
- package/dist/lists/BulletedList.d.ts +25 -7
- package/dist/lists/BulletedList.js +72 -27
- package/dist/lists/DescriptionList.d.ts +91 -0
- package/dist/lists/DescriptionList.js +147 -0
- package/dist/menu/ContextMenu.d.ts +64 -0
- package/dist/menu/ContextMenu.js +34 -0
- package/dist/menu/Menu.d.ts +280 -0
- package/dist/menu/Menu.js +1003 -0
- package/dist/modal/ConfirmDialog.d.ts +55 -0
- package/dist/modal/ConfirmDialog.js +151 -0
- package/dist/modal/Modal.d.ts +64 -14
- package/dist/modal/Modal.js +189 -48
- package/dist/navigation/Breadcrumbs.d.ts +65 -0
- package/dist/navigation/Breadcrumbs.js +243 -0
- package/dist/navigation/CommandPalette.d.ts +83 -0
- package/dist/navigation/CommandPalette.js +509 -0
- package/dist/navigation/Pagination.d.ts +87 -0
- package/dist/navigation/Pagination.js +300 -0
- package/dist/navigation/SidebarNav.d.ts +107 -0
- package/dist/navigation/SidebarNav.js +341 -0
- package/dist/navigation/Stepper.d.ts +52 -0
- package/dist/navigation/Stepper.js +207 -0
- package/dist/navigation/Tabs.d.ts +113 -0
- package/dist/navigation/Tabs.js +543 -0
- package/dist/navigation/Topbar.d.ts +20 -0
- package/dist/navigation/Topbar.js +62 -0
- package/dist/overlay/OverlayProvider.d.ts +28 -32
- package/dist/overlay/OverlayProvider.js +42 -93
- package/dist/overlay/useOverlay.d.ts +88 -12
- package/dist/overlay/useOverlay.js +220 -43
- package/dist/overlays/Popover.d.ts +114 -0
- package/dist/overlays/Popover.js +389 -0
- package/dist/shapes/Circle.d.ts +84 -8
- package/dist/shapes/Circle.js +122 -20
- package/dist/shapes/Square.d.ts +84 -8
- package/dist/shapes/Square.js +123 -20
- package/dist/styles/mixins.d.ts +35 -0
- package/dist/styles/mixins.js +60 -0
- package/dist/styles.css +1 -202
- package/dist/table/InfiniteSpreadsheet.d.ts +140 -10
- package/dist/table/InfiniteSpreadsheet.js +762 -225
- package/dist/table/InfiniteTable.d.ts +116 -14
- package/dist/table/InfiniteTable.js +287 -429
- package/dist/table/SpreadsheetCellEditor.d.ts +54 -6
- package/dist/table/SpreadsheetCellEditor.js +163 -84
- package/dist/table/TableCore.d.ts +252 -0
- package/dist/table/TableCore.js +1082 -0
- package/dist/table/VirtualizedInfiniteTable.d.ts +104 -14
- package/dist/table/VirtualizedInfiniteTable.js +280 -219
- package/dist/table/types.d.ts +66 -244
- package/dist/table/types.js +0 -51
- package/dist/table/useInfiniteScrollSentinel.d.ts +25 -21
- package/dist/table/useInfiniteScrollSentinel.js +38 -30
- package/dist/table/useSpreadsheetCellNavigation.d.ts +44 -0
- package/dist/table/useSpreadsheetCellNavigation.js +141 -0
- package/dist/table/useTableColumnLayout.d.ts +90 -25
- package/dist/table/useTableColumnLayout.js +255 -50
- package/dist/table/useTableKeyboardNavigation.d.ts +32 -21
- package/dist/table/useTableKeyboardNavigation.js +95 -71
- package/dist/table/useTableRowSelection.d.ts +24 -25
- package/dist/table/useTableRowSelection.js +57 -84
- package/dist/table/useTableVirtualizer.d.ts +20 -0
- package/dist/table/useTableVirtualizer.js +48 -0
- package/dist/text/Bold.d.ts +5 -6
- package/dist/text/Bold.js +16 -15
- package/dist/text/Code.d.ts +5 -6
- package/dist/text/Code.js +16 -25
- package/dist/text/CodeBlock.d.ts +77 -0
- package/dist/text/CodeBlock.js +373 -0
- package/dist/text/EditableText.d.ts +55 -15
- package/dist/text/EditableText.js +153 -135
- package/dist/text/Ellipsis.d.ts +34 -8
- package/dist/text/Ellipsis.js +55 -23
- package/dist/text/Kbd.d.ts +72 -0
- package/dist/text/Kbd.js +284 -0
- package/dist/text/MarkdownText.d.ts +27 -10
- package/dist/text/MarkdownText.js +317 -300
- package/dist/text/RequiredMarker.d.ts +17 -5
- package/dist/text/RequiredMarker.js +34 -36
- package/dist/text/Selectable.d.ts +5 -6
- package/dist/text/Selectable.js +16 -13
- package/dist/text/Span.d.ts +82 -0
- package/dist/text/Span.js +115 -0
- package/dist/text/Text.d.ts +128 -41
- package/dist/text/Text.js +209 -76
- package/dist/theme/GalaxyProvider.d.ts +75 -0
- package/dist/theme/GalaxyProvider.js +223 -0
- package/dist/theme/ThemeSwitcher.d.ts +52 -0
- package/dist/theme/ThemeSwitcher.js +94 -0
- package/dist/theme/enums.d.ts +118 -0
- package/dist/theme/enums.js +144 -0
- package/dist/theme/tokens/dark.d.ts +2 -0
- package/dist/theme/tokens/dark.js +275 -0
- package/dist/theme/tokens/generate.d.ts +15 -0
- package/dist/theme/tokens/generate.js +47 -0
- package/dist/theme/tokens/light.d.ts +2 -0
- package/dist/theme/tokens/light.js +274 -0
- package/dist/theme/tokens/palette.d.ts +14 -0
- package/dist/theme/tokens/palette.js +153 -0
- package/dist/theme/tokens/scales.d.ts +26 -0
- package/dist/theme/tokens/scales.js +154 -0
- package/dist/theme/tokens/t.d.ts +3 -0
- package/dist/theme/tokens/t.js +25 -0
- package/dist/theme/tokens/types.d.ts +189 -0
- package/dist/theme/tokens/types.js +0 -0
- package/dist/theme/useGalaxyTheme.d.ts +46 -0
- package/dist/theme/useGalaxyTheme.js +36 -0
- package/dist/theme/useInverseScope.d.ts +18 -0
- package/dist/theme/useInverseScope.js +33 -0
- package/dist/three/GalaxyLogomark3D.d.ts +46 -0
- package/dist/three/GalaxyLogomark3D.js +134 -0
- package/dist/three/assets/galaxy-logomark.js +4 -0
- package/dist/three/galaxyLogomark3DScene.d.ts +27 -0
- package/dist/three/galaxyLogomark3DScene.js +165 -0
- package/dist/timeline/Timeline.d.ts +120 -0
- package/dist/timeline/Timeline.js +301 -0
- package/dist/toast/Toast.d.ts +43 -19
- package/dist/toast/Toast.js +130 -89
- package/dist/toast/ToastProvider.d.ts +23 -23
- package/dist/toast/ToastProvider.js +298 -101
- package/dist/toast/ToastViewport.d.ts +12 -0
- package/dist/toast/ToastViewport.js +210 -0
- package/dist/toast/useToast.d.ts +139 -5
- package/dist/toast/useToast.js +15 -13
- package/dist/tokens.css +654 -0
- package/dist/tooltip/Tooltip.d.ts +64 -44
- package/dist/tooltip/Tooltip.js +280 -73
- package/dist/tooltip/internal/LazyTooltip.d.ts +7 -0
- package/dist/tooltip/internal/LazyTooltip.js +53 -0
- package/dist/transform/Fade.d.ts +33 -11
- package/dist/transform/Fade.js +71 -19
- package/dist/transform/Flasher.d.ts +25 -0
- package/dist/transform/Flasher.js +39 -0
- package/dist/transform/Rotate.d.ts +24 -12
- package/dist/transform/Rotate.js +36 -22
- package/dist/transform/ScaleFade.d.ts +36 -11
- package/dist/transform/ScaleFade.js +86 -28
- package/dist/transform/internal/CollapseMotion.d.ts +10 -0
- package/dist/transform/internal/CollapseMotion.js +65 -0
- package/dist/tree/Tree.d.ts +85 -0
- package/dist/tree/Tree.js +387 -0
- package/dist/tree/treeRow.d.ts +39 -0
- package/dist/tree/treeRow.js +75 -0
- package/dist/utils/colors.d.ts +46 -13
- package/dist/utils/colors.js +92 -34
- package/dist/utils/css.d.ts +23 -0
- package/dist/utils/css.js +30 -0
- package/dist/utils/format.d.ts +58 -0
- package/dist/utils/format.js +220 -0
- package/dist/vite/index.d.ts +16 -0
- package/dist/vite/index.js +52 -0
- package/dist/widget/Widget.d.ts +164 -48
- package/dist/widget/Widget.js +335 -96
- package/dist/widget/WidgetGroup.d.ts +36 -0
- package/dist/widget/WidgetGroup.js +103 -0
- package/package.json +855 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -30
- package/dist/inputs/SwitcherInput.js +0 -81
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
|
@@ -1,15 +1,33 @@
|
|
|
1
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
/** Item type step; canonical rungs `SMALL MEDIUM LARGE` (the 1.x members). */
|
|
2
3
|
export declare enum BulletedListSize {
|
|
4
|
+
/** `body_sm` items (12px on 16px). */
|
|
3
5
|
SMALL = "SMALL",
|
|
6
|
+
/** `body_md` items (13px on 16px). The default. */
|
|
4
7
|
MEDIUM = "MEDIUM",
|
|
8
|
+
/** `body_lg` items (14px on 20px). */
|
|
5
9
|
LARGE = "LARGE"
|
|
6
10
|
}
|
|
7
|
-
export interface BulletedListProps {
|
|
8
|
-
/**
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
export interface BulletedListProps extends AriaAttributes {
|
|
12
|
+
/**
|
|
13
|
+
* One entry per bullet: a string, inline content (`Span`, `Code`, `Link`), or content ending in
|
|
14
|
+
* a nested `BulletedList`. Required.
|
|
15
|
+
*/
|
|
16
|
+
items: ReactNode[];
|
|
17
|
+
/**
|
|
18
|
+
* Type step of every item: `body_sm`, `body_md` or `body_lg`.
|
|
19
|
+
* @default BulletedListSize.MEDIUM
|
|
20
|
+
*/
|
|
11
21
|
size?: BulletedListSize;
|
|
22
|
+
/** DOM id on the root `<ul>`. */
|
|
23
|
+
id?: string;
|
|
24
|
+
/** Any `data-*` attribute, forwarded to the root `<ul>`. */
|
|
25
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
26
|
+
/** Extra class on the root `<ul>`. */
|
|
27
|
+
className?: string;
|
|
28
|
+
/** Inline style on the root `<ul>`; only for setting CSS custom properties. */
|
|
29
|
+
style?: CSSProperties;
|
|
12
30
|
}
|
|
13
|
-
/** An unordered list of
|
|
14
|
-
declare const BulletedList: (
|
|
31
|
+
/** An unordered list of short items, each rendered through `Text`. */
|
|
32
|
+
declare const BulletedList: import("react").ForwardRefExoticComponent<BulletedListProps & import("react").RefAttributes<HTMLUListElement>>;
|
|
15
33
|
export default BulletedList;
|
|
@@ -1,43 +1,88 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import Text, { TextSize } from "../text/Text.js";
|
|
1
|
+
import Text, { TextSize, TextWeight } from "../text/Text.js";
|
|
3
2
|
/* empty css */
|
|
4
3
|
import { styled } from "@linaria/react";
|
|
5
|
-
import {
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/lists/BulletedList.tsx
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
propsAsIs: false
|
|
22
|
-
});
|
|
23
|
-
/** Item text size — maps onto the matching `TextSize` step. */
|
|
7
|
+
/**
|
|
8
|
+
* A short unordered list: one bullet per item, items stacked with the 1.x spacing (8px indent, a
|
|
9
|
+
* 16px bullet column, no gap), each item's copy rendered through `Text` at the list's size. An
|
|
10
|
+
* item is a string or inline content (`Span`, `Code`, `Link`), and may end in a nested
|
|
11
|
+
* `BulletedList`, which indents by its own 8px plus the bullet column.
|
|
12
|
+
*
|
|
13
|
+
* The bullet is a `Text` glyph hidden from screen readers, sharing the item's size so it sits on
|
|
14
|
+
* the item's first line at every size; long items wrap beside it, never under it. The list keeps
|
|
15
|
+
* its semantics in Safari with `role="list"` (the package reset sets `list-style: none`).
|
|
16
|
+
*
|
|
17
|
+
* For a few lines of supporting copy, not interactive rows (`Menu`), navigation (`SidebarNav`),
|
|
18
|
+
* key / value pairs (`DescriptionList`) or numbered steps.
|
|
19
|
+
*/
|
|
20
|
+
/** Item type step; canonical rungs `SMALL MEDIUM LARGE` (the 1.x members). */
|
|
24
21
|
var BulletedListSize = /* @__PURE__ */ function(BulletedListSize) {
|
|
22
|
+
/** `body_sm` items (12px on 16px). */
|
|
25
23
|
BulletedListSize["SMALL"] = "SMALL";
|
|
24
|
+
/** `body_md` items (13px on 16px). The default. */
|
|
26
25
|
BulletedListSize["MEDIUM"] = "MEDIUM";
|
|
26
|
+
/** `body_lg` items (14px on 20px). */
|
|
27
27
|
BulletedListSize["LARGE"] = "LARGE";
|
|
28
28
|
return BulletedListSize;
|
|
29
29
|
}({});
|
|
30
|
+
/** The list: a column with the 1.x 8px indent and no gap. */
|
|
31
|
+
var Root = /*#__PURE__*/ styled("ul")({
|
|
32
|
+
name: "Root",
|
|
33
|
+
class: "gx-BulletedList-r1o45025",
|
|
34
|
+
propsAsIs: false
|
|
35
|
+
});
|
|
36
|
+
/** One item: the bullet column and the copy, top-aligned. */
|
|
37
|
+
var Item = /*#__PURE__*/ styled("li")({
|
|
38
|
+
name: "Item",
|
|
39
|
+
class: "gx-BulletedList-Item-i13x8jj4",
|
|
40
|
+
propsAsIs: false
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* The 16px bullet column (1.x geometry). A flex box, so the glyph's own line box (the item's
|
|
44
|
+
* line height) sets its height instead of the column's inherited strut.
|
|
45
|
+
*/
|
|
46
|
+
var Marker = /*#__PURE__*/ styled("div")({
|
|
47
|
+
name: "Marker",
|
|
48
|
+
class: "gx-BulletedList-Marker-m1kl5jbx",
|
|
49
|
+
propsAsIs: false
|
|
50
|
+
});
|
|
51
|
+
/** The item copy takes the rest of the row, so long items wrap beside the bullet. */
|
|
52
|
+
var ITEM_TEXT_CSS = "gx-BulletedList-ITEM_TEXT_CSS-i1dtejob";
|
|
30
53
|
var BULLETED_LIST_SIZE_TO_TEXT_SIZE_MAP = {
|
|
31
54
|
["SMALL"]: TextSize.BODY_SM,
|
|
32
55
|
["MEDIUM"]: TextSize.BODY_MD,
|
|
33
56
|
["LARGE"]: TextSize.BODY_LG
|
|
34
57
|
};
|
|
35
|
-
/** An unordered list of
|
|
36
|
-
var BulletedList = ({ items, size = "MEDIUM" })
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
};
|
|
58
|
+
/** An unordered list of short items, each rendered through `Text`. */
|
|
59
|
+
var BulletedList = forwardRef(function BulletedList({ items, size = "MEDIUM", id, className, style, ...rest }, ref) {
|
|
60
|
+
const textSize = BULLETED_LIST_SIZE_TO_TEXT_SIZE_MAP[size];
|
|
61
|
+
const entries = items.map((item, position) => ({
|
|
62
|
+
item,
|
|
63
|
+
position
|
|
64
|
+
}));
|
|
65
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
66
|
+
...rest,
|
|
67
|
+
ref,
|
|
68
|
+
role: "list",
|
|
69
|
+
id,
|
|
70
|
+
className,
|
|
71
|
+
style,
|
|
72
|
+
children: entries.map(({ item, position }) => /* @__PURE__ */ jsxs(Item, { children: [/* @__PURE__ */ jsx(Marker, { children: /* @__PURE__ */ jsx(Text, {
|
|
73
|
+
as: "span",
|
|
74
|
+
size: textSize,
|
|
75
|
+
weight: TextWeight.MEDIUM,
|
|
76
|
+
"aria-hidden": true,
|
|
77
|
+
children: "•"
|
|
78
|
+
}) }), /* @__PURE__ */ jsx(Text, {
|
|
79
|
+
as: "div",
|
|
80
|
+
size: textSize,
|
|
81
|
+
className: ITEM_TEXT_CSS,
|
|
82
|
+
children: item
|
|
83
|
+
})] }, position))
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
BulletedList.displayName = "BulletedList";
|
|
42
87
|
//#endregion
|
|
43
88
|
export { BulletedListSize, BulletedList as default };
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
import { FontFamily, Orientation } from "../theme/enums.js";
|
|
3
|
+
/** Type step of labels and values; canonical rungs `SMALL MEDIUM LARGE`. */
|
|
4
|
+
export declare enum DescriptionListSize {
|
|
5
|
+
/** `body_sm` labels and values; `X_SMALL` copy button. */
|
|
6
|
+
SMALL = "SMALL",
|
|
7
|
+
/** `body_md` labels and values; `X_SMALL` copy button. The default. */
|
|
8
|
+
MEDIUM = "MEDIUM",
|
|
9
|
+
/** `body_lg` labels and values; `SMALL` copy button. */
|
|
10
|
+
LARGE = "LARGE"
|
|
11
|
+
}
|
|
12
|
+
/** Fields every item has, whatever its value. */
|
|
13
|
+
interface DescriptionListItemBase {
|
|
14
|
+
/** The term: a short label, rendered in secondary text. Keep it short; it does not wrap beside a value. */
|
|
15
|
+
label: string;
|
|
16
|
+
/**
|
|
17
|
+
* Font family of a string or number value. `MONO` for ids, hashes, paths and timestamps.
|
|
18
|
+
* @default FontFamily.SANS
|
|
19
|
+
*/
|
|
20
|
+
family?: FontFamily;
|
|
21
|
+
}
|
|
22
|
+
/** An item whose value is text (a string or number), or empty. */
|
|
23
|
+
interface DescriptionListTextItem {
|
|
24
|
+
/** The value. A string or number renders as `Text`; `null`, `undefined` or `""` renders an em dash. */
|
|
25
|
+
value: string | number | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Shows a copy button after the value. Copies `copyValue`, else the value as text.
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
isCopyable?: boolean;
|
|
31
|
+
/** Text the copy button writes, when it differs from the shown value (a full id behind a short one). */
|
|
32
|
+
copyValue?: string;
|
|
33
|
+
}
|
|
34
|
+
/** An item whose value is a node, without a copy button. */
|
|
35
|
+
interface DescriptionListNodeItem {
|
|
36
|
+
/** The value: any node (a labeled `Beacon`, a `Link`, a `Chip`). */
|
|
37
|
+
value: ReactNode;
|
|
38
|
+
/**
|
|
39
|
+
* A node value is copyable only with a `copyValue`.
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
isCopyable?: false;
|
|
43
|
+
/** No copy text without a copy button. */
|
|
44
|
+
copyValue?: undefined;
|
|
45
|
+
}
|
|
46
|
+
/** An item whose value is a node, with a copy button writing `copyValue`. */
|
|
47
|
+
interface DescriptionListCopyableNodeItem {
|
|
48
|
+
/** The value: any node (a labeled `Beacon`, a `Link`, a `Chip`). */
|
|
49
|
+
value: ReactNode;
|
|
50
|
+
/** Shows a copy button after the value. */
|
|
51
|
+
isCopyable: true;
|
|
52
|
+
/** Text the copy button writes; required, a node cannot be read as text. */
|
|
53
|
+
copyValue: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* One row: a label and a value. A node value with `isCopyable` needs a `copyValue` (a type
|
|
57
|
+
* error otherwise: there would be nothing to copy).
|
|
58
|
+
*/
|
|
59
|
+
export type DescriptionListItem = DescriptionListItemBase & (DescriptionListTextItem | DescriptionListNodeItem | DescriptionListCopyableNodeItem);
|
|
60
|
+
/** How many items sit side by side. */
|
|
61
|
+
export type DescriptionListColumns = 1 | 2 | 3 | 4;
|
|
62
|
+
export interface DescriptionListProps extends AriaAttributes {
|
|
63
|
+
/** The rows, in order. Required. */
|
|
64
|
+
items: DescriptionListItem[];
|
|
65
|
+
/**
|
|
66
|
+
* Type step of labels and values (`body_sm` / `body_md` / `body_lg`) and the copy button's rung.
|
|
67
|
+
* @default DescriptionListSize.MEDIUM
|
|
68
|
+
*/
|
|
69
|
+
size?: DescriptionListSize;
|
|
70
|
+
/**
|
|
71
|
+
* `HORIZONTAL`: label beside value, labels aligned in one column. `VERTICAL`: label above value.
|
|
72
|
+
* @default Orientation.HORIZONTAL
|
|
73
|
+
*/
|
|
74
|
+
orientation?: Orientation;
|
|
75
|
+
/**
|
|
76
|
+
* Number of items side by side. Items fill rows left to right.
|
|
77
|
+
* @default 1
|
|
78
|
+
*/
|
|
79
|
+
columns?: DescriptionListColumns;
|
|
80
|
+
/** DOM id on the root `<dl>`. */
|
|
81
|
+
id?: string;
|
|
82
|
+
/** Any `data-*` attribute, forwarded to the root `<dl>`. */
|
|
83
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
84
|
+
/** Extra class on the root `<dl>`. */
|
|
85
|
+
className?: string;
|
|
86
|
+
/** Inline style on the root `<dl>`; only for setting CSS custom properties. */
|
|
87
|
+
style?: CSSProperties;
|
|
88
|
+
}
|
|
89
|
+
/** Labelled values in a `<dl>`: labels aligned in one column, or above their values. */
|
|
90
|
+
declare const DescriptionList: import("react").ForwardRefExoticComponent<DescriptionListProps & import("react").RefAttributes<HTMLDListElement>>;
|
|
91
|
+
export default DescriptionList;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { FontFamily, Orientation } from "../theme/enums.js";
|
|
2
|
+
import Text, { TextSize, TextVariant } from "../text/Text.js";
|
|
3
|
+
import { ButtonSize, ButtonVariant } from "../buttons/Button.js";
|
|
4
|
+
import CopyButton from "../buttons/CopyButton.js";
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { styled } from "@linaria/react";
|
|
7
|
+
import { forwardRef } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import { cx } from "@linaria/core";
|
|
10
|
+
//#region src/lists/DescriptionList.tsx
|
|
11
|
+
/**
|
|
12
|
+
* Labelled values: the detail pane of a run, a source or a user. Each item is a label (the term,
|
|
13
|
+
* secondary text) and a value: a string or number through `Text` (optionally mono, optionally
|
|
14
|
+
* with a copy button), or any node (a labeled `Beacon`, `Link`, `Chip`). An empty value renders an em dash.
|
|
15
|
+
*
|
|
16
|
+
* `HORIZONTAL` puts every label beside its value with all labels of an item column in one grid
|
|
17
|
+
* track (`display: contents` on the item group + a `max-content` label track), so labels align
|
|
18
|
+
* without measuring. `VERTICAL` stacks label above value. `columns` sets how many items sit side
|
|
19
|
+
* by side. Rows take the copy button's height when any item is copyable, so the list keeps one
|
|
20
|
+
* rhythm.
|
|
21
|
+
*
|
|
22
|
+
* Read-only: editing is a form (`Field` + inputs); a list of plain lines is `BulletedList`.
|
|
23
|
+
*/
|
|
24
|
+
/** Type step of labels and values; canonical rungs `SMALL MEDIUM LARGE`. */
|
|
25
|
+
var DescriptionListSize = /* @__PURE__ */ function(DescriptionListSize) {
|
|
26
|
+
/** `body_sm` labels and values; `X_SMALL` copy button. */
|
|
27
|
+
DescriptionListSize["SMALL"] = "SMALL";
|
|
28
|
+
/** `body_md` labels and values; `X_SMALL` copy button. The default. */
|
|
29
|
+
DescriptionListSize["MEDIUM"] = "MEDIUM";
|
|
30
|
+
/** `body_lg` labels and values; `SMALL` copy button. */
|
|
31
|
+
DescriptionListSize["LARGE"] = "LARGE";
|
|
32
|
+
return DescriptionListSize;
|
|
33
|
+
}({});
|
|
34
|
+
/** The list: a grid whose tracks come from the orientation and column blocks. */
|
|
35
|
+
var Root = /*#__PURE__*/ styled("dl")({
|
|
36
|
+
name: "Root",
|
|
37
|
+
class: "gx-DescriptionList-r1rtdwfl",
|
|
38
|
+
propsAsIs: false
|
|
39
|
+
});
|
|
40
|
+
/** One label / value group. A `div` grouping a `dt` and its `dd` is valid in a `<dl>`. */
|
|
41
|
+
var Item = /*#__PURE__*/ styled("div")({
|
|
42
|
+
name: "Item",
|
|
43
|
+
class: "gx-DescriptionList-Item-i1gmyim5",
|
|
44
|
+
propsAsIs: false
|
|
45
|
+
});
|
|
46
|
+
/** The label cell. */
|
|
47
|
+
var Term = /*#__PURE__*/ styled("dt")({
|
|
48
|
+
name: "Term",
|
|
49
|
+
class: "gx-DescriptionList-Term-t198hz73",
|
|
50
|
+
propsAsIs: false
|
|
51
|
+
});
|
|
52
|
+
/** The value cell: the value and its copy button; long ids and paths wrap inside the track. */
|
|
53
|
+
var Details = /*#__PURE__*/ styled("dd")({
|
|
54
|
+
name: "Details",
|
|
55
|
+
class: "gx-DescriptionList-Details-d15164ci",
|
|
56
|
+
propsAsIs: false
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* A node value sits in a `Text` box of the list's step whose first flex item is a zero-width text
|
|
60
|
+
* strut, so the value's baseline is a real text baseline at that step (not, say, the synthesized
|
|
61
|
+
* bottom edge of a `Beacon` dot) and the label lines up with it. Marks (`Beacon`, `Chip`, `Link`)
|
|
62
|
+
* center on the strut's line.
|
|
63
|
+
*/
|
|
64
|
+
var NODE_VALUE_CSS = "gx-DescriptionList-NODE_VALUE_CSS-n1mikopx";
|
|
65
|
+
var DESCRIPTION_LIST_ORIENTATION_TO_CSS_MAP = {
|
|
66
|
+
[Orientation.HORIZONTAL]: "gx-DescriptionList-Orientation_HORIZONTAL-o17z38i7",
|
|
67
|
+
[Orientation.VERTICAL]: "gx-DescriptionList-Orientation_VERTICAL-oarm5a8"
|
|
68
|
+
};
|
|
69
|
+
var DESCRIPTION_LIST_COLUMNS_TO_CSS_MAP = {
|
|
70
|
+
1: "gx-DescriptionList-1-_1itek1z",
|
|
71
|
+
2: "gx-DescriptionList-2-_19oquh",
|
|
72
|
+
3: "gx-DescriptionList-3-_108p3ql",
|
|
73
|
+
4: "gx-DescriptionList-4-_10x7q9y"
|
|
74
|
+
};
|
|
75
|
+
/** Applied only when some item is copyable: every row is as tall as a row with a copy button. */
|
|
76
|
+
var DESCRIPTION_LIST_SIZE_TO_ROW_CSS_MAP = {
|
|
77
|
+
["SMALL"]: "gx-DescriptionList-SMALL-s1g4xmgd",
|
|
78
|
+
["MEDIUM"]: "gx-DescriptionList-MEDIUM-m1s7hmki",
|
|
79
|
+
["LARGE"]: "gx-DescriptionList-LARGE-l1t8g3vn"
|
|
80
|
+
};
|
|
81
|
+
var DESCRIPTION_LIST_SIZE_TO_TEXT_SIZE_MAP = {
|
|
82
|
+
["SMALL"]: TextSize.BODY_SM,
|
|
83
|
+
["MEDIUM"]: TextSize.BODY_MD,
|
|
84
|
+
["LARGE"]: TextSize.BODY_LG
|
|
85
|
+
};
|
|
86
|
+
var DESCRIPTION_LIST_SIZE_TO_BUTTON_SIZE_MAP = {
|
|
87
|
+
["SMALL"]: ButtonSize.X_SMALL,
|
|
88
|
+
["MEDIUM"]: ButtonSize.X_SMALL,
|
|
89
|
+
["LARGE"]: ButtonSize.SMALL
|
|
90
|
+
};
|
|
91
|
+
var isText = (value) => typeof value === "string" || typeof value === "number";
|
|
92
|
+
var isEmpty = (value) => value === null || value === void 0 || value === "";
|
|
93
|
+
/** The text a copy button writes for an item, or `undefined` when there is nothing to copy. */
|
|
94
|
+
var getCopyText = (item) => {
|
|
95
|
+
if (!item.isCopyable) return void 0;
|
|
96
|
+
if (item.copyValue !== void 0) return item.copyValue;
|
|
97
|
+
return isText(item.value) && !isEmpty(item.value) ? String(item.value) : void 0;
|
|
98
|
+
};
|
|
99
|
+
/** Labelled values in a `<dl>`: labels aligned in one column, or above their values. */
|
|
100
|
+
var DescriptionList = forwardRef(function DescriptionList({ items, size = "MEDIUM", orientation = Orientation.HORIZONTAL, columns = 1, id, className, style, ...rest }, ref) {
|
|
101
|
+
const textSize = DESCRIPTION_LIST_SIZE_TO_TEXT_SIZE_MAP[size];
|
|
102
|
+
const hasCopy = items.some((item) => item.isCopyable === true);
|
|
103
|
+
const entries = items.map((item, position) => ({
|
|
104
|
+
item,
|
|
105
|
+
position
|
|
106
|
+
}));
|
|
107
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
108
|
+
...rest,
|
|
109
|
+
ref,
|
|
110
|
+
id,
|
|
111
|
+
className: cx(DESCRIPTION_LIST_ORIENTATION_TO_CSS_MAP[orientation], DESCRIPTION_LIST_COLUMNS_TO_CSS_MAP[columns], hasCopy && DESCRIPTION_LIST_SIZE_TO_ROW_CSS_MAP[size], className),
|
|
112
|
+
style,
|
|
113
|
+
children: entries.map(({ item, position }) => {
|
|
114
|
+
const copyText = getCopyText(item);
|
|
115
|
+
return /* @__PURE__ */ jsxs(Item, { children: [/* @__PURE__ */ jsx(Term, { children: /* @__PURE__ */ jsx(Text, {
|
|
116
|
+
as: "span",
|
|
117
|
+
size: textSize,
|
|
118
|
+
variant: TextVariant.SECONDARY,
|
|
119
|
+
children: item.label
|
|
120
|
+
}) }), /* @__PURE__ */ jsxs(Details, { children: [isEmpty(item.value) ? /* @__PURE__ */ jsx(Text, {
|
|
121
|
+
as: "span",
|
|
122
|
+
size: textSize,
|
|
123
|
+
variant: TextVariant.TERTIARY,
|
|
124
|
+
children: "—"
|
|
125
|
+
}) : isText(item.value) ? /* @__PURE__ */ jsx(Text, {
|
|
126
|
+
as: "span",
|
|
127
|
+
size: textSize,
|
|
128
|
+
family: item.family ?? FontFamily.SANS,
|
|
129
|
+
isSelectable: true,
|
|
130
|
+
children: String(item.value)
|
|
131
|
+
}) : /* @__PURE__ */ jsx(Text, {
|
|
132
|
+
as: "div",
|
|
133
|
+
size: textSize,
|
|
134
|
+
className: NODE_VALUE_CSS,
|
|
135
|
+
children: item.value
|
|
136
|
+
}), copyText !== void 0 && /* @__PURE__ */ jsx(CopyButton, {
|
|
137
|
+
value: copyText,
|
|
138
|
+
ariaLabel: `Copy ${item.label}`,
|
|
139
|
+
size: DESCRIPTION_LIST_SIZE_TO_BUTTON_SIZE_MAP[size],
|
|
140
|
+
variant: ButtonVariant.TERTIARY
|
|
141
|
+
})] })] }, position);
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
DescriptionList.displayName = "DescriptionList";
|
|
146
|
+
//#endregion
|
|
147
|
+
export { DescriptionListSize, DescriptionList as default };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A `Menu` opened by right-clicking a region (or pressing Shift+F10 or the ContextMenu key while
|
|
3
|
+
* focus is in it), at the pointer, in place of the browser's own context menu. It takes the same
|
|
4
|
+
* rows as `Menu` (`MenuItem`, `MenuCheckboxItem`, `MenuRadioGroup`, `MenuGroup`,
|
|
5
|
+
* `MenuSeparator`, imported from `menu/Menu`) and has the same keyboard model, sizes and surfaces.
|
|
6
|
+
*
|
|
7
|
+
* A preset: `MenuRoot` with Popover's `CONTEXT_MENU` trigger, no search and `BOTTOM_START` from
|
|
8
|
+
* the pointer. It adds no behavior and no styles of its own, and takes Menu's `MenuSize` and
|
|
9
|
+
* `MenuVariant` (import them from `menu/Menu`).
|
|
10
|
+
*
|
|
11
|
+
* Its commands are shortcuts: each one must also be reachable another way (a toolbar, a row's
|
|
12
|
+
* `Menu` button), because touch and keyboard users may never open a context menu.
|
|
13
|
+
*
|
|
14
|
+
* SSR: closed by default, only the region renders on the server. Nothing at module scope.
|
|
15
|
+
*/
|
|
16
|
+
import { type AriaAttributes, type CSSProperties, type ReactElement, type ReactNode } from "react";
|
|
17
|
+
import { type MenuSize, type MenuVariant } from "./Menu.js";
|
|
18
|
+
export interface ContextMenuProps extends AriaAttributes {
|
|
19
|
+
/**
|
|
20
|
+
* The region that is right-clicked: one element that forwards its `ref` and spreads props to a
|
|
21
|
+
* DOM element. ContextMenu clones it and does not wrap it. Keyboard users open the menu with
|
|
22
|
+
* Shift+F10 or the ContextMenu key while focus is on it or inside it.
|
|
23
|
+
*/
|
|
24
|
+
trigger: ReactElement;
|
|
25
|
+
/** The rows: `MenuItem`, `MenuCheckboxItem`, `MenuRadioGroup`, `MenuGroup`, `MenuSeparator` (from `menu/Menu`). */
|
|
26
|
+
children?: ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Row rung: 24 or 32px rows, as on Menu.
|
|
29
|
+
* @default MenuSize.MEDIUM
|
|
30
|
+
*/
|
|
31
|
+
size?: MenuSize;
|
|
32
|
+
/**
|
|
33
|
+
* Panel fill (surface step), as on Menu.
|
|
34
|
+
* @default MenuVariant.BASE
|
|
35
|
+
*/
|
|
36
|
+
variant?: MenuVariant;
|
|
37
|
+
/** Controlled open state. When set, ContextMenu calls `onOpenChange` and lets the caller decide. */
|
|
38
|
+
isOpen?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Initial open state while uncontrolled. It opens anchored to the region's box (there is no pointer position yet).
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
defaultIsOpen?: boolean;
|
|
44
|
+
/** Called with the requested open state on right-click, the keyboard context-menu keys, a selection, Escape, outside press and Tab. */
|
|
45
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
46
|
+
/**
|
|
47
|
+
* Never opens: right-click shows the browser's own context menu. The region renders exactly as when enabled.
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
isDisabled?: boolean;
|
|
51
|
+
/** Accessible name of the menu ("File actions"). Required, because a region is not a usable name. */
|
|
52
|
+
ariaLabel: string;
|
|
53
|
+
/** DOM id on the panel. */
|
|
54
|
+
id?: string;
|
|
55
|
+
/** Any `data-*` attribute, forwarded to the panel. */
|
|
56
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
57
|
+
/** Extra class on the panel. */
|
|
58
|
+
className?: string;
|
|
59
|
+
/** Inline style on the panel; only for setting CSS custom properties. */
|
|
60
|
+
style?: CSSProperties;
|
|
61
|
+
}
|
|
62
|
+
/** A Menu opened by right-click (or Shift+F10 / the ContextMenu key) on a region, at the pointer. */
|
|
63
|
+
declare const ContextMenu: import("react").ForwardRefExoticComponent<ContextMenuProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
64
|
+
export default ContextMenu;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Placement } from "../theme/enums.js";
|
|
2
|
+
import { PopoverTrigger } from "../overlays/Popover.js";
|
|
3
|
+
import { MenuRoot } from "./Menu.js";
|
|
4
|
+
import { forwardRef } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/menu/ContextMenu.tsx
|
|
7
|
+
/**
|
|
8
|
+
* A `Menu` opened by right-clicking a region (or pressing Shift+F10 or the ContextMenu key while
|
|
9
|
+
* focus is in it), at the pointer, in place of the browser's own context menu. It takes the same
|
|
10
|
+
* rows as `Menu` (`MenuItem`, `MenuCheckboxItem`, `MenuRadioGroup`, `MenuGroup`,
|
|
11
|
+
* `MenuSeparator`, imported from `menu/Menu`) and has the same keyboard model, sizes and surfaces.
|
|
12
|
+
*
|
|
13
|
+
* A preset: `MenuRoot` with Popover's `CONTEXT_MENU` trigger, no search and `BOTTOM_START` from
|
|
14
|
+
* the pointer. It adds no behavior and no styles of its own, and takes Menu's `MenuSize` and
|
|
15
|
+
* `MenuVariant` (import them from `menu/Menu`).
|
|
16
|
+
*
|
|
17
|
+
* Its commands are shortcuts: each one must also be reachable another way (a toolbar, a row's
|
|
18
|
+
* `Menu` button), because touch and keyboard users may never open a context menu.
|
|
19
|
+
*
|
|
20
|
+
* SSR: closed by default, only the region renders on the server. Nothing at module scope.
|
|
21
|
+
*/
|
|
22
|
+
/** A Menu opened by right-click (or Shift+F10 / the ContextMenu key) on a region, at the pointer. */
|
|
23
|
+
var ContextMenu = forwardRef(function ContextMenu(props, ref) {
|
|
24
|
+
return /* @__PURE__ */ jsx(MenuRoot, {
|
|
25
|
+
...props,
|
|
26
|
+
ref,
|
|
27
|
+
popoverTrigger: PopoverTrigger.CONTEXT_MENU,
|
|
28
|
+
placement: Placement.BOTTOM_START,
|
|
29
|
+
isSearchable: false
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
ContextMenu.displayName = "ContextMenu";
|
|
33
|
+
//#endregion
|
|
34
|
+
export { ContextMenu as default };
|