@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,35 +1,105 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
1
|
+
import { type AriaAttributes, type ChangeEvent, type CSSProperties, type InputHTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
/** Rung of the checkbox (Constitution III-A.4). The box is the rung's icon size. */
|
|
3
|
+
export declare enum CheckboxInputSize {
|
|
4
|
+
/** 12px box, caption label. */
|
|
5
|
+
X_SMALL = "X_SMALL",
|
|
6
|
+
/** 14px box, body_sm label. */
|
|
7
|
+
SMALL = "SMALL",
|
|
8
|
+
/** 16px box, body_md label. The default; the 1.x MEDIUM box. */
|
|
9
|
+
MEDIUM = "MEDIUM",
|
|
10
|
+
/** 16px box, body_lg label. */
|
|
11
|
+
LARGE = "LARGE",
|
|
12
|
+
/** 18px box, body_lg label. */
|
|
13
|
+
X_LARGE = "X_LARGE"
|
|
14
|
+
}
|
|
15
|
+
/** Fill of the unchecked box (Constitution V-A surface set; 1.x `InputVariant` unchanged). */
|
|
16
|
+
export declare enum CheckboxInputVariant {
|
|
17
|
+
/** `background.base`. */
|
|
18
|
+
BASE = "BASE",
|
|
19
|
+
/** `background.primary`. The default. */
|
|
20
|
+
PRIMARY = "PRIMARY",
|
|
21
|
+
/** `background.secondary`. */
|
|
22
|
+
SECONDARY = "SECONDARY",
|
|
23
|
+
/** `background.tertiary`. */
|
|
24
|
+
TERTIARY = "TERTIARY"
|
|
25
|
+
}
|
|
26
|
+
/** Native `<input>` attributes, typed as React types them. */
|
|
27
|
+
type NativeInputAttributes = InputHTMLAttributes<HTMLInputElement>;
|
|
28
|
+
/** The native passthrough allowlist, each documented. */
|
|
29
|
+
interface CheckboxInputNativeProps {
|
|
30
|
+
/** Form field name, passed to the `<input>`. */
|
|
31
|
+
name?: NativeInputAttributes["name"];
|
|
32
|
+
/** Focus the checkbox on mount. */
|
|
33
|
+
autoFocus?: NativeInputAttributes["autoFocus"];
|
|
34
|
+
/** Focus handler on the `<input>`. */
|
|
35
|
+
onFocus?: NativeInputAttributes["onFocus"];
|
|
36
|
+
/** Blur handler on the `<input>`. */
|
|
37
|
+
onBlur?: NativeInputAttributes["onBlur"];
|
|
38
|
+
}
|
|
39
|
+
export interface CheckboxInputProps extends AriaAttributes, CheckboxInputNativeProps {
|
|
40
|
+
/** Controlled checked state. Pass it with `onChange`. */
|
|
41
|
+
isChecked?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Initial checked state while uncontrolled.
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
defaultIsChecked?: boolean;
|
|
47
|
+
/** Called with the new state when the user toggles the box; the native change event is second (for a click, `event.nativeEvent` is the `MouseEvent`). */
|
|
48
|
+
onChange?: (isChecked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Shows a dash and reports "mixed", for a parent of a partly selected group. Visual only: the next toggle still flips `isChecked`.
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
16
53
|
isIndeterminate?: boolean;
|
|
17
|
-
/** Text beside the box.
|
|
54
|
+
/** Text beside the box. Clicking it toggles the box. */
|
|
18
55
|
label?: string;
|
|
56
|
+
/** Help copy under the label. Text and inline `Link`s only. */
|
|
57
|
+
description?: ReactNode;
|
|
58
|
+
/**
|
|
59
|
+
* Rung: sets the box, the type steps and the gap.
|
|
60
|
+
* @default CheckboxInputSize.MEDIUM
|
|
61
|
+
*/
|
|
62
|
+
size?: CheckboxInputSize;
|
|
63
|
+
/**
|
|
64
|
+
* Fill of the unchecked box, from the surface set. Ignored with `isGhost`.
|
|
65
|
+
* @default CheckboxInputVariant.PRIMARY
|
|
66
|
+
*/
|
|
67
|
+
variant?: CheckboxInputVariant;
|
|
68
|
+
/**
|
|
69
|
+
* Ghost unchecked box: no fill, the hairline kept (1.x `TRANSPARENT`). For checkboxes on a
|
|
70
|
+
* surface whose own fill should show through, such as a selected table row.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
isGhost?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Asterisk after the label and `aria-required`. It does no validation.
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
19
78
|
isRequired?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Error border and `aria-invalid`. For a message, wrap the checkbox in `Field error`.
|
|
81
|
+
* @default false
|
|
82
|
+
*/
|
|
83
|
+
isError?: boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Not focusable or toggleable. Shows the disabled look.
|
|
86
|
+
* @default false
|
|
87
|
+
*/
|
|
20
88
|
isDisabled?: boolean;
|
|
21
|
-
/**
|
|
22
|
-
onChange: (checked: boolean, event?: React.MouseEvent | React.KeyboardEvent) => void;
|
|
23
|
-
/** Accessible name — required when the checkbox renders without a `label`. */
|
|
89
|
+
/** Accessible name when there is no `label` and no wrapping `Field` label. */
|
|
24
90
|
ariaLabel?: string;
|
|
25
|
-
/**
|
|
26
|
-
|
|
91
|
+
/**
|
|
92
|
+
* DOM id of the `<input>`. A wrapping `Field`'s id wins.
|
|
93
|
+
* @default useId()
|
|
94
|
+
*/
|
|
95
|
+
id?: string;
|
|
96
|
+
/** Any `data-*` attribute, forwarded to the `<input>`. */
|
|
97
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
98
|
+
/** Extra class on the root `<label>`. */
|
|
99
|
+
className?: string;
|
|
100
|
+
/** Inline style on the root `<label>`; only for setting CSS custom properties. */
|
|
101
|
+
style?: CSSProperties;
|
|
27
102
|
}
|
|
28
|
-
/**
|
|
29
|
-
|
|
30
|
-
*
|
|
31
|
-
* `isIndeterminate` is purely visual and does not change what `onChange`
|
|
32
|
-
* reports; the callback still flips against `isChecked`.
|
|
33
|
-
*/
|
|
34
|
-
declare const CheckboxInput: ({ variant, size, isChecked, isIndeterminate, label, isRequired, isDisabled, onChange, ariaLabel, stopClickPropagation, }: CheckboxInputProps) => import("react").JSX.Element;
|
|
103
|
+
/** A labelled checkbox row: a native `<input type="checkbox">` drawn as a box, toggled by the whole row. */
|
|
104
|
+
declare const CheckboxInput: import("react").ForwardRefExoticComponent<CheckboxInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
35
105
|
export default CheckboxInput;
|
|
@@ -1,104 +1,234 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import Text, { TextSize, TextVariant } from "../text/Text.js";
|
|
2
|
+
import { useControlledState } from "../hooks/useControlledState.js";
|
|
3
3
|
import Icon, { IconVariant, IconWeight } from "../icons/Icon.js";
|
|
4
|
-
import
|
|
4
|
+
import { useDevWarning } from "./internal/devWarn.js";
|
|
5
|
+
import { useField } from "../hooks/useField.js";
|
|
5
6
|
import RequiredMarker from "../text/RequiredMarker.js";
|
|
6
|
-
import {
|
|
7
|
+
import { hasContent, isFilled } from "./internal/predicates.js";
|
|
8
|
+
import { joinIds } from "./internal/fieldWiring.js";
|
|
7
9
|
/* empty css */
|
|
8
10
|
import { styled } from "@linaria/react";
|
|
11
|
+
import { forwardRef, useEffect, useId, useRef } from "react";
|
|
9
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { cx } from "@linaria/core";
|
|
14
|
+
import { useMergeRefs } from "@floating-ui/react";
|
|
10
15
|
import { CheckIcon, MinusIcon } from "@phosphor-icons/react";
|
|
11
16
|
//#region src/inputs/CheckboxInput.tsx
|
|
12
|
-
var _exp = () => ({ $isDisabled }) => $isDisabled ? "not-allowed" : "pointer";
|
|
13
|
-
var _exp2 = () => ({ $isDisabled }) => $isDisabled ? .5 : 1;
|
|
14
|
-
var _exp3 = () => ({ theme }) => theme.color.border.selected;
|
|
15
|
-
var CheckboxContainer = withTheme(/*#__PURE__*/ styled("div")({
|
|
16
|
-
name: "CheckboxContainer",
|
|
17
|
-
class: "cythikj",
|
|
18
|
-
propsAsIs: false,
|
|
19
|
-
vars: {
|
|
20
|
-
"cythikj-0": [_exp()],
|
|
21
|
-
"cythikj-1": [_exp2()],
|
|
22
|
-
"cythikj-2": [_exp3()]
|
|
23
|
-
}
|
|
24
|
-
}));
|
|
25
|
-
var _exp5 = () => ({ $size }) => getInputControlSize($size);
|
|
26
|
-
var _exp6 = () => ({ theme }) => theme.color.border.primary;
|
|
27
|
-
var _exp7 = () => ({ theme, $variant, $isChecked, $isIndeterminate }) => $isChecked || $isIndeterminate ? theme.color.background.primaryAlt : getInputSurfaceColor(theme, $variant);
|
|
28
|
-
var CheckboxWrapper = withTheme(/*#__PURE__*/ styled("div")({
|
|
29
|
-
name: "CheckboxWrapper",
|
|
30
|
-
class: "c1f4v2sg",
|
|
31
|
-
propsAsIs: false,
|
|
32
|
-
vars: {
|
|
33
|
-
"c1f4v2sg-0": [_exp5()],
|
|
34
|
-
"c1f4v2sg-1": [_exp6()],
|
|
35
|
-
"c1f4v2sg-2": [_exp7()]
|
|
36
|
-
}
|
|
37
|
-
}));
|
|
38
|
-
/** The tick sits inside the box, so it runs a step under `getInputIconSize`. */
|
|
39
|
-
var CHECKBOX_INPUT_SIZE_TO_ICON_SIZE_MAP = {
|
|
40
|
-
[InputSize.SMALL]: 10,
|
|
41
|
-
[InputSize.MEDIUM]: 12,
|
|
42
|
-
[InputSize.LARGE]: 14
|
|
43
|
-
};
|
|
44
17
|
/**
|
|
45
|
-
*
|
|
18
|
+
* One on/off choice the user confirms later, usually by submitting a form ("Email me when a sync
|
|
19
|
+
* fails", "I accept the terms", one row of a table selection). A native
|
|
20
|
+
* `<input type="checkbox">` drawn as a small box (`appearance: none`), with an optional `label`
|
|
21
|
+
* and `description` beside it; the whole row is a `<label>`, so clicking the text toggles. It holds
|
|
22
|
+
* a boolean with `isChecked` / `defaultIsChecked` / `onChange(isChecked, event)` and shows a dash
|
|
23
|
+
* for a partly selected group (`isIndeterminate`, also set on the native element so it reads
|
|
24
|
+
* "mixed"). Checked is the monochrome `solid.primary` fill with an on-solid tick.
|
|
46
25
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
26
|
+
* It never validates and renders no message: wrap it in `Field error` for one. An immediate on/off
|
|
27
|
+
* setting is `SwitchInput`. Replaces 1.x `CheckboxInput` (`InputSize` / `InputVariant` →
|
|
28
|
+
* `CheckboxInputSize` / `CheckboxInputVariant`; controlled or uncontrolled; native input instead
|
|
29
|
+
* of a `div role="checkbox"`; `stopClickPropagation` removed).
|
|
30
|
+
*/
|
|
31
|
+
/** Rung of the checkbox (Constitution III-A.4). The box is the rung's icon size. */
|
|
32
|
+
var CheckboxInputSize = /* @__PURE__ */ function(CheckboxInputSize) {
|
|
33
|
+
/** 12px box, caption label. */
|
|
34
|
+
CheckboxInputSize["X_SMALL"] = "X_SMALL";
|
|
35
|
+
/** 14px box, body_sm label. */
|
|
36
|
+
CheckboxInputSize["SMALL"] = "SMALL";
|
|
37
|
+
/** 16px box, body_md label. The default; the 1.x MEDIUM box. */
|
|
38
|
+
CheckboxInputSize["MEDIUM"] = "MEDIUM";
|
|
39
|
+
/** 16px box, body_lg label. */
|
|
40
|
+
CheckboxInputSize["LARGE"] = "LARGE";
|
|
41
|
+
/** 18px box, body_lg label. */
|
|
42
|
+
CheckboxInputSize["X_LARGE"] = "X_LARGE";
|
|
43
|
+
return CheckboxInputSize;
|
|
44
|
+
}({});
|
|
45
|
+
/** Fill of the unchecked box (Constitution V-A surface set; 1.x `InputVariant` unchanged). */
|
|
46
|
+
var CheckboxInputVariant = /* @__PURE__ */ function(CheckboxInputVariant) {
|
|
47
|
+
/** `background.base`. */
|
|
48
|
+
CheckboxInputVariant["BASE"] = "BASE";
|
|
49
|
+
/** `background.primary`. The default. */
|
|
50
|
+
CheckboxInputVariant["PRIMARY"] = "PRIMARY";
|
|
51
|
+
/** `background.secondary`. */
|
|
52
|
+
CheckboxInputVariant["SECONDARY"] = "SECONDARY";
|
|
53
|
+
/** `background.tertiary`. */
|
|
54
|
+
CheckboxInputVariant["TERTIARY"] = "TERTIARY";
|
|
55
|
+
return CheckboxInputVariant;
|
|
56
|
+
}({});
|
|
57
|
+
/** The row: box column, then label and description. State lives in custom properties set here, so hovering anywhere lights the box. */
|
|
58
|
+
var Root = /*#__PURE__*/ styled("label")({
|
|
59
|
+
name: "Root",
|
|
60
|
+
class: "gx-CheckboxInput-rythikj",
|
|
61
|
+
propsAsIs: false
|
|
62
|
+
});
|
|
63
|
+
/** As tall as the label's first line, so the box centers on it. */
|
|
64
|
+
var Indicator = /*#__PURE__*/ styled("span")({
|
|
65
|
+
name: "Indicator",
|
|
66
|
+
class: "gx-CheckboxInput-Indicator-i1f4v2sg",
|
|
67
|
+
propsAsIs: false
|
|
68
|
+
});
|
|
69
|
+
/** The box's footprint; positions the mark over the input. */
|
|
70
|
+
var BoxWrap = /*#__PURE__*/ styled("span")({
|
|
71
|
+
name: "BoxWrap",
|
|
72
|
+
class: "gx-CheckboxInput-BoxWrap-b1t4qwib",
|
|
73
|
+
propsAsIs: false
|
|
74
|
+
});
|
|
75
|
+
/** The native checkbox, drawn as the box. It is the focused element, so `FOCUS_RING` applies as written. */
|
|
76
|
+
var Control = /*#__PURE__*/ styled("input")({
|
|
77
|
+
name: "Control",
|
|
78
|
+
class: "gx-CheckboxInput-Control-cig7nlw",
|
|
79
|
+
propsAsIs: false
|
|
80
|
+
});
|
|
81
|
+
/** The tick or dash, over the box; decorative and click-through. */
|
|
82
|
+
var Mark = /*#__PURE__*/ styled("span")({
|
|
83
|
+
name: "Mark",
|
|
84
|
+
class: "gx-CheckboxInput-Mark-m15cg9sy",
|
|
85
|
+
propsAsIs: false
|
|
86
|
+
});
|
|
87
|
+
/** Label over description, Field's label-to-description gap. */
|
|
88
|
+
var Content = /*#__PURE__*/ styled("span")({
|
|
89
|
+
name: "Content",
|
|
90
|
+
class: "gx-CheckboxInput-Content-c1o0d5kr",
|
|
91
|
+
propsAsIs: false
|
|
92
|
+
});
|
|
93
|
+
/** Box, first-line height and gap per rung: the box is the rung's icon size, the gap the rung's gap. */
|
|
94
|
+
var CHECKBOX_INPUT_SIZE_TO_CSS_MAP = {
|
|
95
|
+
["X_SMALL"]: "gx-CheckboxInput-X_SMALL-xdordyk",
|
|
96
|
+
["SMALL"]: "gx-CheckboxInput-SMALL-s1gpfkea",
|
|
97
|
+
["MEDIUM"]: "gx-CheckboxInput-MEDIUM-m57f3d1",
|
|
98
|
+
["LARGE"]: "gx-CheckboxInput-LARGE-l1vo2cvz",
|
|
99
|
+
["X_LARGE"]: "gx-CheckboxInput-X_LARGE-xi8bh6d"
|
|
100
|
+
};
|
|
101
|
+
/** Rest look of the unchecked box (Input's table). */
|
|
102
|
+
var CHECKBOX_INPUT_VARIANT_TO_CSS_MAP = {
|
|
103
|
+
["BASE"]: "gx-CheckboxInput-BASE-b14nzuna",
|
|
104
|
+
["PRIMARY"]: "gx-CheckboxInput-PRIMARY-p1r4vxw9",
|
|
105
|
+
["SECONDARY"]: "gx-CheckboxInput-SECONDARY-s1a5o682",
|
|
106
|
+
["TERTIARY"]: "gx-CheckboxInput-TERTIARY-t1kopjc4"
|
|
107
|
+
};
|
|
108
|
+
/** `isGhost`: no fill, the hairline kept. Declared after the variant map, which it replaces. */
|
|
109
|
+
var GHOST_CSS = "gx-CheckboxInput-GHOST_CSS-gkp93fg";
|
|
110
|
+
/** The label and description column beside the box. */
|
|
111
|
+
var HAS_CONTENT_CSS = "gx-CheckboxInput-HAS_CONTENT_CSS-hp7bog7";
|
|
112
|
+
/** Hover and press on an enabled box: `border.hovered`, the field-frame hover (2026-10-03 resolution). */
|
|
113
|
+
var INTERACTIVE_CSS = "gx-CheckboxInput-INTERACTIVE_CSS-i1f2o1m9";
|
|
114
|
+
/** Checked or indeterminate: the `solid.primary` fill and an on-solid mark. */
|
|
115
|
+
var CHECKED_CSS = "gx-CheckboxInput-CHECKED_CSS-cnxcewa";
|
|
116
|
+
/** Hover and press on an enabled checked box; declared after `INTERACTIVE_CSS` so it wins. */
|
|
117
|
+
var CHECKED_INTERACTIVE_CSS = "gx-CheckboxInput-CHECKED_INTERACTIVE_CSS-c13ytekx";
|
|
118
|
+
/** Red hairline at rest, on hover and on press; a checked box keeps its `solid.primary` fill. */
|
|
119
|
+
var ERROR_CSS = "gx-CheckboxInput-ERROR_CSS-ef4a1f0";
|
|
120
|
+
/**
|
|
121
|
+
* Disabled, unchecked: the disabled fill (`background.pressed`, as disabled-checked) over
|
|
122
|
+
* the resting hairline, so a box with no label still reads as disabled; the label and cursor too.
|
|
49
123
|
*/
|
|
50
|
-
var
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
124
|
+
var DISABLED_CSS = "gx-CheckboxInput-DISABLED_CSS-d1mz9pun";
|
|
125
|
+
/** Disabled, checked: Button's disabled `PRIMARY` fill, the resting hairline and a disabled mark. */
|
|
126
|
+
var DISABLED_CHECKED_CSS = "gx-CheckboxInput-DISABLED_CHECKED_CSS-dhn7d2h";
|
|
127
|
+
/** Tick and dash px per rung: whole-pixel insets inside the box. */
|
|
128
|
+
var CHECKBOX_INPUT_SIZE_TO_ICON_PX_MAP = {
|
|
129
|
+
["X_SMALL"]: 10,
|
|
130
|
+
["SMALL"]: 10,
|
|
131
|
+
["MEDIUM"]: 12,
|
|
132
|
+
["LARGE"]: 12,
|
|
133
|
+
["X_LARGE"]: 14
|
|
134
|
+
};
|
|
135
|
+
/** Label step per rung (the canonical control text). */
|
|
136
|
+
var CHECKBOX_INPUT_SIZE_TO_TEXT_SIZE_MAP = {
|
|
137
|
+
["X_SMALL"]: TextSize.CAPTION,
|
|
138
|
+
["SMALL"]: TextSize.BODY_SM,
|
|
139
|
+
["MEDIUM"]: TextSize.BODY_MD,
|
|
140
|
+
["LARGE"]: TextSize.BODY_LG,
|
|
141
|
+
["X_LARGE"]: TextSize.BODY_LG
|
|
142
|
+
};
|
|
143
|
+
/** Description step per rung (Field's help steps). */
|
|
144
|
+
var CHECKBOX_INPUT_SIZE_TO_HELP_TEXT_SIZE_MAP = {
|
|
145
|
+
["X_SMALL"]: TextSize.CAPTION,
|
|
146
|
+
["SMALL"]: TextSize.CAPTION,
|
|
147
|
+
["MEDIUM"]: TextSize.BODY_SM,
|
|
148
|
+
["LARGE"]: TextSize.BODY_SM,
|
|
149
|
+
["X_LARGE"]: TextSize.BODY_MD
|
|
150
|
+
};
|
|
151
|
+
/** A labelled checkbox row: a native `<input type="checkbox">` drawn as a box, toggled by the whole row. */
|
|
152
|
+
var CheckboxInput = forwardRef(function CheckboxInput(props, ref) {
|
|
153
|
+
const { isChecked, defaultIsChecked = false, onChange, isIndeterminate = false, label, description, size = "MEDIUM", variant = "PRIMARY", isGhost = false, isRequired = false, isError = false, isDisabled = false, ariaLabel, id, "aria-describedby": ariaDescribedBy, className, style, ...rest } = props;
|
|
154
|
+
const field = useField();
|
|
155
|
+
const generatedId = useId();
|
|
156
|
+
const inputId = field?.controlId ?? id ?? generatedId;
|
|
157
|
+
const labelId = `${inputId}-label`;
|
|
158
|
+
const descriptionId = `${inputId}-description`;
|
|
159
|
+
const innerRef = useRef(null);
|
|
160
|
+
const mergedRef = useMergeRefs([innerRef, ref]);
|
|
161
|
+
const [checked, setChecked] = useControlledState({
|
|
162
|
+
value: isChecked,
|
|
163
|
+
defaultValue: defaultIsChecked
|
|
164
|
+
});
|
|
165
|
+
const hasLabel = isFilled(label);
|
|
166
|
+
const hasDescription = hasContent(description);
|
|
167
|
+
const isOn = checked || isIndeterminate;
|
|
168
|
+
const isInvalid = isError || field?.isError === true;
|
|
169
|
+
const isRequiredState = isRequired || field?.isRequired === true;
|
|
170
|
+
const describedBy = joinIds([
|
|
171
|
+
hasDescription && descriptionId,
|
|
172
|
+
field?.describedBy,
|
|
173
|
+
ariaDescribedBy
|
|
174
|
+
]);
|
|
175
|
+
useDevWarning(!(hasLabel || field?.labelId !== void 0 || isFilled(ariaLabel) || isFilled(rest["aria-labelledby"]) || isFilled(rest["aria-label"])), "[@galaxy-io/dls] CheckboxInput has no accessible name. Pass `label`, wrap it in a labelled `Field`, or set `ariaLabel`.");
|
|
176
|
+
useEffect(() => {
|
|
177
|
+
if (innerRef.current !== null) innerRef.current.indeterminate = isIndeterminate;
|
|
178
|
+
});
|
|
179
|
+
const handleChange = (event) => {
|
|
180
|
+
const next = event.currentTarget.checked;
|
|
181
|
+
setChecked(next);
|
|
182
|
+
onChange?.(next, event);
|
|
54
183
|
};
|
|
184
|
+
/** Enter toggles too (1.x), through the native click so `onChange` runs once, as for a mouse click. */
|
|
55
185
|
const handleKeyDown = (event) => {
|
|
56
|
-
if (event.key !== "
|
|
186
|
+
if (event.key !== "Enter" || event.nativeEvent.isComposing) return;
|
|
57
187
|
event.preventDefault();
|
|
58
|
-
|
|
59
|
-
if (!isDisabled) onChange(!isChecked, event);
|
|
60
|
-
};
|
|
61
|
-
const renderIcon = () => {
|
|
62
|
-
if (isIndeterminate) return /* @__PURE__ */ jsx(Icon, {
|
|
63
|
-
component: MinusIcon,
|
|
64
|
-
size: CHECKBOX_INPUT_SIZE_TO_ICON_SIZE_MAP[size],
|
|
65
|
-
weight: IconWeight.BOLD,
|
|
66
|
-
variant: IconVariant.PRIMARY_ALT
|
|
67
|
-
});
|
|
68
|
-
if (isChecked) return /* @__PURE__ */ jsx(Icon, {
|
|
69
|
-
component: CheckIcon,
|
|
70
|
-
size: CHECKBOX_INPUT_SIZE_TO_ICON_SIZE_MAP[size],
|
|
71
|
-
weight: IconWeight.BOLD,
|
|
72
|
-
variant: IconVariant.PRIMARY_ALT
|
|
73
|
-
});
|
|
74
|
-
return null;
|
|
188
|
+
event.currentTarget.click();
|
|
75
189
|
};
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
190
|
+
const iconPx = CHECKBOX_INPUT_SIZE_TO_ICON_PX_MAP[size];
|
|
191
|
+
const markIcon = isIndeterminate ? MinusIcon : checked ? CheckIcon : void 0;
|
|
192
|
+
return /* @__PURE__ */ jsxs(Root, {
|
|
193
|
+
className: cx(CHECKBOX_INPUT_SIZE_TO_CSS_MAP[size], isGhost ? GHOST_CSS : CHECKBOX_INPUT_VARIANT_TO_CSS_MAP[variant], (hasLabel || hasDescription) && HAS_CONTENT_CSS, !isDisabled && INTERACTIVE_CSS, isOn && CHECKED_CSS, isOn && !isDisabled && CHECKED_INTERACTIVE_CSS, isInvalid && ERROR_CSS, isDisabled && (isOn ? DISABLED_CHECKED_CSS : DISABLED_CSS), className),
|
|
194
|
+
...style === void 0 ? {} : { style },
|
|
195
|
+
children: [/* @__PURE__ */ jsx(Indicator, { children: /* @__PURE__ */ jsxs(BoxWrap, { children: [/* @__PURE__ */ jsx(Control, {
|
|
196
|
+
ref: mergedRef,
|
|
197
|
+
type: "checkbox",
|
|
198
|
+
id: inputId,
|
|
199
|
+
checked,
|
|
200
|
+
onChange: handleChange,
|
|
201
|
+
onKeyDown: handleKeyDown,
|
|
202
|
+
disabled: isDisabled,
|
|
203
|
+
"aria-label": ariaLabel,
|
|
204
|
+
"aria-labelledby": hasLabel ? labelId : void 0,
|
|
205
|
+
"aria-describedby": describedBy,
|
|
206
|
+
"aria-invalid": isInvalid ? true : void 0,
|
|
207
|
+
"aria-required": isRequiredState ? true : void 0,
|
|
208
|
+
...rest
|
|
209
|
+
}), /* @__PURE__ */ jsx(Mark, {
|
|
210
|
+
"aria-hidden": true,
|
|
211
|
+
children: markIcon !== void 0 && /* @__PURE__ */ jsx(Icon, {
|
|
212
|
+
component: markIcon,
|
|
213
|
+
size: iconPx,
|
|
214
|
+
weight: IconWeight.BOLD,
|
|
215
|
+
variant: IconVariant.INHERIT
|
|
216
|
+
})
|
|
217
|
+
})] }) }), (hasLabel || hasDescription) && /* @__PURE__ */ jsxs(Content, { children: [hasLabel && /* @__PURE__ */ jsxs(Text, {
|
|
218
|
+
as: "span",
|
|
219
|
+
id: labelId,
|
|
220
|
+
size: CHECKBOX_INPUT_SIZE_TO_TEXT_SIZE_MAP[size],
|
|
221
|
+
variant: isDisabled ? TextVariant.DISABLED : TextVariant.PRIMARY,
|
|
222
|
+
children: [label, isRequiredState && /* @__PURE__ */ jsx(RequiredMarker, {})]
|
|
223
|
+
}), hasDescription && /* @__PURE__ */ jsx(Text, {
|
|
224
|
+
as: "span",
|
|
225
|
+
id: descriptionId,
|
|
226
|
+
size: CHECKBOX_INPUT_SIZE_TO_HELP_TEXT_SIZE_MAP[size],
|
|
227
|
+
variant: isDisabled ? TextVariant.DISABLED : TextVariant.TERTIARY,
|
|
228
|
+
children: description
|
|
229
|
+
})] })]
|
|
101
230
|
});
|
|
102
|
-
};
|
|
231
|
+
});
|
|
232
|
+
CheckboxInput.displayName = "CheckboxInput";
|
|
103
233
|
//#endregion
|
|
104
|
-
export { CheckboxInput as default };
|
|
234
|
+
export { CheckboxInputSize, CheckboxInputVariant, CheckboxInput as default };
|
|
@@ -1,37 +1,123 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactElement } from "react";
|
|
2
|
+
import { type Hex } from "../utils/colors.js";
|
|
3
|
+
/** Canonical rungs; ColorInput supports all five (the Input rung table). */
|
|
4
|
+
export declare enum ColorInputSize {
|
|
5
|
+
/** 20px field, caption text, 12px swatch and icons, 10px caret. */
|
|
6
|
+
X_SMALL = "X_SMALL",
|
|
7
|
+
/** 24px field, body_sm text, 12px swatch and icons, 10px caret. */
|
|
8
|
+
SMALL = "SMALL",
|
|
9
|
+
/** 32px field, body_md text, 14px swatch and icons, 12px caret. The default (1.x `MEDIUM` was 28px). */
|
|
10
|
+
MEDIUM = "MEDIUM",
|
|
11
|
+
/** 36px field, body_lg text, 14px swatch and icons, 12px caret. */
|
|
12
|
+
LARGE = "LARGE",
|
|
13
|
+
/** 40px field, body_lg text, 16px swatch and icons, 12px caret. */
|
|
14
|
+
X_LARGE = "X_LARGE"
|
|
15
|
+
}
|
|
16
|
+
/** Resting fill of the field (Constitution V-A surface set; 1.x `InputVariant` unchanged). */
|
|
17
|
+
export declare enum ColorInputVariant {
|
|
18
|
+
/** `background.base` fill. */
|
|
19
|
+
BASE = "BASE",
|
|
20
|
+
/** `background.primary` fill. The default. */
|
|
21
|
+
PRIMARY = "PRIMARY",
|
|
22
|
+
/** `background.secondary` fill. */
|
|
23
|
+
SECONDARY = "SECONDARY",
|
|
24
|
+
/** `background.tertiary` fill. */
|
|
25
|
+
TERTIARY = "TERTIARY"
|
|
26
|
+
}
|
|
27
|
+
export interface ColorInputProps extends AriaAttributes {
|
|
28
|
+
/** Controlled color, `#rrggbb` (or `#rgb`). `null` shows the placeholder. Pass it with `onChange`. */
|
|
29
|
+
value?: Hex | null;
|
|
30
|
+
/**
|
|
31
|
+
* Initial color while uncontrolled.
|
|
32
|
+
* @default null
|
|
33
|
+
*/
|
|
34
|
+
defaultValue?: Hex | null;
|
|
35
|
+
/** Called with lowercase `#rrggbb` when a color is committed (a drag ends, a key steps, a code is entered, a swatch is picked), and with `null` when cleared. */
|
|
36
|
+
onChange?: (value: Hex | null) => void;
|
|
37
|
+
/** Called on every change of the picked color, including mid-drag. Use it for a live preview; save from `onChange`. */
|
|
38
|
+
onPreviewChange?: (value: Hex) => void;
|
|
39
|
+
/** Swatches shown under the picker. Picking one commits it and closes the panel. */
|
|
40
|
+
presets?: Hex[];
|
|
41
|
+
/**
|
|
42
|
+
* Control rung: 20 / 24 / 32 / 36 / 40px tall. The picker panel is the same size at every rung.
|
|
43
|
+
* @default ColorInputSize.MEDIUM
|
|
44
|
+
*/
|
|
45
|
+
size?: ColorInputSize;
|
|
46
|
+
/**
|
|
47
|
+
* Resting fill of the field, from the surface set. Ignored with `isGhost`.
|
|
48
|
+
* @default ColorInputVariant.PRIMARY
|
|
49
|
+
*/
|
|
50
|
+
variant?: ColorInputVariant;
|
|
51
|
+
/**
|
|
52
|
+
* Ghost field: no fill and no hairline at rest; the frame appears on hover, focus and open (1.x
|
|
53
|
+
* `TRANSPARENT`). For colors set into a toolbar or a table cell. The panel is `PopoverVariant.BASE`.
|
|
54
|
+
* @default false
|
|
55
|
+
*/
|
|
56
|
+
isGhost?: boolean;
|
|
57
|
+
/** Label above the field, rendered through `Field`. For a description or a horizontal layout, wrap the input in `Field` instead. */
|
|
3
58
|
label?: string;
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/** Controlled hex value, e.g. `"#1a1a1a"`. */
|
|
9
|
-
value?: string | null;
|
|
59
|
+
/**
|
|
60
|
+
* Shown in the field while there is no value. Never the label.
|
|
61
|
+
* @default Select color…
|
|
62
|
+
*/
|
|
10
63
|
placeholder?: string;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
64
|
+
/** Message from the app, shown under the field through `Field`. Also turns the border red and sets `aria-invalid`. */
|
|
65
|
+
error?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Error border and `aria-invalid` without a message. `error` implies it.
|
|
68
|
+
* @default false
|
|
69
|
+
*/
|
|
70
|
+
isError?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Shows a clear button while there is a value and the field is editable. It calls `onChange(null)`.
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
isClearable?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Not focusable, never opens. Shows the disabled look.
|
|
78
|
+
* @default false
|
|
79
|
+
*/
|
|
18
80
|
isDisabled?: boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Focusable and announced, shows the color, but never opens and has no clear button.
|
|
83
|
+
* @default false
|
|
84
|
+
*/
|
|
85
|
+
isReadOnly?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Required marker on the `label` (via `Field`) and `aria-required`. No validation.
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
19
90
|
isRequired?: boolean;
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Stretch to the parent's width. Without it, the field is 160px wide.
|
|
93
|
+
* @default false
|
|
94
|
+
*/
|
|
95
|
+
fillWidth?: boolean;
|
|
96
|
+
/** Accessible name when there is no visible label (no `label` and no wrapping `Field`). Required with `children`. */
|
|
97
|
+
ariaLabel?: string;
|
|
98
|
+
/** Controlled open state of the picker panel. When set, ColorInput calls `onOpenChange` and lets the caller decide. */
|
|
25
99
|
isOpen?: boolean;
|
|
100
|
+
/**
|
|
101
|
+
* Initial open state while uncontrolled.
|
|
102
|
+
* @default false
|
|
103
|
+
*/
|
|
104
|
+
defaultIsOpen?: boolean;
|
|
105
|
+
/** Called with the requested state on click, the keyboard, a swatch, Escape, an outside press and focus leaving the panel. */
|
|
26
106
|
onOpenChange?: (isOpen: boolean) => void;
|
|
27
|
-
/**
|
|
28
|
-
children?:
|
|
107
|
+
/** Custom trigger in place of the field: one focusable element that forwards its `ref` (a `Button`). The field's look props then do not apply. */
|
|
108
|
+
children?: ReactElement;
|
|
109
|
+
/**
|
|
110
|
+
* DOM id of the combobox element (or the custom trigger). A wrapping `Field`'s id wins.
|
|
111
|
+
* @default useId()
|
|
112
|
+
*/
|
|
113
|
+
id?: string;
|
|
114
|
+
/** Any `data-*` attribute, forwarded to the combobox element (or the custom trigger). */
|
|
115
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
116
|
+
/** Extra class on the root: the `Field` wrapper when ColorInput renders one, otherwise the field wrapper. Not applied with `children`. */
|
|
117
|
+
className?: string;
|
|
118
|
+
/** Inline style on the root; only for setting CSS custom properties. Not applied with `children`. */
|
|
119
|
+
style?: CSSProperties;
|
|
29
120
|
}
|
|
30
|
-
/**
|
|
31
|
-
|
|
32
|
-
*
|
|
33
|
-
* `onPreviewChange` fires throughout the drag while `onChange` fires on commit —
|
|
34
|
-
* drive a live preview from the first and persist from the second.
|
|
35
|
-
*/
|
|
36
|
-
declare const ColorInput: ({ label, variant, size, value, placeholder, onChange, onPreviewChange, width, fillWidth, isDisabled, isRequired, error, pinnedHex, isOpen: controlledIsOpen, onOpenChange, children, }: ColorInputProps) => import("react").JSX.Element;
|
|
121
|
+
/** Choose one solid color as a hex value, in a field (or a custom trigger) that opens a picker. */
|
|
122
|
+
declare const ColorInput: import("react").ForwardRefExoticComponent<ColorInputProps & import("react").RefAttributes<HTMLElement>>;
|
|
37
123
|
export default ColorInput;
|