@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
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @internal What the scene draws; the component passes its props and the resolved color. */
|
|
2
|
+
export interface GalaxyLogomark3DSceneOptions {
|
|
3
|
+
/** Canvas width and height in CSS px. */
|
|
4
|
+
size: number;
|
|
5
|
+
/** Material color as a resolved hex (`solid.primary.background` or `background.base`). */
|
|
6
|
+
color: string;
|
|
7
|
+
/** Spin around the vertical axis at `speed`. */
|
|
8
|
+
isAutoRotate: boolean;
|
|
9
|
+
/** Drag to orbit (no zoom, no pan). */
|
|
10
|
+
isInteractive: boolean;
|
|
11
|
+
/** Double flip on random axes when the pointer enters. */
|
|
12
|
+
isHoverable: boolean;
|
|
13
|
+
/** Auto-rotation rate in rad/s; the flip lasts `0.5 / speed` s. */
|
|
14
|
+
speed: number;
|
|
15
|
+
}
|
|
16
|
+
/** @internal A mounted scene. */
|
|
17
|
+
export interface GalaxyLogomark3DScene {
|
|
18
|
+
/** Applies new options without rebuilding the scene. */
|
|
19
|
+
update(options: GalaxyLogomark3DSceneOptions): void;
|
|
20
|
+
/** Stops the loop and frees every GPU resource and listener. */
|
|
21
|
+
dispose(): void;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @internal Renders the Galaxy logomark into `canvas` and keeps it moving until `dispose()`.
|
|
25
|
+
* Calls `onFirstFrame` once, after the first frame is drawn.
|
|
26
|
+
*/
|
|
27
|
+
export declare function mountGalaxyLogomark3DScene(canvas: HTMLCanvasElement, options: GalaxyLogomark3DSceneOptions, onFirstFrame: () => void): GalaxyLogomark3DScene;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import galaxy_logomark_default from "./assets/galaxy-logomark.js";
|
|
2
|
+
import { ACESFilmicToneMapping, AmbientLight, Box3, DirectionalLight, Group, MathUtils, Mesh, MeshPhysicalMaterial, PMREMGenerator, PerspectiveCamera, Scene, Vector3, WebGLRenderer } from "three";
|
|
3
|
+
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
|
|
4
|
+
import { RoomEnvironment } from "three/addons/environments/RoomEnvironment.js";
|
|
5
|
+
import { OBJLoader } from "three/addons/loaders/OBJLoader.js";
|
|
6
|
+
//#region src/three/galaxyLogomark3DScene.ts
|
|
7
|
+
/**
|
|
8
|
+
* @internal The three.js scene behind `GalaxyLogomark3D`; not documented API. The component loads
|
|
9
|
+
* this module with a dynamic `import()` after mount, so three.js and the ~2.4 MB model stay out of
|
|
10
|
+
* every other module's graph and out of build-time evaluation. A port of the 1.x
|
|
11
|
+
* react-three-fiber scene with its default look: one glossy physical material, the simple
|
|
12
|
+
* three-light rig, a procedural `RoomEnvironment` (no CDN fetch), drag-to-orbit only.
|
|
13
|
+
*/
|
|
14
|
+
/** The 1.x mesh scale: the resting mark spans ≈ 76% of the canvas at the 1.x camera. */
|
|
15
|
+
var MESH_SCALE = .088;
|
|
16
|
+
/** Reflection strength of the room environment on the material (1.x default, tuned in Storybook). */
|
|
17
|
+
var ENV_MAP_INTENSITY = 1.5;
|
|
18
|
+
/** Ease-out-quart, the 1.x flip curve. */
|
|
19
|
+
var easeOutQuart = (progress) => 1 - (1 - progress) ** 4;
|
|
20
|
+
/** Eases an angle 10% of the way to rest by the shortest way, snapping to 0 once invisible. */
|
|
21
|
+
var settle = (angle) => {
|
|
22
|
+
const next = MathUtils.lerp(wrapAngle(angle), 0, .1);
|
|
23
|
+
return Math.abs(next) < 1e-4 ? 0 : next;
|
|
24
|
+
};
|
|
25
|
+
/** The same angle in [-π, π). */
|
|
26
|
+
var wrapAngle = (angle) => MathUtils.euclideanModulo(angle + Math.PI, Math.PI * 2) - Math.PI;
|
|
27
|
+
/** -1, 0 or 1. */
|
|
28
|
+
var randomAxis = () => Math.floor(Math.random() * 3) - 1;
|
|
29
|
+
/**
|
|
30
|
+
* @internal Renders the Galaxy logomark into `canvas` and keeps it moving until `dispose()`.
|
|
31
|
+
* Calls `onFirstFrame` once, after the first frame is drawn.
|
|
32
|
+
*/
|
|
33
|
+
function mountGalaxyLogomark3DScene(canvas, options, onFirstFrame) {
|
|
34
|
+
let current = options;
|
|
35
|
+
const renderer = new WebGLRenderer({
|
|
36
|
+
canvas,
|
|
37
|
+
alpha: true,
|
|
38
|
+
antialias: true
|
|
39
|
+
});
|
|
40
|
+
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
|
41
|
+
renderer.setSize(current.size, current.size, false);
|
|
42
|
+
renderer.setClearAlpha(0);
|
|
43
|
+
renderer.toneMapping = ACESFilmicToneMapping;
|
|
44
|
+
const camera = new PerspectiveCamera(45, 1, .1, 100);
|
|
45
|
+
camera.position.set(0, 0, 4);
|
|
46
|
+
const scene = new Scene();
|
|
47
|
+
scene.add(new AmbientLight(void 0, .5));
|
|
48
|
+
const keyLight = new DirectionalLight(void 0, 1);
|
|
49
|
+
keyLight.position.set(10, 10, 5);
|
|
50
|
+
scene.add(keyLight);
|
|
51
|
+
const fillLight = new DirectionalLight(void 0, .5);
|
|
52
|
+
fillLight.position.set(-10, -10, -5);
|
|
53
|
+
scene.add(fillLight);
|
|
54
|
+
const pmremGenerator = new PMREMGenerator(renderer);
|
|
55
|
+
const roomEnvironment = new RoomEnvironment();
|
|
56
|
+
const environmentTexture = pmremGenerator.fromScene(roomEnvironment, .04).texture;
|
|
57
|
+
roomEnvironment.dispose();
|
|
58
|
+
scene.environment = environmentTexture;
|
|
59
|
+
const material = new MeshPhysicalMaterial({
|
|
60
|
+
color: current.color,
|
|
61
|
+
sheenColor: current.color,
|
|
62
|
+
metalness: 0,
|
|
63
|
+
roughness: 0,
|
|
64
|
+
transmission: 0,
|
|
65
|
+
thickness: 0,
|
|
66
|
+
ior: 1,
|
|
67
|
+
clearcoat: 0,
|
|
68
|
+
clearcoatRoughness: 0,
|
|
69
|
+
sheen: 1,
|
|
70
|
+
sheenRoughness: 0,
|
|
71
|
+
envMapIntensity: ENV_MAP_INTENSITY
|
|
72
|
+
});
|
|
73
|
+
const model = new OBJLoader().parse(galaxy_logomark_default);
|
|
74
|
+
model.traverse((child) => {
|
|
75
|
+
if (child instanceof Mesh) child.material = material;
|
|
76
|
+
});
|
|
77
|
+
model.position.sub(new Box3().setFromObject(model).getCenter(new Vector3()));
|
|
78
|
+
const group = new Group();
|
|
79
|
+
group.scale.setScalar(MESH_SCALE);
|
|
80
|
+
group.add(model);
|
|
81
|
+
scene.add(group);
|
|
82
|
+
const controls = new OrbitControls(camera, canvas);
|
|
83
|
+
controls.enableRotate = true;
|
|
84
|
+
controls.enableZoom = false;
|
|
85
|
+
controls.enablePan = false;
|
|
86
|
+
const setInteractive = (isInteractive) => {
|
|
87
|
+
controls.enabled = isInteractive;
|
|
88
|
+
if (isInteractive) controls.connect(canvas);
|
|
89
|
+
else controls.disconnect();
|
|
90
|
+
};
|
|
91
|
+
if (!current.isInteractive) setInteractive(false);
|
|
92
|
+
const startTime = performance.now();
|
|
93
|
+
const elapsedSeconds = () => (performance.now() - startTime) / 1e3;
|
|
94
|
+
let flipStart = null;
|
|
95
|
+
let flipAxes = {
|
|
96
|
+
x: 0,
|
|
97
|
+
y: 1,
|
|
98
|
+
z: 0
|
|
99
|
+
};
|
|
100
|
+
const onPointerEnter = () => {
|
|
101
|
+
if (!current.isHoverable) return;
|
|
102
|
+
let axes = {
|
|
103
|
+
x: randomAxis(),
|
|
104
|
+
y: randomAxis(),
|
|
105
|
+
z: randomAxis()
|
|
106
|
+
};
|
|
107
|
+
while (axes.x === 0 && axes.y === 0 && axes.z === 0) axes = {
|
|
108
|
+
x: randomAxis(),
|
|
109
|
+
y: randomAxis(),
|
|
110
|
+
z: randomAxis()
|
|
111
|
+
};
|
|
112
|
+
flipAxes = axes;
|
|
113
|
+
flipStart = elapsedSeconds();
|
|
114
|
+
};
|
|
115
|
+
canvas.addEventListener("pointerenter", onPointerEnter);
|
|
116
|
+
let hasDrawn = false;
|
|
117
|
+
let frame = 0;
|
|
118
|
+
const tick = () => {
|
|
119
|
+
frame = requestAnimationFrame(tick);
|
|
120
|
+
const elapsed = elapsedSeconds();
|
|
121
|
+
const flipDuration = .5 / current.speed;
|
|
122
|
+
const { rotation } = group;
|
|
123
|
+
if (flipStart !== null && elapsed - flipStart < flipDuration) {
|
|
124
|
+
const turn = easeOutQuart((elapsed - flipStart) / flipDuration) * Math.PI * 4;
|
|
125
|
+
rotation.set(turn * flipAxes.x, turn * flipAxes.y, turn * flipAxes.z);
|
|
126
|
+
} else {
|
|
127
|
+
flipStart = null;
|
|
128
|
+
rotation.x = settle(rotation.x);
|
|
129
|
+
rotation.z = settle(rotation.z);
|
|
130
|
+
rotation.y = current.isAutoRotate ? elapsed * current.speed : settle(rotation.y);
|
|
131
|
+
}
|
|
132
|
+
renderer.render(scene, camera);
|
|
133
|
+
if (!hasDrawn) {
|
|
134
|
+
hasDrawn = true;
|
|
135
|
+
onFirstFrame();
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
frame = requestAnimationFrame(tick);
|
|
139
|
+
return {
|
|
140
|
+
update(next) {
|
|
141
|
+
if (next.size !== current.size) renderer.setSize(next.size, next.size, false);
|
|
142
|
+
if (next.color !== current.color) {
|
|
143
|
+
material.color.set(next.color);
|
|
144
|
+
material.sheenColor.set(next.color);
|
|
145
|
+
}
|
|
146
|
+
if (next.isInteractive !== current.isInteractive) setInteractive(next.isInteractive);
|
|
147
|
+
current = next;
|
|
148
|
+
},
|
|
149
|
+
dispose() {
|
|
150
|
+
cancelAnimationFrame(frame);
|
|
151
|
+
canvas.removeEventListener("pointerenter", onPointerEnter);
|
|
152
|
+
controls.dispose();
|
|
153
|
+
model.traverse((child) => {
|
|
154
|
+
if (child instanceof Mesh) child.geometry.dispose();
|
|
155
|
+
});
|
|
156
|
+
material.dispose();
|
|
157
|
+
environmentTexture.dispose();
|
|
158
|
+
pmremGenerator.dispose();
|
|
159
|
+
renderer.dispose();
|
|
160
|
+
renderer.forceContextLoss();
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
//#endregion
|
|
165
|
+
export { mountGalaxyLogomark3DScene };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { Icon as PhosphorIcon } from "@phosphor-icons/react";
|
|
2
|
+
import { type AriaAttributes, type CSSProperties, type ReactNode } from "react";
|
|
3
|
+
import type { PaletteColor } from "../theme/tokens/types.js";
|
|
4
|
+
/** Canonical rungs (subset); the member names the type step of the event text. */
|
|
5
|
+
export declare enum TimelineSize {
|
|
6
|
+
/** body_sm text, 16px box, 4px dot, 10px icon, 12px between events. */
|
|
7
|
+
SMALL = "SMALL",
|
|
8
|
+
/** body_md text, 20px box, 4px dot, 12px icon, 16px between events. The default. */
|
|
9
|
+
MEDIUM = "MEDIUM",
|
|
10
|
+
/** body_lg text, 24px box, 6px dot, 14px icon, 24px between events. */
|
|
11
|
+
LARGE = "LARGE"
|
|
12
|
+
}
|
|
13
|
+
/** The frame around every event's dot or icon. One shape per timeline. */
|
|
14
|
+
export declare enum TimelineMarkerShape {
|
|
15
|
+
/** A square hairline box with control-radius corners. The default. */
|
|
16
|
+
SQUARE = "SQUARE",
|
|
17
|
+
/** A round hairline box. */
|
|
18
|
+
CIRCLE = "CIRCLE",
|
|
19
|
+
/** No box: the dot or icon sits on the rail, 4px clear of the line above and below it. */
|
|
20
|
+
NONE = "NONE"
|
|
21
|
+
}
|
|
22
|
+
/** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
|
|
23
|
+
export declare enum TimelineVariant {
|
|
24
|
+
/** `text.primary` marker in a `border.primary` box. */
|
|
25
|
+
PRIMARY = "PRIMARY",
|
|
26
|
+
/** `text.secondary` marker in a `border.primary` box. The default. */
|
|
27
|
+
SECONDARY = "SECONDARY",
|
|
28
|
+
/** `text.tertiary` marker in a `border.primary` box. */
|
|
29
|
+
TERTIARY = "TERTIARY",
|
|
30
|
+
/** `text.disabled` marker in a `border.disabled` box: a skipped or cancelled step. */
|
|
31
|
+
DISABLED = "DISABLED",
|
|
32
|
+
/** `currentColor` of the item (`text.primary`) in a `border.primary` box. */
|
|
33
|
+
INHERIT = "INHERIT",
|
|
34
|
+
/** `text.success` marker in a `border.success` box. */
|
|
35
|
+
SUCCESS = "SUCCESS",
|
|
36
|
+
/** `text.warning` marker in a `border.warning` box. */
|
|
37
|
+
WARNING = "WARNING",
|
|
38
|
+
/** `text.error` marker in a `border.error` box. */
|
|
39
|
+
ERROR = "ERROR"
|
|
40
|
+
}
|
|
41
|
+
/** The fields of an event other than its marker color. */
|
|
42
|
+
interface TimelineItemBase {
|
|
43
|
+
/** Stable identity of the event, used as the React key. Not rendered. */
|
|
44
|
+
id: string;
|
|
45
|
+
/** What happened, in a few words ("Run started"). Primary text; wraps when long. */
|
|
46
|
+
label: string;
|
|
47
|
+
/** Detail under the label, in secondary text ("12,480 rows loaded into contacts"). */
|
|
48
|
+
description?: string;
|
|
49
|
+
/** When it happened, already formatted by the app ("14:02", "2 min ago"). Shown at the end of the label line. */
|
|
50
|
+
time?: string;
|
|
51
|
+
/** Machine-readable form of `time` (ISO 8601). When set, `time` renders inside `<time dateTime>`. */
|
|
52
|
+
dateTime?: string;
|
|
53
|
+
/** Marker icon, a Phosphor component (`CheckIcon`, not `<CheckIcon />`). Without it the marker is a dot. */
|
|
54
|
+
icon?: PhosphorIcon;
|
|
55
|
+
/**
|
|
56
|
+
* The event is in progress: a dot marker pulses and the item gets `aria-current="step"`.
|
|
57
|
+
* @default false
|
|
58
|
+
*/
|
|
59
|
+
isActive?: boolean;
|
|
60
|
+
/** Content under the description: links, chips, a button, a code block. */
|
|
61
|
+
footer?: ReactNode;
|
|
62
|
+
}
|
|
63
|
+
/** An event whose marker is colored by meaning (`variant`), or the default `SECONDARY`. */
|
|
64
|
+
interface TimelineItemVariantProps {
|
|
65
|
+
/**
|
|
66
|
+
* Marker color role: a neutral step or a status. Not with `color`.
|
|
67
|
+
* @default TimelineVariant.SECONDARY
|
|
68
|
+
*/
|
|
69
|
+
variant?: TimelineVariant;
|
|
70
|
+
/** Categorical palette family. Not with `variant`. */
|
|
71
|
+
color?: undefined;
|
|
72
|
+
}
|
|
73
|
+
/** An event whose marker is colored by category (`color`). */
|
|
74
|
+
interface TimelineItemColorProps {
|
|
75
|
+
/**
|
|
76
|
+
* Marker color role: a neutral step or a status. Not with `color`.
|
|
77
|
+
* @default TimelineVariant.SECONDARY
|
|
78
|
+
*/
|
|
79
|
+
variant?: undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Categorical palette family (`"blue"`, `"violet"`, …): the dot or icon takes `text.<family>`
|
|
82
|
+
* and the box `border.<family>`, the way a status variant renders. For an event's category (a source, a team); meanings take
|
|
83
|
+
* `variant`. Not with `variant`.
|
|
84
|
+
*/
|
|
85
|
+
color: PaletteColor;
|
|
86
|
+
}
|
|
87
|
+
/** One event on the timeline. Passing both `variant` and `color` is a type error. */
|
|
88
|
+
export type TimelineItem = TimelineItemBase & (TimelineItemVariantProps | TimelineItemColorProps);
|
|
89
|
+
export interface TimelineProps extends AriaAttributes {
|
|
90
|
+
/** The events, in the order to show. */
|
|
91
|
+
items: TimelineItem[];
|
|
92
|
+
/**
|
|
93
|
+
* Type step of the label, time and description (`body_sm` / `body_md` / `body_lg`), the marker box (16 / 20 / 24px) and the space between events.
|
|
94
|
+
* @default TimelineSize.MEDIUM
|
|
95
|
+
*/
|
|
96
|
+
size?: TimelineSize;
|
|
97
|
+
/**
|
|
98
|
+
* The frame around each dot or icon: a square box, a round box, or none (the rail runs straight
|
|
99
|
+
* into the marker). The marker keeps its 16 / 20 / 24px slot in every shape, so text never moves.
|
|
100
|
+
* @default TimelineMarkerShape.SQUARE
|
|
101
|
+
*/
|
|
102
|
+
markerShape?: TimelineMarkerShape;
|
|
103
|
+
/**
|
|
104
|
+
* Fill each box with its item's background role: a neutral step, `background.<status>` or
|
|
105
|
+
* `background.<family>`, the way a `Chip` fills. Ignored with `TimelineMarkerShape.NONE`.
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
isFilled?: boolean;
|
|
109
|
+
/** DOM id on the root `<ol>`. */
|
|
110
|
+
id?: string;
|
|
111
|
+
/** Any `data-*` attribute, forwarded to the root `<ol>`. */
|
|
112
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
113
|
+
/** Extra class on the root `<ol>`. */
|
|
114
|
+
className?: string;
|
|
115
|
+
/** Inline style on the root `<ol>`; only for setting CSS custom properties. */
|
|
116
|
+
style?: CSSProperties;
|
|
117
|
+
}
|
|
118
|
+
/** A vertical list of events with dot or icon markers (boxed or bare) on a hairline rail. */
|
|
119
|
+
declare const Timeline: import("react").ForwardRefExoticComponent<TimelineProps & import("react").RefAttributes<HTMLOListElement>>;
|
|
120
|
+
export default Timeline;
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
import Text, { TextSize, TextVariant } from "../text/Text.js";
|
|
2
|
+
import Beacon, { BeaconSize, BeaconVariant } from "../beacons/Beacon.js";
|
|
3
|
+
import Icon, { IconVariant } from "../icons/Icon.js";
|
|
4
|
+
/* empty css */
|
|
5
|
+
import { styled } from "@linaria/react";
|
|
6
|
+
import { forwardRef } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cx } from "@linaria/core";
|
|
9
|
+
//#region src/timeline/Timeline.tsx
|
|
10
|
+
/**
|
|
11
|
+
* A sequence of events in time order, top to bottom: a pipeline run's history, a sync's steps, an
|
|
12
|
+
* audit trail, an activity feed. Each item is a marker on a vertical rail (a `Beacon` dot, or an
|
|
13
|
+
* `Icon` when `icon` is set, inside a small hairline box: square, round, or no box at all with
|
|
14
|
+
* `markerShape`, unfilled unless `isFilled`), a one-line label centered on the marker, an optional time at the end of the label line, an optional description and
|
|
15
|
+
* an optional footer. A 0.5px rail runs from the bottom edge of each box to the top edge of the
|
|
16
|
+
* next, whatever the item's height. Only the marker takes the item's color-set `variant` (a
|
|
17
|
+
* meaning) or categorical `color` (a palette family): the dot or icon its text color, the box its
|
|
18
|
+
* border color (and its fill with `isFilled`). The words stay primary and secondary.
|
|
19
|
+
*
|
|
20
|
+
* Read-only: it does not order, group, fetch or format anything. An ordered list (`<ol>`, kept a
|
|
21
|
+
* list in Safari with `role="list"` because the package reset removes list styling); the rail is
|
|
22
|
+
* decorative. Not a `Stepper`, a table, or a chart over a time axis.
|
|
23
|
+
*/
|
|
24
|
+
/** Canonical rungs (subset); the member names the type step of the event text. */
|
|
25
|
+
var TimelineSize = /* @__PURE__ */ function(TimelineSize) {
|
|
26
|
+
/** body_sm text, 16px box, 4px dot, 10px icon, 12px between events. */
|
|
27
|
+
TimelineSize["SMALL"] = "SMALL";
|
|
28
|
+
/** body_md text, 20px box, 4px dot, 12px icon, 16px between events. The default. */
|
|
29
|
+
TimelineSize["MEDIUM"] = "MEDIUM";
|
|
30
|
+
/** body_lg text, 24px box, 6px dot, 14px icon, 24px between events. */
|
|
31
|
+
TimelineSize["LARGE"] = "LARGE";
|
|
32
|
+
return TimelineSize;
|
|
33
|
+
}({});
|
|
34
|
+
/** The frame around every event's dot or icon. One shape per timeline. */
|
|
35
|
+
var TimelineMarkerShape = /* @__PURE__ */ function(TimelineMarkerShape) {
|
|
36
|
+
/** A square hairline box with control-radius corners. The default. */
|
|
37
|
+
TimelineMarkerShape["SQUARE"] = "SQUARE";
|
|
38
|
+
/** A round hairline box. */
|
|
39
|
+
TimelineMarkerShape["CIRCLE"] = "CIRCLE";
|
|
40
|
+
/** No box: the dot or icon sits on the rail, 4px clear of the line above and below it. */
|
|
41
|
+
TimelineMarkerShape["NONE"] = "NONE";
|
|
42
|
+
return TimelineMarkerShape;
|
|
43
|
+
}({});
|
|
44
|
+
/** Marker color of one item (Constitution V-A color set; the Timeline item is listed in that column). */
|
|
45
|
+
var TimelineVariant = /* @__PURE__ */ function(TimelineVariant) {
|
|
46
|
+
/** `text.primary` marker in a `border.primary` box. */
|
|
47
|
+
TimelineVariant["PRIMARY"] = "PRIMARY";
|
|
48
|
+
/** `text.secondary` marker in a `border.primary` box. The default. */
|
|
49
|
+
TimelineVariant["SECONDARY"] = "SECONDARY";
|
|
50
|
+
/** `text.tertiary` marker in a `border.primary` box. */
|
|
51
|
+
TimelineVariant["TERTIARY"] = "TERTIARY";
|
|
52
|
+
/** `text.disabled` marker in a `border.disabled` box: a skipped or cancelled step. */
|
|
53
|
+
TimelineVariant["DISABLED"] = "DISABLED";
|
|
54
|
+
/** `currentColor` of the item (`text.primary`) in a `border.primary` box. */
|
|
55
|
+
TimelineVariant["INHERIT"] = "INHERIT";
|
|
56
|
+
/** `text.success` marker in a `border.success` box. */
|
|
57
|
+
TimelineVariant["SUCCESS"] = "SUCCESS";
|
|
58
|
+
/** `text.warning` marker in a `border.warning` box. */
|
|
59
|
+
TimelineVariant["WARNING"] = "WARNING";
|
|
60
|
+
/** `text.error` marker in a `border.error` box. */
|
|
61
|
+
TimelineVariant["ERROR"] = "ERROR";
|
|
62
|
+
return TimelineVariant;
|
|
63
|
+
}({});
|
|
64
|
+
/** The ordered list of events. */
|
|
65
|
+
var Root = /*#__PURE__*/ styled("ol")({
|
|
66
|
+
name: "Root",
|
|
67
|
+
class: "gx-Timeline-rzjag0b",
|
|
68
|
+
propsAsIs: false
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* One event: the rail column and the body column in one grid row, so the rail stretches to the
|
|
72
|
+
* event's full height (its content plus the space before the next event) with no measurement.
|
|
73
|
+
*/
|
|
74
|
+
var Item = /*#__PURE__*/ styled("li")({
|
|
75
|
+
name: "Item",
|
|
76
|
+
class: "gx-Timeline-Item-ihxmlb4",
|
|
77
|
+
propsAsIs: false
|
|
78
|
+
});
|
|
79
|
+
/**
|
|
80
|
+
* The marker box, then the connector: the connector fills from the box's bottom edge to the item's
|
|
81
|
+
* bottom edge, which is the next item's top edge and so the top of the next box. No gap, no overlap.
|
|
82
|
+
*/
|
|
83
|
+
var Rail = /*#__PURE__*/ styled("span")({
|
|
84
|
+
name: "Rail",
|
|
85
|
+
class: "gx-Timeline-Rail-rfxm9ra",
|
|
86
|
+
propsAsIs: false
|
|
87
|
+
});
|
|
88
|
+
/**
|
|
89
|
+
* A square hairline box holding the dot or icon: no fill, the item's border color (the
|
|
90
|
+
* neutral \`border.primary\`, a status border or a palette family's border).
|
|
91
|
+
*/
|
|
92
|
+
var Marker = /*#__PURE__*/ styled("span")({
|
|
93
|
+
name: "Marker",
|
|
94
|
+
class: "gx-Timeline-Marker-m11eshsv",
|
|
95
|
+
propsAsIs: false
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* The rail is a hairline from a zero-width box centered on the marker. Browsers paint it a whole CSS
|
|
99
|
+
* pixel wide, starting at the center and snapped to the right of it, so on a 2× screen it sits one
|
|
100
|
+
* device pixel right of the dot or icon. Half a pixel back centers it exactly and stays crisp at 2×
|
|
101
|
+
* and up; at 1× a 1px line cannot center on an even-width mark, so it stays put.
|
|
102
|
+
*/
|
|
103
|
+
/**
|
|
104
|
+
* The marker frame per shape. `NONE` drops the box and draws the rail through the empty slot, above
|
|
105
|
+
* and below the dot or icon, stopping 4px short of it, so the line leads to the marker instead of an
|
|
106
|
+
* invisible box edge. The first event has no line above its marker and the last none below (the
|
|
107
|
+
* stubs keep their space, so the marker stays centered on its label).
|
|
108
|
+
*/
|
|
109
|
+
var TIMELINE_MARKER_SHAPE_TO_CSS_MAP = {
|
|
110
|
+
["SQUARE"]: "gx-Timeline-SQUARE-s1u5y4o2",
|
|
111
|
+
["CIRCLE"]: "gx-Timeline-CIRCLE-c132ryei",
|
|
112
|
+
["NONE"]: "gx-Timeline-NONE-n1j1o23c"
|
|
113
|
+
};
|
|
114
|
+
/** `isFilled`: the box takes its item's fill role (`--gx-timeline-fill`, set per variant and color). */
|
|
115
|
+
var FILLED_CSS = "gx-Timeline-FILLED_CSS-f6c9753";
|
|
116
|
+
/** The 0.5px hairline from the bottom of this box to the top of the next one. */
|
|
117
|
+
var Connector = /*#__PURE__*/ styled("span")({
|
|
118
|
+
name: "Connector",
|
|
119
|
+
class: "gx-Timeline-Connector-c1fj1oub",
|
|
120
|
+
propsAsIs: false
|
|
121
|
+
});
|
|
122
|
+
/**
|
|
123
|
+
* Label line, description and footer. The top padding centers the first line on the box; the space
|
|
124
|
+
* between events is bottom padding here, so the connector crosses it.
|
|
125
|
+
*/
|
|
126
|
+
var Body = /*#__PURE__*/ styled("div")({
|
|
127
|
+
name: "Body",
|
|
128
|
+
class: "gx-Timeline-Body-b1whgn5t",
|
|
129
|
+
propsAsIs: false
|
|
130
|
+
});
|
|
131
|
+
/** The label wraps; the time stays at the end of the first line. */
|
|
132
|
+
var Heading = /*#__PURE__*/ styled("div")({
|
|
133
|
+
name: "Heading",
|
|
134
|
+
class: "gx-Timeline-Heading-h1j9kdi1",
|
|
135
|
+
propsAsIs: false
|
|
136
|
+
});
|
|
137
|
+
/**
|
|
138
|
+
* Links, chips, a button, a code block. Inline items keep their size and wrap; block content (a
|
|
139
|
+
* `CodeBlock`, a `JsonViewer`) takes the whole row, so code and JSON fill the body's width.
|
|
140
|
+
*/
|
|
141
|
+
var Footer = /*#__PURE__*/ styled("div")({
|
|
142
|
+
name: "Footer",
|
|
143
|
+
class: "gx-Timeline-Footer-feakmyp",
|
|
144
|
+
propsAsIs: false
|
|
145
|
+
});
|
|
146
|
+
/**
|
|
147
|
+
* The time in the second column, on one line. A flex box, so a `<time>` wrapper has no line strut
|
|
148
|
+
* of its own (the inherited font size) and shares the label's baseline at every size.
|
|
149
|
+
*/
|
|
150
|
+
var TIME_CSS = "gx-Timeline-TIME_CSS-t1vcatjx";
|
|
151
|
+
/** Line height, marker box (16 / 20 / 24px), column gap and event spacing per rung. */
|
|
152
|
+
var TIMELINE_SIZE_TO_CSS_MAP = {
|
|
153
|
+
["SMALL"]: "gx-Timeline-SMALL-s1195fxg",
|
|
154
|
+
["MEDIUM"]: "gx-Timeline-MEDIUM-m1oqbau9",
|
|
155
|
+
["LARGE"]: "gx-Timeline-LARGE-l11wi4d2"
|
|
156
|
+
};
|
|
157
|
+
/** The event text's type step. */
|
|
158
|
+
var TIMELINE_SIZE_TO_TEXT_SIZE_MAP = {
|
|
159
|
+
["SMALL"]: TextSize.BODY_SM,
|
|
160
|
+
["MEDIUM"]: TextSize.BODY_MD,
|
|
161
|
+
["LARGE"]: TextSize.BODY_LG
|
|
162
|
+
};
|
|
163
|
+
/** The rung's icon size, in px, inside the 16 / 20 / 24px box. */
|
|
164
|
+
var TIMELINE_SIZE_TO_ICON_PX_MAP = {
|
|
165
|
+
["SMALL"]: 10,
|
|
166
|
+
["MEDIUM"]: 12,
|
|
167
|
+
["LARGE"]: 14
|
|
168
|
+
};
|
|
169
|
+
/** The dot's rung, one step below the text so it sits quietly in the smaller box. */
|
|
170
|
+
var TIMELINE_SIZE_TO_BEACON_SIZE_MAP = {
|
|
171
|
+
["SMALL"]: BeaconSize.X_SMALL,
|
|
172
|
+
["MEDIUM"]: BeaconSize.SMALL,
|
|
173
|
+
["LARGE"]: BeaconSize.MEDIUM
|
|
174
|
+
};
|
|
175
|
+
/** Identity: the item variant is the dot's. */
|
|
176
|
+
var TIMELINE_VARIANT_TO_BEACON_VARIANT_MAP = {
|
|
177
|
+
["PRIMARY"]: BeaconVariant.PRIMARY,
|
|
178
|
+
["SECONDARY"]: BeaconVariant.SECONDARY,
|
|
179
|
+
["TERTIARY"]: BeaconVariant.TERTIARY,
|
|
180
|
+
["DISABLED"]: BeaconVariant.DISABLED,
|
|
181
|
+
["INHERIT"]: BeaconVariant.INHERIT,
|
|
182
|
+
["SUCCESS"]: BeaconVariant.SUCCESS,
|
|
183
|
+
["WARNING"]: BeaconVariant.WARNING,
|
|
184
|
+
["ERROR"]: BeaconVariant.ERROR
|
|
185
|
+
};
|
|
186
|
+
/** Identity: the item variant is the icon's. */
|
|
187
|
+
var TIMELINE_VARIANT_TO_ICON_VARIANT_MAP = {
|
|
188
|
+
["PRIMARY"]: IconVariant.PRIMARY,
|
|
189
|
+
["SECONDARY"]: IconVariant.SECONDARY,
|
|
190
|
+
["TERTIARY"]: IconVariant.TERTIARY,
|
|
191
|
+
["DISABLED"]: IconVariant.DISABLED,
|
|
192
|
+
["INHERIT"]: IconVariant.INHERIT,
|
|
193
|
+
["SUCCESS"]: IconVariant.SUCCESS,
|
|
194
|
+
["WARNING"]: IconVariant.WARNING,
|
|
195
|
+
["ERROR"]: IconVariant.ERROR
|
|
196
|
+
};
|
|
197
|
+
/**
|
|
198
|
+
* The marker box's hairline and fill per variant: neutral roles keep `border.primary` and fill
|
|
199
|
+
* `background.secondary`; statuses take their own border and background roles.
|
|
200
|
+
*/
|
|
201
|
+
var TIMELINE_VARIANT_TO_CSS_MAP = {
|
|
202
|
+
["PRIMARY"]: "gx-Timeline-PRIMARY-p1r53y3e",
|
|
203
|
+
["SECONDARY"]: "gx-Timeline-SECONDARY-s61v3n7",
|
|
204
|
+
["TERTIARY"]: "gx-Timeline-TERTIARY-t1tjq5mm",
|
|
205
|
+
["DISABLED"]: "gx-Timeline-DISABLED-da735oo",
|
|
206
|
+
["INHERIT"]: "gx-Timeline-INHERIT-i1ayi32k",
|
|
207
|
+
["SUCCESS"]: "gx-Timeline-SUCCESS-s155vzhv",
|
|
208
|
+
["WARNING"]: "gx-Timeline-WARNING-wtnc6wm",
|
|
209
|
+
["ERROR"]: "gx-Timeline-ERROR-e1q3p1vl"
|
|
210
|
+
};
|
|
211
|
+
/**
|
|
212
|
+
* Categorical `color` on the marker: `text.<family>`, which an icon marker (`IconVariant.INHERIT`)
|
|
213
|
+
* takes, and `border.<family>` and the `background.<family>` fill on the box.
|
|
214
|
+
*/
|
|
215
|
+
var TIMELINE_COLOR_TO_CSS_MAP = {
|
|
216
|
+
red: "gx-Timeline-red-r1khc5e9",
|
|
217
|
+
orange: "gx-Timeline-orange-oob0jun",
|
|
218
|
+
amber: "gx-Timeline-amber-acpz10x",
|
|
219
|
+
yellow: "gx-Timeline-yellow-y1arc1uv",
|
|
220
|
+
lime: "gx-Timeline-lime-l1x7dvj6",
|
|
221
|
+
green: "gx-Timeline-green-g1fx1m3c",
|
|
222
|
+
emerald: "gx-Timeline-emerald-e1gy5gqm",
|
|
223
|
+
teal: "gx-Timeline-teal-ttyv4re",
|
|
224
|
+
cyan: "gx-Timeline-cyan-c1506u15",
|
|
225
|
+
sky: "gx-Timeline-sky-s2f8n55",
|
|
226
|
+
blue: "gx-Timeline-blue-b1bza0tc",
|
|
227
|
+
indigo: "gx-Timeline-indigo-i1vbt6lr",
|
|
228
|
+
violet: "gx-Timeline-violet-vjtm0e",
|
|
229
|
+
purple: "gx-Timeline-purple-pek3kdh",
|
|
230
|
+
fuchsia: "gx-Timeline-fuchsia-f13hn3pe",
|
|
231
|
+
pink: "gx-Timeline-pink-pdf3rdi",
|
|
232
|
+
rose: "gx-Timeline-rose-rjv99mk"
|
|
233
|
+
};
|
|
234
|
+
/** A vertical list of events with dot or icon markers (boxed or bare) on a hairline rail. */
|
|
235
|
+
var Timeline = forwardRef(function Timeline({ items, size = "MEDIUM", markerShape = "SQUARE", isFilled = false, className, style, ...rest }, ref) {
|
|
236
|
+
const textSize = TIMELINE_SIZE_TO_TEXT_SIZE_MAP[size];
|
|
237
|
+
return /* @__PURE__ */ jsx(Root, {
|
|
238
|
+
...rest,
|
|
239
|
+
ref,
|
|
240
|
+
role: "list",
|
|
241
|
+
className: cx(TIMELINE_SIZE_TO_CSS_MAP[size], className),
|
|
242
|
+
style,
|
|
243
|
+
children: items.map((item, index) => {
|
|
244
|
+
const { color } = item;
|
|
245
|
+
const variant = item.variant ?? "SECONDARY";
|
|
246
|
+
const hasTime = Boolean(item.time);
|
|
247
|
+
return /* @__PURE__ */ jsxs(Item, {
|
|
248
|
+
"aria-current": item.isActive === true ? "step" : void 0,
|
|
249
|
+
children: [/* @__PURE__ */ jsxs(Rail, {
|
|
250
|
+
"aria-hidden": true,
|
|
251
|
+
children: [/* @__PURE__ */ jsx(Marker, {
|
|
252
|
+
className: cx(color !== void 0 ? TIMELINE_COLOR_TO_CSS_MAP[color] : TIMELINE_VARIANT_TO_CSS_MAP[variant], TIMELINE_MARKER_SHAPE_TO_CSS_MAP[markerShape], isFilled && markerShape !== "NONE" && FILLED_CSS),
|
|
253
|
+
children: item.icon === void 0 ? /* @__PURE__ */ jsx(Beacon, {
|
|
254
|
+
size: TIMELINE_SIZE_TO_BEACON_SIZE_MAP[size],
|
|
255
|
+
...color !== void 0 ? { color } : { variant: TIMELINE_VARIANT_TO_BEACON_VARIANT_MAP[variant] },
|
|
256
|
+
isPulse: item.isActive === true
|
|
257
|
+
}) : /* @__PURE__ */ jsx(Icon, {
|
|
258
|
+
component: item.icon,
|
|
259
|
+
size: TIMELINE_SIZE_TO_ICON_PX_MAP[size],
|
|
260
|
+
variant: color !== void 0 ? IconVariant.INHERIT : TIMELINE_VARIANT_TO_ICON_VARIANT_MAP[variant]
|
|
261
|
+
})
|
|
262
|
+
}), index < items.length - 1 && /* @__PURE__ */ jsx(Connector, {})]
|
|
263
|
+
}), /* @__PURE__ */ jsxs(Body, { children: [
|
|
264
|
+
/* @__PURE__ */ jsxs(Heading, { children: [/* @__PURE__ */ jsx(Text, {
|
|
265
|
+
as: "span",
|
|
266
|
+
size: textSize,
|
|
267
|
+
variant: TextVariant.PRIMARY,
|
|
268
|
+
children: item.label
|
|
269
|
+
}), hasTime && (item.dateTime ? /* @__PURE__ */ jsx("time", {
|
|
270
|
+
dateTime: item.dateTime,
|
|
271
|
+
className: TIME_CSS,
|
|
272
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
273
|
+
as: "span",
|
|
274
|
+
size: textSize,
|
|
275
|
+
variant: TextVariant.SECONDARY,
|
|
276
|
+
isTabular: true,
|
|
277
|
+
children: item.time
|
|
278
|
+
})
|
|
279
|
+
}) : /* @__PURE__ */ jsx(Text, {
|
|
280
|
+
as: "span",
|
|
281
|
+
size: textSize,
|
|
282
|
+
variant: TextVariant.SECONDARY,
|
|
283
|
+
isTabular: true,
|
|
284
|
+
className: TIME_CSS,
|
|
285
|
+
children: item.time
|
|
286
|
+
}))] }),
|
|
287
|
+
Boolean(item.description) && /* @__PURE__ */ jsx(Text, {
|
|
288
|
+
as: "p",
|
|
289
|
+
size: textSize,
|
|
290
|
+
variant: TextVariant.SECONDARY,
|
|
291
|
+
children: item.description
|
|
292
|
+
}),
|
|
293
|
+
item.footer !== void 0 && item.footer !== null && /* @__PURE__ */ jsx(Footer, { children: item.footer })
|
|
294
|
+
] })]
|
|
295
|
+
}, item.id);
|
|
296
|
+
})
|
|
297
|
+
});
|
|
298
|
+
});
|
|
299
|
+
Timeline.displayName = "Timeline";
|
|
300
|
+
//#endregion
|
|
301
|
+
export { TimelineMarkerShape, TimelineSize, TimelineVariant, Timeline as default };
|