@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,75 +1,92 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactElement, type ReactNode } from "react";
|
|
2
|
+
import { Placement } from "../theme/enums.js";
|
|
3
|
+
/** Panel fill: a surface step (Constitution V-A surface set, all four members; the 1.x default). */
|
|
3
4
|
export declare enum DropdownVariant {
|
|
4
|
-
|
|
5
|
+
/** The canvas fill, `background.base`. The default (as in 1.x). */
|
|
5
6
|
BASE = "BASE",
|
|
7
|
+
/** A panel fill, `background.primary`. */
|
|
6
8
|
PRIMARY = "PRIMARY",
|
|
9
|
+
/** A raised fill, `background.secondary`. */
|
|
7
10
|
SECONDARY = "SECONDARY",
|
|
11
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
8
12
|
TERTIARY = "TERTIARY"
|
|
9
13
|
}
|
|
10
|
-
/**
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
LEFT = "left",
|
|
15
|
-
RIGHT = "right",
|
|
16
|
-
TOP_START = "top-start",
|
|
17
|
-
TOP_END = "top-end",
|
|
18
|
-
BOTTOM_START = "bottom-start",
|
|
19
|
-
BOTTOM_END = "bottom-end",
|
|
20
|
-
RIGHT_START = "right-start",
|
|
21
|
-
RIGHT_END = "right-end",
|
|
22
|
-
LEFT_START = "left-start",
|
|
23
|
-
LEFT_END = "left-end",
|
|
24
|
-
AUTO = "auto",
|
|
25
|
-
AUTO_START = "auto-start",
|
|
26
|
-
AUTO_END = "auto-end"
|
|
14
|
+
/** What a region's render function receives. */
|
|
15
|
+
export interface DropdownRenderArgs {
|
|
16
|
+
/** Closes the panel (calls `onOpenChange(false)`; a controlled caller decides). */
|
|
17
|
+
close: () => void;
|
|
27
18
|
}
|
|
28
|
-
/**
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
/** Content of a Dropdown region, or a function of `{ close }` that returns it (1.x `contentWhenDropdown`). */
|
|
20
|
+
export type DropdownSlot = ReactNode | ((args: DropdownRenderArgs) => ReactNode);
|
|
21
|
+
export interface DropdownProps extends AriaAttributes {
|
|
22
|
+
/**
|
|
23
|
+
* The trigger: one element that forwards its `ref` and spreads props to a DOM element. Dropdown
|
|
24
|
+
* clones it (through Popover) and does not wrap it. Clicking it, or Enter / Space on it, toggles
|
|
25
|
+
* the panel.
|
|
26
|
+
*/
|
|
27
|
+
children: ReactElement;
|
|
28
|
+
/**
|
|
29
|
+
* Content pinned above the body, with a hairline under it: a title, a search field, tabs. A
|
|
30
|
+
* string or number renders as `Text`. A function receives `{ close }`.
|
|
31
|
+
*/
|
|
32
|
+
header?: DropdownSlot;
|
|
33
|
+
/**
|
|
34
|
+
* The panel content. It scrolls when the panel is capped by the room on screen. A string or
|
|
35
|
+
* number renders as `Text`. A function receives `{ close }`.
|
|
36
|
+
*/
|
|
37
|
+
body: DropdownSlot;
|
|
38
|
+
/**
|
|
39
|
+
* Content pinned below the body, with a hairline above it: Apply / Reset buttons, a hint. A
|
|
40
|
+
* string or number renders as `Text`. A function receives `{ close }`.
|
|
41
|
+
*/
|
|
42
|
+
footer?: DropdownSlot;
|
|
43
|
+
/**
|
|
44
|
+
* Panel fill (surface step). Ignored when `hasSurface` is `false`.
|
|
45
|
+
* @default DropdownVariant.BASE
|
|
46
|
+
*/
|
|
37
47
|
variant?: DropdownVariant;
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Draw the panel's fill and outer hairline (Popover's `hasSurface`). `false` draws neither, for
|
|
50
|
+
* content that brings its own surface; the region dividers and insets stay. Defaults to `true`.
|
|
51
|
+
* @default true
|
|
52
|
+
*/
|
|
53
|
+
hasSurface?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Preferred side and alignment. The panel flips and shifts to stay in the viewport; `AUTO*`
|
|
56
|
+
* picks the side with the most room.
|
|
57
|
+
* @default Placement.BOTTOM_START
|
|
58
|
+
*/
|
|
59
|
+
placement?: Placement;
|
|
60
|
+
/**
|
|
61
|
+
* Make the panel exactly as wide as the trigger.
|
|
62
|
+
* @default false
|
|
63
|
+
*/
|
|
64
|
+
shouldMatchTriggerWidth?: boolean;
|
|
65
|
+
/** Controlled open state. When set, Dropdown calls `onOpenChange` and lets the caller decide. */
|
|
53
66
|
isOpen?: boolean;
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
/** Render children bare, with no dropdown at all. */
|
|
67
|
+
/**
|
|
68
|
+
* Initial open state while uncontrolled.
|
|
69
|
+
* @default false
|
|
70
|
+
*/
|
|
71
|
+
defaultIsOpen?: boolean;
|
|
72
|
+
/** Called with the requested open state on trigger click, Escape, outside press, focus leaving the panel, and `close()`. */
|
|
73
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
74
|
+
/**
|
|
75
|
+
* Never opens. The trigger renders exactly as when enabled, without the popup ARIA.
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
66
78
|
isDisabled?: boolean;
|
|
79
|
+
/** Accessible name of the panel. When omitted (and no `aria-labelledby` is passed), the panel is labelled by the trigger. */
|
|
80
|
+
ariaLabel?: string;
|
|
81
|
+
/** DOM id on the panel; the trigger's `aria-controls` target. @default a `useId()` value */
|
|
82
|
+
id?: string;
|
|
83
|
+
/** Any `data-*` attribute, forwarded to the panel. */
|
|
84
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
85
|
+
/** Extra class on the panel. */
|
|
86
|
+
className?: string;
|
|
87
|
+
/** Inline style on the panel; only for setting CSS custom properties. */
|
|
88
|
+
style?: CSSProperties;
|
|
67
89
|
}
|
|
68
|
-
/**
|
|
69
|
-
|
|
70
|
-
*
|
|
71
|
-
* Uncontrolled by default. Pass `isOpen` *and* `onClose` to drive it yourself —
|
|
72
|
-
* useful when a selection inside the body should close it.
|
|
73
|
-
*/
|
|
74
|
-
declare const Dropdown: ({ children, variant, header, body, footer, position, offset, minWidth, maxWidth, isOpen: controlledIsOpen, onClose, noPadding, noBorder, fillWidth, isDisabled, }: PropsWithChildren<DropdownProps>) => import("react").JSX.Element;
|
|
90
|
+
/** A click-opened anchored panel with a pinned header, a scrolling body and a pinned footer. */
|
|
91
|
+
declare const Dropdown: import("react").ForwardRefExoticComponent<DropdownProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
75
92
|
export default Dropdown;
|
|
@@ -1,146 +1,144 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Placement } from "../theme/enums.js";
|
|
2
|
+
import Text, { TextSize, TextVariant, TextWeight } from "../text/Text.js";
|
|
3
|
+
import { useControlledOpenState } from "../hooks/useControlledOpenState.js";
|
|
4
|
+
import Box from "../layout/Box.js";
|
|
5
|
+
import Divider from "../layout/Divider.js";
|
|
6
|
+
import ScrollArea from "../layout/ScrollArea.js";
|
|
7
|
+
import Popover, { PopoverRole, PopoverTrigger, PopoverVariant } from "../overlays/Popover.js";
|
|
3
8
|
/* empty css */
|
|
4
9
|
import { styled } from "@linaria/react";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import Tippy from "@tippyjs/react";
|
|
10
|
+
import { forwardRef, useCallback, useMemo } from "react";
|
|
11
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
9
12
|
//#region src/dropdown/Dropdown.tsx
|
|
10
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* The click-opened anchored panel with chrome: an optional pinned `header`, a scrolling `body` and
|
|
15
|
+
* an optional pinned `footer`, separated by hairlines. A thin preset over `Popover` (`CLICK`,
|
|
16
|
+
* `DIALOG`): Popover places, stacks, animates and dismisses the panel and manages focus; Dropdown
|
|
17
|
+
* adds the three regions, their 4px inset, and a `close` function region content can call.
|
|
18
|
+
*
|
|
19
|
+
* The trigger is the single child, cloned (by Popover) and not wrapped. A command list with arrow
|
|
20
|
+
* keys is a `Menu`; a bare panel, or one opened by hover, focus or right-click, is a `Popover`.
|
|
21
|
+
*
|
|
22
|
+
* SSR: only the trigger renders on the server. Nothing here touches `window` or `document` at
|
|
23
|
+
* module scope.
|
|
24
|
+
*/
|
|
25
|
+
/** Panel fill: a surface step (Constitution V-A surface set, all four members; the 1.x default). */
|
|
11
26
|
var DropdownVariant = /* @__PURE__ */ function(DropdownVariant) {
|
|
12
|
-
|
|
27
|
+
/** The canvas fill, `background.base`. The default (as in 1.x). */
|
|
13
28
|
DropdownVariant["BASE"] = "BASE";
|
|
29
|
+
/** A panel fill, `background.primary`. */
|
|
14
30
|
DropdownVariant["PRIMARY"] = "PRIMARY";
|
|
31
|
+
/** A raised fill, `background.secondary`. */
|
|
15
32
|
DropdownVariant["SECONDARY"] = "SECONDARY";
|
|
33
|
+
/** The most elevated fill, `background.tertiary`. */
|
|
16
34
|
DropdownVariant["TERTIARY"] = "TERTIARY";
|
|
17
35
|
return DropdownVariant;
|
|
18
36
|
}({});
|
|
19
|
-
/**
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return DropdownPosition;
|
|
37
|
-
}({});
|
|
38
|
-
/** What opens the panel. `MANUAL` hands control entirely to `isOpen`. */
|
|
39
|
-
var DropdownTrigger = /* @__PURE__ */ function(DropdownTrigger) {
|
|
40
|
-
DropdownTrigger["CLICK"] = "click";
|
|
41
|
-
DropdownTrigger["HOVER"] = "hover";
|
|
42
|
-
DropdownTrigger["FOCUS"] = "focus";
|
|
43
|
-
DropdownTrigger["MANUAL"] = "manual";
|
|
44
|
-
return DropdownTrigger;
|
|
45
|
-
}({});
|
|
46
|
-
var _exp = () => ({ $fillWidth }) => $fillWidth ? "100%" : "fit-content";
|
|
47
|
-
var _exp2 = () => ({ $minWidth }) => getCssSizeValue($minWidth, "fit-content");
|
|
48
|
-
var _exp3 = () => ({ $maxWidth }) => getCssSizeValue($maxWidth, "none");
|
|
49
|
-
var _exp4 = () => ({ $maxWidth }) => $maxWidth ? "hidden" : "visible";
|
|
50
|
-
var _exp5 = () => ({ $noPadding }) => $noPadding ? "0" : "4px";
|
|
51
|
-
var _exp6 = () => ({ $variant, theme }) => {
|
|
52
|
-
return match($variant).returnType().with("TRANSPARENT", () => "transparent").with("BASE", () => theme.color.background.base).with("PRIMARY", () => theme.color.background.primary).with("SECONDARY", () => theme.color.background.secondary).with("TERTIARY", () => theme.color.background.tertiary).exhaustive();
|
|
37
|
+
/** A string region's type: a medium small title, body copy, a quiet small hint. */
|
|
38
|
+
var DROPDOWN_REGION_TO_TEXT_PROPS_MAP = {
|
|
39
|
+
header: {
|
|
40
|
+
size: TextSize.BODY_SM,
|
|
41
|
+
weight: TextWeight.MEDIUM,
|
|
42
|
+
variant: TextVariant.PRIMARY
|
|
43
|
+
},
|
|
44
|
+
body: {
|
|
45
|
+
size: TextSize.BODY_MD,
|
|
46
|
+
weight: TextWeight.REGULAR,
|
|
47
|
+
variant: TextVariant.PRIMARY
|
|
48
|
+
},
|
|
49
|
+
footer: {
|
|
50
|
+
size: TextSize.BODY_SM,
|
|
51
|
+
weight: TextWeight.REGULAR,
|
|
52
|
+
variant: TextVariant.TERTIARY
|
|
53
|
+
}
|
|
53
54
|
};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
/** Identity over the four shared surface steps; the fill CSS is Popover's. */
|
|
56
|
+
var DROPDOWN_VARIANT_TO_POPOVER_VARIANT_MAP = {
|
|
57
|
+
["BASE"]: PopoverVariant.BASE,
|
|
58
|
+
["PRIMARY"]: PopoverVariant.PRIMARY,
|
|
59
|
+
["SECONDARY"]: PopoverVariant.SECONDARY,
|
|
60
|
+
["TERTIARY"]: PopoverVariant.TERTIARY
|
|
57
61
|
};
|
|
58
|
-
var DropdownContent = withTheme(/*#__PURE__*/ styled("span")({
|
|
59
|
-
name: "DropdownContent",
|
|
60
|
-
class: "d1bgy4cf",
|
|
61
|
-
propsAsIs: false,
|
|
62
|
-
vars: {
|
|
63
|
-
"d1bgy4cf-0": [_exp()],
|
|
64
|
-
"d1bgy4cf-1": [_exp2()],
|
|
65
|
-
"d1bgy4cf-2": [_exp3()],
|
|
66
|
-
"d1bgy4cf-3": [_exp4()],
|
|
67
|
-
"d1bgy4cf-4": [_exp5()],
|
|
68
|
-
"d1bgy4cf-5": [_exp6()],
|
|
69
|
-
"d1bgy4cf-6": [_exp7()]
|
|
70
|
-
}
|
|
71
|
-
}));
|
|
72
|
-
var _exp8 = () => ({ $isOpen }) => $isOpen ? 1001 : "auto";
|
|
73
|
-
var _exp9 = () => ({ $fillWidth }) => $fillWidth ? "block" : "inline-block";
|
|
74
|
-
var _exp0 = () => ({ $fillWidth }) => $fillWidth ? "100%" : "auto";
|
|
75
|
-
var DropdownTriggerWrapper = /*#__PURE__*/ styled("span")({
|
|
76
|
-
name: "DropdownTriggerWrapper",
|
|
77
|
-
class: "dfdzgmt",
|
|
78
|
-
propsAsIs: false,
|
|
79
|
-
vars: {
|
|
80
|
-
"dfdzgmt-0": [_exp8()],
|
|
81
|
-
"dfdzgmt-1": [_exp9()],
|
|
82
|
-
"dfdzgmt-2": [_exp0()]
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
62
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
* Uncontrolled by default. Pass `isOpen` *and* `onClose` to drive it yourself —
|
|
89
|
-
* useful when a selection inside the body should close it.
|
|
63
|
+
* The panel is `border-box` with a 0.5px hairline top and bottom, so its content box is 1px
|
|
64
|
+
* shorter than the room Popover reports.
|
|
90
65
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
handleVisibilityChange(false);
|
|
124
|
-
};
|
|
125
|
-
return /* @__PURE__ */ jsx(Tippy, {
|
|
126
|
-
content,
|
|
127
|
-
visible,
|
|
128
|
-
onClickOutside: handleClickOutside,
|
|
129
|
-
placement: position,
|
|
130
|
-
offset,
|
|
131
|
-
interactive: true,
|
|
132
|
-
duration: 0,
|
|
133
|
-
appendTo: () => document.body,
|
|
134
|
-
disabled: isDisabled,
|
|
135
|
-
zIndex: 1e4,
|
|
136
|
-
maxWidth: "none",
|
|
137
|
-
children: /* @__PURE__ */ jsx(DropdownTriggerWrapper, {
|
|
138
|
-
onClick: handleClick,
|
|
139
|
-
$isOpen: visible,
|
|
140
|
-
$fillWidth: fillWidth,
|
|
141
|
-
children
|
|
66
|
+
/** The region column, capped to the room on screen so only the body scrolls. */
|
|
67
|
+
var Layout = /*#__PURE__*/ styled("div")({
|
|
68
|
+
name: "Layout",
|
|
69
|
+
class: "gx-Dropdown-Layout-l1bgy4cf",
|
|
70
|
+
propsAsIs: false
|
|
71
|
+
});
|
|
72
|
+
/** The pinned header region. */
|
|
73
|
+
var Header = /*#__PURE__*/ styled("div")({
|
|
74
|
+
name: "Header",
|
|
75
|
+
class: "gx-Dropdown-Header-hfdzgmt",
|
|
76
|
+
propsAsIs: false
|
|
77
|
+
});
|
|
78
|
+
/** The pinned footer region. */
|
|
79
|
+
var Footer = /*#__PURE__*/ styled("div")({
|
|
80
|
+
name: "Footer",
|
|
81
|
+
class: "gx-Dropdown-Footer-f1ffkeig",
|
|
82
|
+
propsAsIs: false
|
|
83
|
+
});
|
|
84
|
+
/** The body's ScrollArea takes the height left under the cap, and scrolls. */
|
|
85
|
+
var BODY_CSS = "gx-Dropdown-BODY_CSS-b1vl6aed";
|
|
86
|
+
/** `undefined`, `null` and `false` leave a region out. */
|
|
87
|
+
function isPresent(slot) {
|
|
88
|
+
return slot !== void 0 && slot !== null && slot !== false;
|
|
89
|
+
}
|
|
90
|
+
/** A region's content: a function is called with `{ close }`; a string or number becomes `Text`. */
|
|
91
|
+
function renderRegion(slot, region, args) {
|
|
92
|
+
const value = typeof slot === "function" ? slot(args) : slot;
|
|
93
|
+
if (typeof value === "string" || typeof value === "number") return /* @__PURE__ */ jsx(Box, {
|
|
94
|
+
padding: 8,
|
|
95
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
96
|
+
...DROPDOWN_REGION_TO_TEXT_PROPS_MAP[region],
|
|
97
|
+
children: value
|
|
142
98
|
})
|
|
143
99
|
});
|
|
144
|
-
|
|
100
|
+
return value;
|
|
101
|
+
}
|
|
102
|
+
/** A click-opened anchored panel with a pinned header, a scrolling body and a pinned footer. */
|
|
103
|
+
var Dropdown = forwardRef(function Dropdown({ children, header, body, footer, variant = "BASE", hasSurface = true, placement = Placement.BOTTOM_START, shouldMatchTriggerWidth = false, isOpen: isOpenProp, defaultIsOpen = false, onOpenChange, isDisabled = false, ariaLabel, id, className, style, ...rest }, ref) {
|
|
104
|
+
const { isOpen, setOpen } = useControlledOpenState({
|
|
105
|
+
isOpen: isOpenProp,
|
|
106
|
+
defaultIsOpen,
|
|
107
|
+
onOpenChange
|
|
108
|
+
});
|
|
109
|
+
const close = useCallback(() => setOpen(false), [setOpen]);
|
|
110
|
+
const args = useMemo(() => ({ close }), [close]);
|
|
111
|
+
const panel = /* @__PURE__ */ jsxs(Layout, { children: [
|
|
112
|
+
isPresent(header) && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Header, { children: renderRegion(header, "header", args) }), /* @__PURE__ */ jsx(Divider, {})] }),
|
|
113
|
+
/* @__PURE__ */ jsx(ScrollArea, {
|
|
114
|
+
className: BODY_CSS,
|
|
115
|
+
children: /* @__PURE__ */ jsx(Box, {
|
|
116
|
+
padding: 4,
|
|
117
|
+
children: renderRegion(body, "body", args)
|
|
118
|
+
})
|
|
119
|
+
}),
|
|
120
|
+
isPresent(footer) && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(Divider, {}), /* @__PURE__ */ jsx(Footer, { children: renderRegion(footer, "footer", args) })] })
|
|
121
|
+
] });
|
|
122
|
+
return /* @__PURE__ */ jsx(Popover, {
|
|
123
|
+
...rest,
|
|
124
|
+
ref,
|
|
125
|
+
trigger: PopoverTrigger.CLICK,
|
|
126
|
+
role: PopoverRole.DIALOG,
|
|
127
|
+
variant: DROPDOWN_VARIANT_TO_POPOVER_VARIANT_MAP[variant],
|
|
128
|
+
hasSurface,
|
|
129
|
+
placement,
|
|
130
|
+
shouldMatchTriggerWidth,
|
|
131
|
+
isOpen,
|
|
132
|
+
onOpenChange: setOpen,
|
|
133
|
+
isDisabled,
|
|
134
|
+
...ariaLabel === void 0 ? {} : { ariaLabel },
|
|
135
|
+
...id === void 0 ? {} : { id },
|
|
136
|
+
...className === void 0 ? {} : { className },
|
|
137
|
+
...style === void 0 ? {} : { style },
|
|
138
|
+
body: panel,
|
|
139
|
+
children
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
Dropdown.displayName = "Dropdown";
|
|
145
143
|
//#endregion
|
|
146
|
-
export {
|
|
144
|
+
export { DropdownVariant, Dropdown as default };
|
|
@@ -1,49 +1,128 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* The multi-line code editing field: a SQL query, a JSON or YAML config, a Python transform. It is
|
|
3
|
+
* CodeMirror 6 in DLS tokens: the input frame (surface `variant`, hairline, error, read-only; the
|
|
4
|
+
* frame stays at rest on hover and focus, where the caret and selection show focus), mono type, syntax colors that match `CodeBlock`, themed gutters, search and
|
|
5
|
+
* completion popups. It holds a string with `value` / `defaultValue` / `onChange`, calls
|
|
6
|
+
* `onExecute` on Cmd/Ctrl+Enter, and takes extra CodeMirror `extensions`.
|
|
7
|
+
*
|
|
8
|
+
* Opt-in subpath (`@galaxy-io/dls/editor/*`): it imports only the optional CodeMirror peers, and
|
|
9
|
+
* every CodeMirror call happens inside functions and hooks, so nothing runs at module scope and
|
|
10
|
+
* wyw never evaluates CodeMirror while extracting CSS. Grammars load lazily after mount.
|
|
11
|
+
*
|
|
12
|
+
* Replaces 1.x `CodeEditor` (`content` → `value`, `lang` → `language`, `noLineNumbers` →
|
|
13
|
+
* `hasLineNumbers`, `customExtensions` → `extensions`, `noBorder` → `isGhost`; `borderRadius`,
|
|
14
|
+
* `padding` and the theme helper exports are gone).
|
|
15
|
+
*/
|
|
16
|
+
import type { Extension } from "@codemirror/state";
|
|
17
|
+
import { type AriaAttributes, type CSSProperties } from "react";
|
|
18
|
+
/** Resting fill of the editor frame (Constitution V-A surface set; 1.x members). 1.x `noBorder` is `isGhost`. */
|
|
5
19
|
export declare enum CodeEditorVariant {
|
|
20
|
+
/** `background.base`. */
|
|
6
21
|
BASE = "BASE",
|
|
22
|
+
/** `background.primary`. The default. */
|
|
7
23
|
PRIMARY = "PRIMARY",
|
|
24
|
+
/** `background.secondary`. */
|
|
8
25
|
SECONDARY = "SECONDARY",
|
|
26
|
+
/** `background.tertiary`. */
|
|
9
27
|
TERTIARY = "TERTIARY"
|
|
10
28
|
}
|
|
11
|
-
/**
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
29
|
+
/** Grammar used to highlight and edit the document. The `CodeBlockLanguage` set minus GRAPHQL. */
|
|
30
|
+
export declare enum CodeEditorLanguage {
|
|
31
|
+
/** No grammar: unhighlighted text. */
|
|
32
|
+
PLAIN = "PLAIN",
|
|
33
|
+
/** Shell scripts and commands. */
|
|
34
|
+
BASH = "BASH",
|
|
35
|
+
/** CSS. */
|
|
36
|
+
CSS = "CSS",
|
|
37
|
+
/** Go. */
|
|
38
|
+
GO = "GO",
|
|
39
|
+
/** HTML. */
|
|
40
|
+
HTML = "HTML",
|
|
41
|
+
/** JavaScript. */
|
|
42
|
+
JAVASCRIPT = "JAVASCRIPT",
|
|
43
|
+
/** JSON. */
|
|
44
|
+
JSON = "JSON",
|
|
45
|
+
/** JavaScript with JSX. */
|
|
46
|
+
JSX = "JSX",
|
|
47
|
+
/** Markdown. */
|
|
48
|
+
MARKDOWN = "MARKDOWN",
|
|
49
|
+
/** Protocol Buffers. */
|
|
50
|
+
PROTOBUF = "PROTOBUF",
|
|
51
|
+
/** Python. */
|
|
52
|
+
PYTHON = "PYTHON",
|
|
53
|
+
/** Rust. */
|
|
54
|
+
RUST = "RUST",
|
|
55
|
+
/** SQL. */
|
|
56
|
+
SQL = "SQL",
|
|
57
|
+
/** TOML. */
|
|
58
|
+
TOML = "TOML",
|
|
59
|
+
/** TypeScript with JSX. */
|
|
60
|
+
TSX = "TSX",
|
|
61
|
+
/** TypeScript. */
|
|
62
|
+
TYPESCRIPT = "TYPESCRIPT",
|
|
63
|
+
/** YAML. */
|
|
64
|
+
YAML = "YAML"
|
|
65
|
+
}
|
|
66
|
+
export interface CodeEditorProps extends AriaAttributes {
|
|
67
|
+
/** Controlled document. Pass it with `onChange`. */
|
|
68
|
+
value?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Initial document while uncontrolled.
|
|
71
|
+
* @default ""
|
|
72
|
+
*/
|
|
73
|
+
defaultValue?: string;
|
|
74
|
+
/** Called with the whole document after every edit. */
|
|
27
75
|
onChange?: (value: string) => void;
|
|
28
|
-
/** Called on Cmd
|
|
29
|
-
onExecute?: () => void;
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
76
|
+
/** Called with the document on Cmd+Enter (macOS) or Ctrl+Enter, the "run this" shortcut. Not called while read-only. */
|
|
77
|
+
onExecute?: (value: string) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Grammar for highlighting, indentation and bracket rules. `PLAIN` edits unhighlighted text.
|
|
80
|
+
* @default CodeEditorLanguage.PLAIN
|
|
81
|
+
*/
|
|
82
|
+
language?: CodeEditorLanguage;
|
|
83
|
+
/** Hint shown while the document is empty. It is never the label. */
|
|
84
|
+
placeholder?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Resting fill of the frame, from the surface set. Ignored with `isGhost`.
|
|
87
|
+
* @default CodeEditorVariant.PRIMARY
|
|
88
|
+
*/
|
|
37
89
|
variant?: CodeEditorVariant;
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Ghost frame: no fill and no hairline, on hover and focus too (only an error draws the
|
|
92
|
+
* hairline). 1.x `noBorder`. For an editor set into a panel that already frames it. The
|
|
93
|
+
* line-number gutter is painted `background.primary` so scrolled code passes under it; on another
|
|
94
|
+
* surface, set `--gx-code-editor-fill` (through `style`) to that surface.
|
|
95
|
+
* @default false
|
|
96
|
+
*/
|
|
97
|
+
isGhost?: boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Show the line-number gutter (with fold markers).
|
|
100
|
+
* @default false
|
|
101
|
+
*/
|
|
102
|
+
hasLineNumbers?: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Focusable, selectable and searchable, but not editable.
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
isReadOnly?: boolean;
|
|
108
|
+
/**
|
|
109
|
+
* Error border and `aria-invalid`. Inside a `Field` with an `error`, it is on automatically.
|
|
110
|
+
* @default false
|
|
111
|
+
*/
|
|
112
|
+
isError?: boolean;
|
|
113
|
+
/** Extra CodeMirror extensions (completion sources, decorations, keymaps, other grammars), applied after the DLS ones. Memoize the array. */
|
|
114
|
+
extensions?: Extension[];
|
|
115
|
+
/** Accessible name when there is no visible label (no wrapping `Field` with a `label`). */
|
|
116
|
+
ariaLabel?: string;
|
|
117
|
+
/** DOM id of the editable content element. A wrapping `Field`'s id wins. */
|
|
118
|
+
id?: string;
|
|
119
|
+
/** Any `data-*` attribute, forwarded to the root `<div>` (the frame). */
|
|
120
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
121
|
+
/** Extra class on the root (the frame). */
|
|
122
|
+
className?: string;
|
|
123
|
+
/** Inline style on the root; only for setting CSS custom properties. */
|
|
124
|
+
style?: CSSProperties;
|
|
125
|
+
}
|
|
126
|
+
/** The multi-line code editor: CodeMirror 6 in the DLS input frame. */
|
|
127
|
+
declare const CodeEditor: import("react").ForwardRefExoticComponent<CodeEditorProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
49
128
|
export default CodeEditor;
|