@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
package/dist/transform/Fade.js
CHANGED
|
@@ -1,28 +1,80 @@
|
|
|
1
|
+
import { DURATION } from "../theme/tokens/scales.js";
|
|
2
|
+
import { usePrefersReducedMotion } from "../hooks/usePrefersReducedMotion.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { forwardRef } from "react";
|
|
1
5
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
6
|
+
import { cx } from "@linaria/core";
|
|
7
|
+
import { AnimatePresence, motion } from "framer-motion";
|
|
3
8
|
//#region src/transform/Fade.tsx
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
10
|
+
* The opacity enter/exit for content that appears and disappears. Given `isOpen`, it fades its
|
|
11
|
+
* content in, or fades it out and then removes it from the DOM, the tab order and the
|
|
12
|
+
* accessibility tree. Presentational only: no trigger, no state, no surface, no role. The host
|
|
13
|
+
* (an overlay backdrop, an in-place status message, content replacing a placeholder) owns those.
|
|
6
14
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
15
|
+
* Animated with `framer-motion` (Constitution II.7) over `duration.base`, `easeInOut`; instant
|
|
16
|
+
* under reduced motion. Never animates on the first render unless `shouldAnimateOnMount` is set.
|
|
17
|
+
* Fade does not move focus: a host that closes while focus is inside restores it itself.
|
|
9
18
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
/** The 1.x curve over `duration.base`. */
|
|
20
|
+
var FADE_TRANSITION = {
|
|
21
|
+
duration: Number.parseFloat(DURATION.base) / 1e3,
|
|
22
|
+
ease: "easeInOut"
|
|
23
|
+
};
|
|
24
|
+
/** Under reduced motion the state snaps; the `transitionEnd` values still apply. */
|
|
25
|
+
var FADE_REDUCED_TRANSITION = { duration: 0 };
|
|
26
|
+
/** Where an enter starts: transparent. */
|
|
27
|
+
var FADE_START = { opacity: 0 };
|
|
28
|
+
/** Open: opaque, visible from the first frame, takes pointer input. */
|
|
29
|
+
var FADE_OPEN = {
|
|
30
|
+
opacity: 1,
|
|
31
|
+
visibility: "visible",
|
|
32
|
+
pointerEvents: "auto"
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Closed: transparent, no pointer input from the first frame, hidden (kept-mounted) at the end.
|
|
36
|
+
* `visibility: "visible"` is listed so framer owns the key during the close; with it only in
|
|
37
|
+
* `transitionEnd`, framer sets the value but never renders it at rest.
|
|
38
|
+
*/
|
|
39
|
+
var FADE_CLOSED = {
|
|
40
|
+
opacity: 0,
|
|
41
|
+
visibility: "visible",
|
|
42
|
+
pointerEvents: "none",
|
|
43
|
+
transitionEnd: { visibility: "hidden" }
|
|
44
|
+
};
|
|
45
|
+
/** Lets a Fade that is a flex or grid child shrink with its content. */
|
|
46
|
+
var Root = "gx-Fade-rzn1s0s";
|
|
47
|
+
/** Fades its content in and out; unmounts it when closed by default. */
|
|
48
|
+
var Fade = forwardRef(function Fade({ children, isOpen = false, shouldKeepMounted = false, shouldAnimateOnMount = false, id, className, style, ...rest }, ref) {
|
|
49
|
+
const transition = usePrefersReducedMotion() ? FADE_REDUCED_TRANSITION : FADE_TRANSITION;
|
|
50
|
+
const styleProps = style === void 0 ? {} : { style };
|
|
51
|
+
if (shouldKeepMounted) return /* @__PURE__ */ jsx(motion.div, {
|
|
52
|
+
...rest,
|
|
53
|
+
ref,
|
|
54
|
+
id,
|
|
55
|
+
initial: shouldAnimateOnMount ? FADE_START : false,
|
|
56
|
+
animate: isOpen ? FADE_OPEN : FADE_CLOSED,
|
|
57
|
+
transition,
|
|
58
|
+
className: cx(Root, className),
|
|
59
|
+
...styleProps,
|
|
24
60
|
children
|
|
25
61
|
});
|
|
26
|
-
|
|
62
|
+
return /* @__PURE__ */ jsx(AnimatePresence, {
|
|
63
|
+
initial: shouldAnimateOnMount,
|
|
64
|
+
children: isOpen && /* @__PURE__ */ jsx(motion.div, {
|
|
65
|
+
...rest,
|
|
66
|
+
ref,
|
|
67
|
+
id,
|
|
68
|
+
initial: FADE_START,
|
|
69
|
+
animate: FADE_OPEN,
|
|
70
|
+
exit: FADE_CLOSED,
|
|
71
|
+
transition,
|
|
72
|
+
className: cx(Root, className),
|
|
73
|
+
...styleProps,
|
|
74
|
+
children
|
|
75
|
+
}, "fade")
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
Fade.displayName = "Fade";
|
|
27
79
|
//#endregion
|
|
28
80
|
export { Fade as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
export interface FlasherProps extends AriaAttributes {
|
|
3
|
+
/**
|
|
4
|
+
* The content to pulse: text, an `Icon`, an inline value. Phrasing content only (it renders
|
|
5
|
+
* inside a `<span>`); for a block, put Flasher inside it, around its text.
|
|
6
|
+
*/
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
/**
|
|
9
|
+
* Pulses the content while `true` to mark it as in progress; at rest it is at full opacity.
|
|
10
|
+
* Static under reduced motion, so always pair it with a completion state.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
isFlashing?: boolean;
|
|
14
|
+
/** DOM id on the root `<span>`. */
|
|
15
|
+
id?: string;
|
|
16
|
+
/** Any `data-*` attribute, forwarded to the root `<span>`. */
|
|
17
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
18
|
+
/** Extra class on the root `<span>`. Must not set `animation` or `opacity`. */
|
|
19
|
+
className?: string;
|
|
20
|
+
/** Inline style on the root `<span>`; only for setting CSS custom properties. */
|
|
21
|
+
style?: CSSProperties;
|
|
22
|
+
}
|
|
23
|
+
/** Pulses its content while `isFlashing`; the wrapper is always rendered. */
|
|
24
|
+
declare const Flasher: import("react").ForwardRefExoticComponent<FlasherProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
25
|
+
export default Flasher;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/* empty css */
|
|
2
|
+
import { styled } from "@linaria/react";
|
|
3
|
+
import { forwardRef } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "@linaria/core";
|
|
6
|
+
//#region src/transform/Flasher.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Pulses its content between full and 40% opacity while `isFlashing`, to say "this is in
|
|
9
|
+
* progress": a "Syncing sources" label, a value that is recalculating. It wraps real content
|
|
10
|
+
* that is already there; a placeholder for content that has not arrived is `Skeleton`, and a live
|
|
11
|
+
* dot is `Beacon isPulse`. A loop (CSS keyframes over `7 × duration.base`), not an enter/exit.
|
|
12
|
+
*
|
|
13
|
+
* An inline `<span>` that is always rendered, so turning it off leaves content and layout as
|
|
14
|
+
* they are. Decorative: the words must say the progress, and a host `role="status"` region
|
|
15
|
+
* announces completion. Stops under reduced motion, so always pair it with a completion state.
|
|
16
|
+
* Replaces 1.x `Flash` (renamed; `isFlashing` is new).
|
|
17
|
+
*/
|
|
18
|
+
/** Stays inline, so a Flasher can wrap a phrase inside a sentence. */
|
|
19
|
+
var Root = /*#__PURE__*/ styled("span")({
|
|
20
|
+
name: "Root",
|
|
21
|
+
class: "gx-Flasher-r11jlx92",
|
|
22
|
+
propsAsIs: false
|
|
23
|
+
});
|
|
24
|
+
/** Flashing: the 1.x pulse (1 → 0.4 → 1, ease-in-out) over `7 × duration.base` (1.05s). */
|
|
25
|
+
var FLASHING_CSS = "gx-Flasher-FLASHING_CSS-fo5zqvg";
|
|
26
|
+
/** Pulses its content while `isFlashing`; the wrapper is always rendered. */
|
|
27
|
+
var Flasher = forwardRef(function Flasher({ children, isFlashing = false, id, className, style, ...rest }, ref) {
|
|
28
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
29
|
+
...rest,
|
|
30
|
+
ref,
|
|
31
|
+
id,
|
|
32
|
+
className: cx(isFlashing && FLASHING_CSS, className),
|
|
33
|
+
style,
|
|
34
|
+
children
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
Flasher.displayName = "Flasher";
|
|
38
|
+
//#endregion
|
|
39
|
+
export { Flasher as default };
|
|
@@ -1,15 +1,27 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export interface RotateProps {
|
|
3
|
-
/**
|
|
4
|
-
|
|
5
|
-
/**
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
export interface RotateProps extends AriaAttributes {
|
|
3
|
+
/** The glyph to turn, usually an `Icon`. Phrasing content only (it renders inside a `<span>`). */
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Turned to `deg` when `true`, back to 0° when `false`. Changing it animates the turn.
|
|
7
|
+
* @default false
|
|
8
|
+
*/
|
|
9
|
+
isRotated?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* The angle at the rotated end, in degrees. Negative turns counter-clockwise. Use `90` for a
|
|
12
|
+
* right-pointing disclosure caret and `180` for a down-pointing select caret.
|
|
13
|
+
* @default 180
|
|
14
|
+
*/
|
|
6
15
|
deg?: number;
|
|
7
|
-
/**
|
|
8
|
-
|
|
16
|
+
/** DOM id on the root `<span>`. */
|
|
17
|
+
id?: string;
|
|
18
|
+
/** Any `data-*` attribute, forwarded to the root `<span>`. */
|
|
19
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
20
|
+
/** Extra class on the root `<span>`. Must not set `transform` or `transition`. */
|
|
21
|
+
className?: string;
|
|
22
|
+
/** Inline style on the root `<span>`; only for setting CSS custom properties. */
|
|
23
|
+
style?: CSSProperties;
|
|
9
24
|
}
|
|
10
|
-
/**
|
|
11
|
-
|
|
12
|
-
* looping — the usual case is a chevron on an expand/collapse toggle.
|
|
13
|
-
*/
|
|
14
|
-
declare const Rotate: ({ children, isRotated, deg, speed }: PropsWithChildren<RotateProps>) => import("react").JSX.Element;
|
|
25
|
+
/** Turns its content to `deg` while `isRotated`; back to 0° otherwise. */
|
|
26
|
+
declare const Rotate: import("react").ForwardRefExoticComponent<RotateProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
15
27
|
export default Rotate;
|
package/dist/transform/Rotate.js
CHANGED
|
@@ -1,32 +1,46 @@
|
|
|
1
1
|
/* empty css */
|
|
2
2
|
import { styled } from "@linaria/react";
|
|
3
|
+
import { forwardRef } from "react";
|
|
3
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "@linaria/core";
|
|
4
6
|
//#region src/transform/Rotate.tsx
|
|
5
|
-
var _exp = () => ({ $speed }) => $speed ?? .075;
|
|
6
|
-
var _exp2 = () => ({ $isRotated, $deg }) => {
|
|
7
|
-
if ($isRotated) return `${$deg}deg`;
|
|
8
|
-
return "0deg";
|
|
9
|
-
};
|
|
10
|
-
var RotateWrapper = /*#__PURE__*/ styled("div")({
|
|
11
|
-
name: "RotateWrapper",
|
|
12
|
-
class: "r530s5l",
|
|
13
|
-
propsAsIs: false,
|
|
14
|
-
vars: {
|
|
15
|
-
"r530s5l-0": [_exp(), "s"],
|
|
16
|
-
"r530s5l-1": [_exp2()]
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
7
|
/**
|
|
20
|
-
*
|
|
21
|
-
*
|
|
8
|
+
* Turns its content between 0° and `deg` when `isRotated` flips: the state caret on a disclosure,
|
|
9
|
+
* a select or dropdown trigger, a sort arrow. A state transition (a CSS transition over
|
|
10
|
+
* `duration.base`), not a loop (`Spinner` with children) and not an enter/exit (`Fade`, `ScaleFade`).
|
|
11
|
+
*
|
|
12
|
+
* An inline `<span>`, so it sits inside a `<button>`. Decorative: the host owns the state, the
|
|
13
|
+
* trigger and the semantics (`aria-expanded`, `aria-sort`). Snaps under reduced motion.
|
|
14
|
+
*/
|
|
15
|
+
/** The custom property carrying the rotated angle (a continuous value). */
|
|
16
|
+
var ROTATE_DEG_VARIABLE = "--gx-rotate-deg";
|
|
17
|
+
/**
|
|
18
|
+
* Inline, centered, never squeezed. The explicit `rotate(0deg)` gives the transition a matching
|
|
19
|
+
* transform function, so the angle interpolates numerically (360 is a full turn, negative turns
|
|
20
|
+
* counter-clockwise).
|
|
22
21
|
*/
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
var Root = /*#__PURE__*/ styled("span")({
|
|
23
|
+
name: "Root",
|
|
24
|
+
class: "gx-Rotate-r530s5l",
|
|
25
|
+
propsAsIs: false
|
|
26
|
+
});
|
|
27
|
+
/** Rotated: turn to the angle in `--gx-rotate-deg`. */
|
|
28
|
+
var ROTATED_CSS = "gx-Rotate-ROTATED_CSS-r1qjv1rt";
|
|
29
|
+
/** Turns its content to `deg` while `isRotated`; back to 0° otherwise. */
|
|
30
|
+
var Rotate = forwardRef(function Rotate({ children, isRotated = false, deg = 180, id, className, style, ...rest }, ref) {
|
|
31
|
+
const variables = { [ROTATE_DEG_VARIABLE]: `${deg}deg` };
|
|
32
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
33
|
+
...rest,
|
|
34
|
+
ref,
|
|
35
|
+
id,
|
|
36
|
+
className: cx(isRotated && ROTATED_CSS, className),
|
|
37
|
+
style: {
|
|
38
|
+
...variables,
|
|
39
|
+
...style
|
|
40
|
+
},
|
|
28
41
|
children
|
|
29
42
|
});
|
|
30
|
-
};
|
|
43
|
+
});
|
|
44
|
+
Rotate.displayName = "Rotate";
|
|
31
45
|
//#endregion
|
|
32
46
|
export { Rotate as default };
|
|
@@ -1,13 +1,38 @@
|
|
|
1
|
-
import type
|
|
2
|
-
export interface ScaleFadeProps {
|
|
3
|
-
/**
|
|
4
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
2
|
+
export interface ScaleFadeProps extends AriaAttributes {
|
|
3
|
+
/** The surface to pop in and out. */
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
/**
|
|
6
|
+
* Whether the content is shown. Changing it scales and fades the content in or out. Controlled only; the
|
|
7
|
+
* host owns the state.
|
|
8
|
+
* @default false
|
|
9
|
+
*/
|
|
10
|
+
isOpen?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Keep the content mounted while closed (transparent, scaled down, `visibility: hidden`) so its
|
|
13
|
+
* state survives. By default it unmounts after the exit.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
shouldKeepMounted?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Pop in when the component mounts already open (a toast pushed onto a stack). By default a
|
|
19
|
+
* ScaleFade that mounts open renders at rest. The server renders it transparent, so don't use it
|
|
20
|
+
* for server-rendered content that must be readable before JavaScript runs.
|
|
21
|
+
* @default false
|
|
22
|
+
*/
|
|
23
|
+
shouldAnimateOnMount?: boolean;
|
|
24
|
+
/** DOM id on the root `<div>`. */
|
|
25
|
+
id?: string;
|
|
26
|
+
/** Any `data-*` attribute, forwarded to the root `<div>`. */
|
|
27
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Extra class on the root `<div>`. May set `transform-origin` (the anchor point); must not set
|
|
30
|
+
* `opacity`, `transform` or `visibility`, which the animation owns.
|
|
31
|
+
*/
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Inline style on the root `<div>`; only for setting CSS custom properties. */
|
|
34
|
+
style?: CSSProperties;
|
|
5
35
|
}
|
|
6
|
-
/**
|
|
7
|
-
|
|
8
|
-
* things that pop: menus, popovers, toasts.
|
|
9
|
-
*
|
|
10
|
-
* The exit half only runs inside a framer-motion `AnimatePresence`.
|
|
11
|
-
*/
|
|
12
|
-
declare const ScaleFade: ({ children, delay }: PropsWithChildren<ScaleFadeProps>) => import("react").JSX.Element;
|
|
36
|
+
/** Pops its content in and out (opacity + 95% scale); unmounts it when closed by default. */
|
|
37
|
+
declare const ScaleFade: import("react").ForwardRefExoticComponent<ScaleFadeProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
13
38
|
export default ScaleFade;
|
|
@@ -1,37 +1,95 @@
|
|
|
1
|
+
import { DURATION } from "../theme/tokens/scales.js";
|
|
2
|
+
import { usePrefersReducedMotion } from "../hooks/usePrefersReducedMotion.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { forwardRef } from "react";
|
|
1
5
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
6
|
+
import { cx } from "@linaria/core";
|
|
7
|
+
import { AnimatePresence, motion } from "framer-motion";
|
|
3
8
|
//#region src/transform/ScaleFade.tsx
|
|
4
9
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
10
|
+
* The enter/exit for surfaces that pop: popovers, menus, dialogs and toasts. Given `isOpen`, it
|
|
11
|
+
* fades its content in while scaling it from 95% to 100%, or fades and shrinks it back and then
|
|
12
|
+
* removes it from the DOM, the tab order and the accessibility tree. Fade's API and contract;
|
|
13
|
+
* only the motion differs. Scales from the center; an anchored host sets `transform-origin`
|
|
14
|
+
* through `className` so the surface grows out of its trigger.
|
|
7
15
|
*
|
|
8
|
-
*
|
|
16
|
+
* Animated with `framer-motion` (Constitution II.7) over `duration.base`, `easeOut` (the 1.x
|
|
17
|
+
* curve); instant under reduced motion. Never animates on the first render unless
|
|
18
|
+
* `shouldAnimateOnMount` is set. ScaleFade does not move focus: overlays trap and restore it
|
|
19
|
+
* through `FocusScope`, which in the default mode restores at the end of the exit.
|
|
9
20
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
/** The 1.x curve over `duration.base`. */
|
|
22
|
+
var SCALE_FADE_TRANSITION = {
|
|
23
|
+
duration: Number.parseFloat(DURATION.base) / 1e3,
|
|
24
|
+
ease: "easeOut"
|
|
25
|
+
};
|
|
26
|
+
/** The closed scale (the 1.x value). */
|
|
27
|
+
var SCALE_FADE_SCALE = .95;
|
|
28
|
+
/** Under reduced motion the state snaps; the `transitionEnd` values still apply. */
|
|
29
|
+
var SCALE_FADE_REDUCED_TRANSITION = { duration: 0 };
|
|
30
|
+
/** Where an enter starts: transparent, scaled down. */
|
|
31
|
+
var SCALE_FADE_START = {
|
|
32
|
+
opacity: 0,
|
|
33
|
+
scale: SCALE_FADE_SCALE
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Open: opaque at full size (framer writes `transform: none` at scale 1), visible from the first
|
|
37
|
+
* frame, takes pointer input.
|
|
38
|
+
*/
|
|
39
|
+
var SCALE_FADE_OPEN = {
|
|
40
|
+
opacity: 1,
|
|
41
|
+
scale: 1,
|
|
42
|
+
visibility: "visible",
|
|
43
|
+
pointerEvents: "auto"
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Closed: transparent and scaled down, no pointer input from the first frame, hidden
|
|
47
|
+
* (kept-mounted) at the end. `visibility: "visible"` is listed so framer owns the key during the
|
|
48
|
+
* close; with it only in `transitionEnd`, framer sets the value but never renders it at rest.
|
|
49
|
+
*/
|
|
50
|
+
var SCALE_FADE_CLOSED = {
|
|
51
|
+
opacity: 0,
|
|
52
|
+
scale: SCALE_FADE_SCALE,
|
|
53
|
+
visibility: "visible",
|
|
54
|
+
pointerEvents: "none",
|
|
55
|
+
transitionEnd: { visibility: "hidden" }
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Lets a ScaleFade that is a flex or grid child shrink with its content. `transform-origin` stays
|
|
59
|
+
* at the CSS default (center) so a host class overrides it without a specificity contest.
|
|
60
|
+
*/
|
|
61
|
+
var Root = "gx-ScaleFade-r1iy8djq";
|
|
62
|
+
/** Pops its content in and out (opacity + 95% scale); unmounts it when closed by default. */
|
|
63
|
+
var ScaleFade = forwardRef(function ScaleFade({ children, isOpen = false, shouldKeepMounted = false, shouldAnimateOnMount = false, id, className, style, ...rest }, ref) {
|
|
64
|
+
const transition = usePrefersReducedMotion() ? SCALE_FADE_REDUCED_TRANSITION : SCALE_FADE_TRANSITION;
|
|
65
|
+
const styleProps = style === void 0 ? {} : { style };
|
|
66
|
+
if (shouldKeepMounted) return /* @__PURE__ */ jsx(motion.div, {
|
|
67
|
+
...rest,
|
|
68
|
+
ref,
|
|
69
|
+
id,
|
|
70
|
+
initial: shouldAnimateOnMount ? SCALE_FADE_START : false,
|
|
71
|
+
animate: isOpen ? SCALE_FADE_OPEN : SCALE_FADE_CLOSED,
|
|
72
|
+
transition,
|
|
73
|
+
className: cx(Root, className),
|
|
74
|
+
...styleProps,
|
|
33
75
|
children
|
|
34
76
|
});
|
|
35
|
-
|
|
77
|
+
return /* @__PURE__ */ jsx(AnimatePresence, {
|
|
78
|
+
initial: shouldAnimateOnMount,
|
|
79
|
+
children: isOpen && /* @__PURE__ */ jsx(motion.div, {
|
|
80
|
+
...rest,
|
|
81
|
+
ref,
|
|
82
|
+
id,
|
|
83
|
+
initial: SCALE_FADE_START,
|
|
84
|
+
animate: SCALE_FADE_OPEN,
|
|
85
|
+
exit: SCALE_FADE_CLOSED,
|
|
86
|
+
transition,
|
|
87
|
+
className: cx(Root, className),
|
|
88
|
+
...styleProps,
|
|
89
|
+
children
|
|
90
|
+
}, "scale-fade")
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
ScaleFade.displayName = "ScaleFade";
|
|
36
94
|
//#endregion
|
|
37
95
|
export { ScaleFade as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
/** @internal Props of `CollapseMotion`. */
|
|
3
|
+
export interface CollapseMotionProps {
|
|
4
|
+
/** The content to show and hide. */
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
/** Whether the content is shown. Changing it animates the height. */
|
|
7
|
+
isOpen: boolean;
|
|
8
|
+
}
|
|
9
|
+
/** @internal Animates its content's height open and closed; unmounts it when closed. */
|
|
10
|
+
export default function CollapseMotion({ children, isOpen }: CollapseMotionProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { DURATION } from "../../theme/tokens/scales.js";
|
|
2
|
+
import { usePrefersReducedMotion } from "../../hooks/usePrefersReducedMotion.js";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import { AnimatePresence, motion } from "framer-motion";
|
|
6
|
+
//#region src/transform/internal/CollapseMotion.tsx
|
|
7
|
+
/**
|
|
8
|
+
* @internal The animated show/hide of a disclosure body, private to the DLS (an `internal/`
|
|
9
|
+
* module: built, never a package export). The collapsible Widget, Tree, SidebarNav groups and
|
|
10
|
+
* JsonViewer open and close through it; apps use `Widget isCollapsible`, or their own animation.
|
|
11
|
+
*
|
|
12
|
+
* Given `isOpen`, it grows its content from zero height to its natural height, or shrinks it back,
|
|
13
|
+
* then unmounts it, so closed content is out of the layout, the tab order and the accessibility
|
|
14
|
+
* tree. Presentational only: the host owns the trigger, the state and the semantic element it puts
|
|
15
|
+
* inside (`role="region"`, `ul role="group"`); padding, borders and semantics go on that child,
|
|
16
|
+
* never on this wrapper (padding on the animated element leaves a strip when closed).
|
|
17
|
+
*
|
|
18
|
+
* Animated with `framer-motion` over `duration.base`, `easeInOut` (the 1.x Accordion curve);
|
|
19
|
+
* instant under reduced motion. Never animates on the first render.
|
|
20
|
+
*/
|
|
21
|
+
/** The 1.x Accordion timing: `duration.base`, ease-in-out. */
|
|
22
|
+
var COLLAPSE_TRANSITION = {
|
|
23
|
+
duration: Number.parseFloat(DURATION.base) / 1e3,
|
|
24
|
+
ease: "easeInOut"
|
|
25
|
+
};
|
|
26
|
+
/** Under reduced motion the state snaps. */
|
|
27
|
+
var COLLAPSE_REDUCED_TRANSITION = { duration: 0 };
|
|
28
|
+
/** Where an opening starts: zero height, clipped. */
|
|
29
|
+
var COLLAPSE_START = {
|
|
30
|
+
height: 0,
|
|
31
|
+
overflow: "hidden"
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Open: grow to the content's height, clipped while moving; unclipped at rest so focus rings and
|
|
35
|
+
* overhangs show in full.
|
|
36
|
+
*/
|
|
37
|
+
var COLLAPSE_OPEN = {
|
|
38
|
+
height: "auto",
|
|
39
|
+
overflow: "hidden",
|
|
40
|
+
transitionEnd: { overflow: "visible" }
|
|
41
|
+
};
|
|
42
|
+
/** Closed: shrink to zero, clipped from the first frame, then unmounted. */
|
|
43
|
+
var COLLAPSE_CLOSED = {
|
|
44
|
+
height: 0,
|
|
45
|
+
overflow: "hidden"
|
|
46
|
+
};
|
|
47
|
+
/** Lets the wrapper shrink with its content when it is a flex or grid child. */
|
|
48
|
+
var Root = "gx-CollapseMotion-r1q43jfl";
|
|
49
|
+
/** @internal Animates its content's height open and closed; unmounts it when closed. */
|
|
50
|
+
function CollapseMotion({ children, isOpen }) {
|
|
51
|
+
const prefersReducedMotion = usePrefersReducedMotion();
|
|
52
|
+
return /* @__PURE__ */ jsx(AnimatePresence, {
|
|
53
|
+
initial: false,
|
|
54
|
+
children: isOpen && /* @__PURE__ */ jsx(motion.div, {
|
|
55
|
+
initial: COLLAPSE_START,
|
|
56
|
+
animate: COLLAPSE_OPEN,
|
|
57
|
+
exit: COLLAPSE_CLOSED,
|
|
58
|
+
transition: prefersReducedMotion ? COLLAPSE_REDUCED_TRANSITION : COLLAPSE_TRANSITION,
|
|
59
|
+
className: Root,
|
|
60
|
+
children
|
|
61
|
+
}, "collapse")
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//#endregion
|
|
65
|
+
export { CollapseMotion as default };
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type Icon as PhosphorIcon } from "@phosphor-icons/react";
|
|
2
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
3
|
+
/** Row rung. Tree rows are dense: 24 and 28px, the same geometry as `JsonViewerSize`. */
|
|
4
|
+
export declare enum TreeSize {
|
|
5
|
+
/** 24px rows, `body_sm` labels, 12px icons, 10px carets, 14px indent per level. */
|
|
6
|
+
SMALL = "SMALL",
|
|
7
|
+
/** 28px rows, `body_md` labels, 14px icons, 12px carets, 16px indent per level. The default. */
|
|
8
|
+
MEDIUM = "MEDIUM"
|
|
9
|
+
}
|
|
10
|
+
/** One row of the tree, and its children. */
|
|
11
|
+
export interface TreeItem {
|
|
12
|
+
/** Unique across the whole tree; the value of `value`, `onChange` and `expandedIds`. */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Row text. Also the type-ahead key. Plain text: one line, truncated with a tooltip on overflow. */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Leading icon, rendered through `Icon` at the rung's icon size. */
|
|
17
|
+
icon?: PhosphorIcon;
|
|
18
|
+
/** Non-interactive mark after the label, right-aligned (a count `Chip`, a labeled `Beacon`, a `Kbd`). Never a button or link. */
|
|
19
|
+
trailing?: ReactNode;
|
|
20
|
+
/** Child rows. `undefined` on a parent with `hasChildren` means "not loaded yet". */
|
|
21
|
+
children?: TreeItem[];
|
|
22
|
+
/**
|
|
23
|
+
* Marks a parent whose children are not loaded yet (lazy).
|
|
24
|
+
* @default children !== undefined && children.length > 0
|
|
25
|
+
*/
|
|
26
|
+
hasChildren?: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Not selectable; shown in the disabled color. It can still be focused and expanded.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
isDisabled?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/** Every Tree prop except the accessible-name pair (`ariaLabel` / `aria-labelledby`). */
|
|
34
|
+
interface TreeBaseProps extends AriaAttributes {
|
|
35
|
+
/** The top-level rows. Each item may hold `children`; `id`s must be unique across the whole tree. */
|
|
36
|
+
items: TreeItem[];
|
|
37
|
+
/** Controlled selected item `id`. `null` means nothing is selected. */
|
|
38
|
+
value?: string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Selected item `id` while uncontrolled.
|
|
41
|
+
* @default null
|
|
42
|
+
*/
|
|
43
|
+
defaultValue?: string | null;
|
|
44
|
+
/** Called with the item `id` when the user selects a row (click, Enter or Space). Not called for disabled items. */
|
|
45
|
+
onChange?: (value: string) => void;
|
|
46
|
+
/** Controlled list of expanded parent `id`s. */
|
|
47
|
+
expandedIds?: string[];
|
|
48
|
+
/**
|
|
49
|
+
* Expanded parent `id`s while uncontrolled.
|
|
50
|
+
* @default []
|
|
51
|
+
*/
|
|
52
|
+
defaultExpandedIds?: string[];
|
|
53
|
+
/** Called with the full new list whenever a row expands or collapses. Use it to fetch lazy children. */
|
|
54
|
+
onExpandedIdsChange?: (expandedIds: string[]) => void;
|
|
55
|
+
/**
|
|
56
|
+
* Row rung: 24 / 28px tall, with the rung's text, icon, caret and indent (14 / 16px per level).
|
|
57
|
+
* @default TreeSize.MEDIUM
|
|
58
|
+
*/
|
|
59
|
+
size?: TreeSize;
|
|
60
|
+
/** DOM id on the root `role="tree"` element. */
|
|
61
|
+
id?: string;
|
|
62
|
+
/** Any `data-*` attribute, forwarded to the root `role="tree"` element. */
|
|
63
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
64
|
+
/** Extra class on the root. */
|
|
65
|
+
className?: string;
|
|
66
|
+
/** Inline style on the root; only for setting CSS custom properties. */
|
|
67
|
+
style?: CSSProperties;
|
|
68
|
+
}
|
|
69
|
+
/** Named by `ariaLabel`. */
|
|
70
|
+
interface TreeNamedProps {
|
|
71
|
+
/** Accessible name of the tree. Required unless `aria-labelledby` names it. */
|
|
72
|
+
ariaLabel: string;
|
|
73
|
+
}
|
|
74
|
+
/** Named by a visible heading through `aria-labelledby`. */
|
|
75
|
+
interface TreeLabelledByProps {
|
|
76
|
+
/** Accessible name of the tree. Required unless `aria-labelledby` names it. */
|
|
77
|
+
ariaLabel?: undefined;
|
|
78
|
+
/** Id of the element that names the tree (a visible heading). */
|
|
79
|
+
"aria-labelledby": string;
|
|
80
|
+
}
|
|
81
|
+
/** Tree props. The tree needs a name: `ariaLabel`, or `aria-labelledby` pointing at a heading. */
|
|
82
|
+
export type TreeProps = TreeBaseProps & (TreeNamedProps | TreeLabelledByProps);
|
|
83
|
+
/** Hierarchical rows with expand / collapse, single selection, lazy children and tree keyboard. */
|
|
84
|
+
declare const Tree: import("react").ForwardRefExoticComponent<TreeProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
85
|
+
export default Tree;
|