@galaxy-io/dls 1.6.1 → 2.0.0
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 +136 -116
- 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 +32 -20
- package/dist/charts/ChartFrame.d.ts +69 -116
- package/dist/charts/ChartFrame.js +253 -119
- package/dist/charts/ChartGroupProvider.d.ts +30 -41
- package/dist/charts/ChartGroupProvider.js +20 -7
- package/dist/charts/ChartLegend.d.ts +27 -48
- package/dist/charts/ChartLegend.js +206 -125
- package/dist/charts/ChartMarkTargets.d.ts +12 -28
- package/dist/charts/ChartMarkTargets.js +33 -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 +295 -0
- package/dist/charts/LineChart.d.ts +54 -47
- package/dist/charts/LineChart.js +159 -117
- package/dist/charts/PieChart.d.ts +32 -53
- package/dist/charts/PieChart.js +149 -135
- 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/constants.d.ts +96 -256
- package/dist/charts/constants.js +105 -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 +197 -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 +47 -116
- package/dist/charts/useChartInteraction.js +95 -71
- 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 +81 -17
- package/dist/drawer/Drawer.js +370 -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 +292 -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 +1077 -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 +99 -0
- package/dist/timeline/Timeline.js +269 -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 +851 -157
- package/dist/accordion/Accordion.d.ts +0 -54
- package/dist/accordion/Accordion.js +0 -183
- package/dist/assets/components/GalaxyFilamentWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkDark.js +0 -14
- package/dist/assets/components/GalaxyFilamentWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyFilamentWordmarkLight.js +0 -14
- package/dist/assets/components/GalaxyLogomarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkDark.js +0 -11
- package/dist/assets/components/GalaxyLogomarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyLogomarkLight.js +0 -17
- package/dist/assets/components/GalaxyWordmarkDark.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkDark.js +0 -15
- package/dist/assets/components/GalaxyWordmarkLight.d.ts +0 -3
- package/dist/assets/components/GalaxyWordmarkLight.js +0 -28
- package/dist/assets/models/galaxy-animation.js +0 -136666
- package/dist/assets/models/galaxy-logomark.js +0 -4
- package/dist/avatar/AvatarShimmer.d.ts +0 -30
- package/dist/avatar/AvatarShimmer.js +0 -22
- package/dist/backgrounds/CellGridBackground.d.ts +0 -24
- package/dist/backgrounds/CellGridBackground.js +0 -44
- package/dist/backgrounds/CrossGridBackground.d.ts +0 -26
- package/dist/backgrounds/CrossGridBackground.js +0 -49
- package/dist/backgrounds/DotGridBackground.d.ts +0 -24
- package/dist/backgrounds/DotGridBackground.js +0 -47
- package/dist/badge/Badge.d.ts +0 -42
- package/dist/badge/Badge.js +0 -99
- package/dist/charts/ChartEmptyState.d.ts +0 -17
- package/dist/charts/ChartEmptyState.js +0 -29
- package/dist/charts/ProgressBar.d.ts +0 -29
- package/dist/charts/ProgressBar.js +0 -65
- package/dist/charts/chartTheme.d.ts +0 -18
- package/dist/charts/chartTheme.js +0 -26
- package/dist/containers/FlexItem.d.ts +0 -50
- package/dist/containers/FlexItem.js +0 -91
- package/dist/containers/FlexWrapper.d.ts +0 -96
- package/dist/containers/FlexWrapper.js +0 -143
- package/dist/containers/GridWrapper.d.ts +0 -79
- package/dist/containers/GridWrapper.js +0 -125
- package/dist/containers/Spacing.d.ts +0 -23
- package/dist/containers/Spacing.js +0 -59
- package/dist/containers/Wrapper.d.ts +0 -26
- package/dist/containers/Wrapper.js +0 -54
- package/dist/dividers/HorizontalDivider.d.ts +0 -7
- package/dist/dividers/HorizontalDivider.js +0 -39
- package/dist/dividers/VerticalDivider.d.ts +0 -6
- package/dist/dividers/VerticalDivider.js +0 -21
- package/dist/icons/GalaxyFilamentWordmark.d.ts +0 -11
- package/dist/icons/GalaxyFilamentWordmark.js +0 -25
- package/dist/icons/GalaxyLogomark.d.ts +0 -13
- package/dist/icons/GalaxyLogomark.js +0 -27
- package/dist/icons/GalaxyLogomark3D.d.ts +0 -56
- package/dist/icons/GalaxyLogomark3D.js +0 -319
- package/dist/icons/GalaxyLogomarkAnimation.d.ts +0 -18
- package/dist/icons/GalaxyLogomarkAnimation.js +0 -48
- package/dist/icons/GalaxyWordmark.d.ts +0 -11
- package/dist/icons/GalaxyWordmark.js +0 -25
- package/dist/inputs/MultiTextInput.d.ts +0 -32
- package/dist/inputs/MultiTextInput.js +0 -180
- package/dist/inputs/SwitcherInput.d.ts +0 -30
- package/dist/inputs/SwitcherInput.js +0 -81
- package/dist/inputs/hooks.d.ts +0 -10
- package/dist/inputs/hooks.js +0 -22
- package/dist/overlay/constants.d.ts +0 -28
- package/dist/overlay/constants.js +0 -37
- package/dist/resizable/HorizontalResizeHandle.d.ts +0 -17
- package/dist/resizable/HorizontalResizeHandle.js +0 -38
- package/dist/resizable/VerticalResizeHandle.d.ts +0 -18
- package/dist/resizable/VerticalResizeHandle.js +0 -39
- package/dist/table/SpreadsheetCell.d.ts +0 -21
- package/dist/table/SpreadsheetCell.js +0 -71
- package/dist/table/SpreadsheetHeaderCell.d.ts +0 -23
- package/dist/table/SpreadsheetHeaderCell.js +0 -91
- package/dist/table/SpreadsheetMenuItem.d.ts +0 -14
- package/dist/table/SpreadsheetMenuItem.js +0 -33
- package/dist/table/SpreadsheetPrimitives.d.ts +0 -172
- package/dist/table/SpreadsheetPrimitives.js +0 -105
- package/dist/table/SpreadsheetRow.d.ts +0 -33
- package/dist/table/SpreadsheetRow.js +0 -73
- package/dist/table/SpreadsheetRowActionCell.d.ts +0 -14
- package/dist/table/SpreadsheetRowActionCell.js +0 -51
- package/dist/table/TableExpandCell.d.ts +0 -11
- package/dist/table/TableExpandCell.js +0 -24
- package/dist/table/TableExpandedRow.d.ts +0 -16
- package/dist/table/TableExpandedRow.js +0 -77
- package/dist/table/TableHeaderCellContent.d.ts +0 -30
- package/dist/table/TableHeaderCellContent.js +0 -48
- package/dist/table/TablePrimitives.d.ts +0 -313
- package/dist/table/TablePrimitives.js +0 -302
- package/dist/table/TableSelectCell.d.ts +0 -18
- package/dist/table/TableSelectCell.js +0 -27
- package/dist/table/TableStatusRow.d.ts +0 -18
- package/dist/table/TableStatusRow.js +0 -50
- package/dist/table/useSpreadsheetEditing.d.ts +0 -13
- package/dist/table/useSpreadsheetEditing.js +0 -41
- package/dist/table/useTableColumnResize.d.ts +0 -38
- package/dist/table/useTableColumnResize.js +0 -155
- package/dist/table/useTableRowExpansion.d.ts +0 -24
- package/dist/table/useTableRowExpansion.js +0 -62
- package/dist/table/utils.d.ts +0 -50
- package/dist/table/utils.js +0 -78
- package/dist/text/HotKeys.d.ts +0 -30
- package/dist/text/HotKeys.js +0 -74
- package/dist/text/Paragraph.d.ts +0 -33
- package/dist/text/Paragraph.js +0 -83
- package/dist/text/TextShimmer.d.ts +0 -14
- package/dist/text/TextShimmer.js +0 -34
- package/dist/theme/GalaxyTheme.d.ts +0 -67
- package/dist/theme/GalaxyTheme.js +0 -119
- package/dist/theme/constants.d.ts +0 -8
- package/dist/theme/constants.js +0 -38
- package/dist/theme/index.d.ts +0 -6
- package/dist/theme/index.js +0 -7
- package/dist/theme/types.d.ts +0 -195
- package/dist/theme/types.js +0 -10
- package/dist/theme/typography.d.ts +0 -2
- package/dist/theme/typography.js +0 -73
- package/dist/theme/variants/dark.d.ts +0 -2
- package/dist/theme/variants/dark.js +0 -125
- package/dist/theme/variants/light.d.ts +0 -2
- package/dist/theme/variants/light.js +0 -125
- package/dist/toast/ToastContainer.d.ts +0 -10
- package/dist/toast/ToastContainer.js +0 -31
- package/dist/toast/ToastWrapper.d.ts +0 -6
- package/dist/toast/ToastWrapper.js +0 -27
- package/dist/transform/Flash.d.ts +0 -7
- package/dist/transform/Flash.js +0 -18
- package/dist/transform/Spin.d.ts +0 -14
- package/dist/transform/Spin.js +0 -25
- package/dist/utils/linaria.d.ts +0 -1
- package/dist/utils/linaria.js +0 -8
|
@@ -1,148 +1,166 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useIsomorphicLayoutEffect } from "../hooks/useIsomorphicLayoutEffect.js";
|
|
2
|
+
import { FontFamily } from "../theme/enums.js";
|
|
2
3
|
import Text, { TextSize, TextVariant, TextWeight } from "./Text.js";
|
|
3
|
-
import
|
|
4
|
+
import { useControlledState } from "../hooks/useControlledState.js";
|
|
4
5
|
/* empty css */
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { forwardRef, useEffect, useRef, useState } from "react";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { cx } from "@linaria/core";
|
|
9
9
|
//#region src/text/EditableText.tsx
|
|
10
|
-
var EditableTextWrapper = /*#__PURE__*/ styled("div")({
|
|
11
|
-
name: "EditableTextWrapper",
|
|
12
|
-
class: "et5f6jm",
|
|
13
|
-
propsAsIs: false
|
|
14
|
-
});
|
|
15
|
-
var _exp2 = () => ({ theme, $variant }) => {
|
|
16
|
-
return match($variant).with(TextVariant.PRIMARY, () => theme.color.text.primary).with(TextVariant.PRIMARY_ALT, () => theme.color.text.primaryAlt).with(TextVariant.SECONDARY, () => theme.color.text.secondary).with(TextVariant.SECONDARY_ALT, () => theme.color.text.secondaryAlt).with(TextVariant.TERTIARY, () => theme.color.text.tertiary).with(TextVariant.TERTIARY_ALT, () => theme.color.text.tertiaryAlt).with(TextVariant.DISABLED, () => theme.color.text.disabled).with(TextVariant.SUCCESS, () => theme.color.text.success).with(TextVariant.ERROR, () => theme.color.text.error).with(TextVariant.WARNING, () => theme.color.text.warning).with(TextVariant.LIME, () => theme.color.text.lime).with(TextVariant.PURPLE, () => theme.color.text.purple).with(TextVariant.TEAL, () => theme.color.text.teal).with(TextVariant.YELLOW, () => theme.color.text.yellow).with(TextVariant.ORANGE, () => theme.color.text.orange).with(TextVariant.PINK, () => theme.color.text.pink).with(TextVariant.BLUE, () => theme.color.text.blue).exhaustive();
|
|
17
|
-
};
|
|
18
|
-
var _exp3 = () => ({ theme, $isMonospace }) => $isMonospace ? theme.font.mono.family : theme.font.sans.family;
|
|
19
|
-
var _exp4 = () => ({ theme, $size }) => {
|
|
20
|
-
return match($size).with(TextSize.CAPTION, () => theme.font.sans.size.caption).with(TextSize.BODY_SM, () => theme.font.sans.size.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.size.body_md).with(TextSize.BODY_LG, () => theme.font.sans.size.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.size.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.size.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.size.heading_lg).exhaustive();
|
|
21
|
-
};
|
|
22
|
-
var _exp5 = () => ({ theme, $weight }) => {
|
|
23
|
-
return match($weight).with(TextWeight.REGULAR, () => theme.font.sans.weight.regular).with(TextWeight.MEDIUM, () => theme.font.sans.weight.medium).exhaustive();
|
|
24
|
-
};
|
|
25
|
-
var _exp6 = () => ({ theme, $size }) => {
|
|
26
|
-
return match($size).with(TextSize.CAPTION, () => theme.font.sans.height.caption).with(TextSize.BODY_SM, () => theme.font.sans.height.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.height.body_md).with(TextSize.BODY_LG, () => theme.font.sans.height.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.height.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.height.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.height.heading_lg).exhaustive();
|
|
27
|
-
};
|
|
28
|
-
var _exp7 = () => ({ theme, $size }) => {
|
|
29
|
-
return match($size).with(TextSize.CAPTION, () => theme.font.sans.spacing.caption).with(TextSize.BODY_SM, () => theme.font.sans.spacing.body_sm).with(TextSize.BODY_MD, () => theme.font.sans.spacing.body_md).with(TextSize.BODY_LG, () => theme.font.sans.spacing.body_lg).with(TextSize.HEADING_SM, () => theme.font.sans.spacing.heading_sm).with(TextSize.HEADING_MD, () => theme.font.sans.spacing.heading_md).with(TextSize.HEADING_LG, () => theme.font.sans.spacing.heading_lg).exhaustive();
|
|
30
|
-
};
|
|
31
|
-
var _exp8 = () => ({ $align }) => $align ?? "left";
|
|
32
|
-
var EditableTextInput = withTheme(/*#__PURE__*/ styled("input")({
|
|
33
|
-
name: "EditableTextInput",
|
|
34
|
-
class: "ekaqvqt",
|
|
35
|
-
propsAsIs: false,
|
|
36
|
-
vars: {
|
|
37
|
-
"ekaqvqt-0": [_exp6()],
|
|
38
|
-
"ekaqvqt-1": [_exp2()],
|
|
39
|
-
"ekaqvqt-2": [_exp3()],
|
|
40
|
-
"ekaqvqt-3": [_exp4()],
|
|
41
|
-
"ekaqvqt-4": [_exp5()],
|
|
42
|
-
"ekaqvqt-5": [_exp7()],
|
|
43
|
-
"ekaqvqt-6": [_exp8()]
|
|
44
|
-
}
|
|
45
|
-
}));
|
|
46
|
-
var _exp9 = () => ({ theme }) => theme.color.border.tertiary;
|
|
47
|
-
var EditableTextText = withTheme(/*#__PURE__*/ styled("span")({
|
|
48
|
-
name: "EditableTextText",
|
|
49
|
-
class: "e1j2x5d3",
|
|
50
|
-
propsAsIs: false,
|
|
51
|
-
vars: { "e1j2x5d3-0": [_exp9()] }
|
|
52
|
-
}));
|
|
53
10
|
/**
|
|
54
|
-
* Click-to-
|
|
55
|
-
*
|
|
11
|
+
* Click-to-rename text. It reads as ordinary `Text` until the user clicks it (or presses Enter /
|
|
12
|
+
* Space on it), then becomes an inline text field in the same type: Enter or blur commits, Escape
|
|
13
|
+
* cancels. For renaming one thing in place, one line at a time; a labelled, validated field is
|
|
14
|
+
* `Field` + `TextInput`, multi-line editing is `TextAreaInput`.
|
|
56
15
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
16
|
+
* The outer `Text as="span"` owns the type metrics (size, line height, letter spacing, family,
|
|
17
|
+
* weight, color) for both modes; the button, its inner `Text`, the hidden sizer and the input
|
|
18
|
+
* inherit them, so switching modes moves nothing. The field is exactly as wide as its text: a
|
|
19
|
+
* hidden sizer holding the draft shares one grid cell with the input (no `field-sizing`). The field
|
|
20
|
+
* is bare: no frame, fill or focus ring, only the caret, so editing looks like typing in place.
|
|
59
21
|
*/
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
const
|
|
89
|
-
|
|
22
|
+
/** The outer `Text`: an inline box as wide as its content, never wider than its parent. */
|
|
23
|
+
var Root = "gx-EditableText-rt5f6jm";
|
|
24
|
+
var FILL_WIDTH_CSS = "gx-EditableText-FILL_WIDTH_CSS-fkaqvqt";
|
|
25
|
+
var DISPLAY_CSS = "gx-EditableText-DISPLAY_CSS-d1j2x5d3";
|
|
26
|
+
/** A decoration, not a border, so the hover / focus cue adds no height. */
|
|
27
|
+
var BUTTON_CSS = "gx-EditableText-BUTTON_CSS-b12zn331";
|
|
28
|
+
var FIELD_WRAPPER_CSS = "gx-EditableText-FIELD_WRAPPER_CSS-f1y3v9qg";
|
|
29
|
+
/** With `fillWidth`, the button and the field take the whole root, so neither mode changes width. */
|
|
30
|
+
var FILL_CHILD_CSS = "gx-EditableText-FILL_CHILD_CSS-f1hzos16";
|
|
31
|
+
/** Holds the draft so the grid cell, and so the input, is exactly as wide as the text. */
|
|
32
|
+
var SIZER_CSS = "gx-EditableText-SIZER_CSS-sa44p0k";
|
|
33
|
+
/**
|
|
34
|
+
* The field: no frame, fill, focus ring or padding of its own, only the caret (and the selected
|
|
35
|
+
* text on entry), so the text does not move between modes and the edit reads as typing in place.
|
|
36
|
+
*/
|
|
37
|
+
var INPUT_CSS = "gx-EditableText-INPUT_CSS-iogpntu";
|
|
38
|
+
/** Inline text that turns into a same-type field on click and commits on Enter or blur. */
|
|
39
|
+
var EditableText = forwardRef(function EditableText({ value, defaultValue, onChange, ariaLabel, placeholder, size = TextSize.BODY_MD, weight = TextWeight.REGULAR, family = FontFamily.SANS, maxLength, isDisabled = false, fillWidth = false, className, ...rest }, ref) {
|
|
40
|
+
const [committed, setCommitted] = useControlledState({
|
|
41
|
+
value,
|
|
42
|
+
defaultValue: defaultValue ?? "",
|
|
43
|
+
onChange
|
|
44
|
+
});
|
|
45
|
+
const [isEditing, setIsEditing] = useState(false);
|
|
46
|
+
const [draft, setDraft] = useState("");
|
|
47
|
+
const buttonRef = useRef(null);
|
|
48
|
+
const inputRef = useRef(null);
|
|
49
|
+
/** True from the moment an edit ends until the next one starts: the input's late blur is ignored. */
|
|
50
|
+
const hasEndedRef = useRef(true);
|
|
51
|
+
/** Set by Enter / Escape: focus the button once it is back in the DOM. */
|
|
52
|
+
const shouldRestoreFocusRef = useRef(false);
|
|
53
|
+
const isFieldShown = isEditing && !isDisabled;
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (isDisabled && isEditing) {
|
|
56
|
+
hasEndedRef.current = true;
|
|
57
|
+
setIsEditing(false);
|
|
58
|
+
}
|
|
59
|
+
}, [isDisabled, isEditing]);
|
|
60
|
+
useIsomorphicLayoutEffect(() => {
|
|
61
|
+
if (isFieldShown) inputRef.current?.focus();
|
|
62
|
+
else if (shouldRestoreFocusRef.current) {
|
|
63
|
+
shouldRestoreFocusRef.current = false;
|
|
64
|
+
buttonRef.current?.focus();
|
|
65
|
+
}
|
|
66
|
+
}, [isFieldShown]);
|
|
67
|
+
const startEditing = () => {
|
|
68
|
+
if (isDisabled) return;
|
|
69
|
+
hasEndedRef.current = false;
|
|
70
|
+
setDraft(committed);
|
|
71
|
+
setIsEditing(true);
|
|
90
72
|
};
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}));
|
|
73
|
+
const commit = (shouldRestoreFocus) => {
|
|
74
|
+
if (hasEndedRef.current) return;
|
|
75
|
+
hasEndedRef.current = true;
|
|
76
|
+
shouldRestoreFocusRef.current = shouldRestoreFocus;
|
|
77
|
+
if (draft !== committed) setCommitted(draft);
|
|
78
|
+
setIsEditing(false);
|
|
98
79
|
};
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
80
|
+
const cancel = () => {
|
|
81
|
+
if (hasEndedRef.current) return;
|
|
82
|
+
hasEndedRef.current = true;
|
|
83
|
+
shouldRestoreFocusRef.current = true;
|
|
84
|
+
setDraft(committed);
|
|
85
|
+
setIsEditing(false);
|
|
105
86
|
};
|
|
106
|
-
const handleKeyDown = (
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
87
|
+
const handleKeyDown = (event) => {
|
|
88
|
+
if (event.key === "Enter") {
|
|
89
|
+
if (event.nativeEvent.isComposing) return;
|
|
90
|
+
event.preventDefault();
|
|
91
|
+
commit(true);
|
|
92
|
+
} else if (event.key === "Escape") {
|
|
93
|
+
event.preventDefault();
|
|
94
|
+
event.stopPropagation();
|
|
95
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
96
|
+
cancel();
|
|
97
|
+
}
|
|
113
98
|
};
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
99
|
+
const shownText = committed || placeholder || "";
|
|
100
|
+
let content;
|
|
101
|
+
if (isFieldShown) content = /* @__PURE__ */ jsxs("span", {
|
|
102
|
+
className: cx(FIELD_WRAPPER_CSS, fillWidth && FILL_CHILD_CSS),
|
|
103
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
104
|
+
className: SIZER_CSS,
|
|
105
|
+
"aria-hidden": true,
|
|
106
|
+
children: draft || placeholder || " "
|
|
107
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
108
|
+
className: INPUT_CSS,
|
|
109
|
+
type: "text",
|
|
110
|
+
size: 1,
|
|
111
|
+
value: draft,
|
|
112
|
+
placeholder,
|
|
113
|
+
maxLength,
|
|
114
|
+
"aria-label": ariaLabel,
|
|
115
|
+
ref: inputRef,
|
|
116
|
+
onFocus: (event) => event.currentTarget.select(),
|
|
117
|
+
onChange: (event) => setDraft(event.currentTarget.value),
|
|
118
|
+
onKeyDown: handleKeyDown,
|
|
119
|
+
onBlur: () => commit(false)
|
|
120
|
+
})]
|
|
121
|
+
});
|
|
122
|
+
else if (isDisabled) content = /* @__PURE__ */ jsx("span", {
|
|
123
|
+
className: DISPLAY_CSS,
|
|
124
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
125
|
+
as: "span",
|
|
126
|
+
size,
|
|
127
|
+
weight,
|
|
128
|
+
family,
|
|
129
|
+
variant: TextVariant.INHERIT,
|
|
130
|
+
lineClamp: 1,
|
|
131
|
+
shouldTooltipOnOverflow: true,
|
|
132
|
+
children: shownText
|
|
144
133
|
})
|
|
145
|
-
})
|
|
146
|
-
|
|
134
|
+
});
|
|
135
|
+
else content = /* @__PURE__ */ jsx("button", {
|
|
136
|
+
ref: buttonRef,
|
|
137
|
+
type: "button",
|
|
138
|
+
className: cx(DISPLAY_CSS, BUTTON_CSS, fillWidth && FILL_CHILD_CSS),
|
|
139
|
+
"aria-label": shownText ? `${ariaLabel}: ${shownText}` : ariaLabel,
|
|
140
|
+
onClick: startEditing,
|
|
141
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
142
|
+
as: "span",
|
|
143
|
+
size,
|
|
144
|
+
weight,
|
|
145
|
+
family,
|
|
146
|
+
variant: committed ? TextVariant.INHERIT : TextVariant.TERTIARY,
|
|
147
|
+
lineClamp: 1,
|
|
148
|
+
shouldTooltipOnOverflow: true,
|
|
149
|
+
children: shownText
|
|
150
|
+
})
|
|
151
|
+
});
|
|
152
|
+
return /* @__PURE__ */ jsx(Text, {
|
|
153
|
+
...rest,
|
|
154
|
+
as: "span",
|
|
155
|
+
ref,
|
|
156
|
+
size,
|
|
157
|
+
weight,
|
|
158
|
+
family,
|
|
159
|
+
variant: isDisabled ? TextVariant.DISABLED : TextVariant.PRIMARY,
|
|
160
|
+
className: cx(Root, fillWidth && FILL_WIDTH_CSS, className),
|
|
161
|
+
children: content
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
EditableText.displayName = "EditableText";
|
|
147
165
|
//#endregion
|
|
148
166
|
export { EditableText as default };
|
package/dist/text/Ellipsis.d.ts
CHANGED
|
@@ -1,12 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { type AriaAttributes, type CSSProperties } from "react";
|
|
2
|
+
/** Color role of the dots (color set subset, Constitution V-A). */
|
|
3
|
+
export declare enum EllipsisVariant {
|
|
4
|
+
/** Primary copy, `text.primary`. */
|
|
5
|
+
PRIMARY = "PRIMARY",
|
|
6
|
+
/** Supporting copy, `text.secondary`. The default. */
|
|
7
|
+
SECONDARY = "SECONDARY",
|
|
8
|
+
/** Hints and metadata, `text.tertiary`. */
|
|
9
|
+
TERTIARY = "TERTIARY"
|
|
10
|
+
}
|
|
11
|
+
export interface EllipsisProps extends AriaAttributes {
|
|
12
|
+
/**
|
|
13
|
+
* Pulse the dots in sequence. Static "..." when false.
|
|
14
|
+
* @default true
|
|
15
|
+
*/
|
|
3
16
|
isPulse?: boolean;
|
|
4
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Length of one pulse cycle, in milliseconds.
|
|
19
|
+
* @default 1200
|
|
20
|
+
*/
|
|
5
21
|
speed?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Color role of the dots.
|
|
24
|
+
* @default EllipsisVariant.SECONDARY
|
|
25
|
+
*/
|
|
26
|
+
variant?: EllipsisVariant;
|
|
27
|
+
/** DOM id on the span. */
|
|
28
|
+
id?: string;
|
|
29
|
+
/** Any `data-*` attribute, forwarded to the span. */
|
|
30
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
31
|
+
/** Extra class on the span. */
|
|
32
|
+
className?: string;
|
|
33
|
+
/** Inline style on the span; only for setting CSS custom properties. */
|
|
34
|
+
style?: CSSProperties;
|
|
6
35
|
}
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
* literal characters, so it aligns with adjacent text rather than a spinner.
|
|
10
|
-
*/
|
|
11
|
-
declare const Ellipsis: ({ isPulse, speed }: EllipsisProps) => import("react").JSX.Element;
|
|
36
|
+
/** Three dots that pulse in sequence: the "…thinking" affordance after a label. */
|
|
37
|
+
declare const Ellipsis: import("react").ForwardRefExoticComponent<EllipsisProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
12
38
|
export default Ellipsis;
|
package/dist/text/Ellipsis.js
CHANGED
|
@@ -1,32 +1,64 @@
|
|
|
1
|
+
import Span, { SpanVariant } from "./Span.js";
|
|
1
2
|
/* empty css */
|
|
2
|
-
import {
|
|
3
|
+
import { forwardRef } from "react";
|
|
3
4
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { cx } from "@linaria/core";
|
|
4
6
|
//#region src/text/Ellipsis.tsx
|
|
5
|
-
var _exp = () => ({ $speed }) => $speed;
|
|
6
|
-
var _exp2 = () => ({ $isPulse }) => $isPulse ? "running" : "paused";
|
|
7
|
-
var StyledEllipsis = /*#__PURE__*/ styled("span")({
|
|
8
|
-
name: "StyledEllipsis",
|
|
9
|
-
class: "szfsuud",
|
|
10
|
-
propsAsIs: false,
|
|
11
|
-
vars: {
|
|
12
|
-
"szfsuud-0": [_exp(), "s"],
|
|
13
|
-
"szfsuud-1": [_exp2()]
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
7
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
8
|
+
* The animated loading ellipsis: three dots that pulse in sequence after a label ("Generating…").
|
|
9
|
+
* It is a loading affordance, not truncation (truncation is `Text lineClamp`). It renders the literal
|
|
10
|
+
* characters through `Span`, so it inherits the enclosing `Text`'s step, family and line height and
|
|
11
|
+
* sits on its baseline; `variant` sets the color.
|
|
12
|
+
*
|
|
13
|
+
* `speed` is continuous, so it is written as the `--gx-ellipsis-speed` custom property in `style`
|
|
14
|
+
* (the Span `hex` pattern) and read by the pulse block; the second and third dots start a sixth and
|
|
15
|
+
* a third of a cycle late. Under `prefers-reduced-motion` (and a provider's `reducedMotion`) the
|
|
16
|
+
* animation is removed and the dots render as a static, full-color "...". The dots are decorative
|
|
17
|
+
* (`aria-hidden`): the label beside them carries the meaning.
|
|
18
|
+
*/
|
|
19
|
+
/** Color role of the dots (color set subset, Constitution V-A). */
|
|
20
|
+
var EllipsisVariant = /* @__PURE__ */ function(EllipsisVariant) {
|
|
21
|
+
/** Primary copy, `text.primary`. */
|
|
22
|
+
EllipsisVariant["PRIMARY"] = "PRIMARY";
|
|
23
|
+
/** Supporting copy, `text.secondary`. The default. */
|
|
24
|
+
EllipsisVariant["SECONDARY"] = "SECONDARY";
|
|
25
|
+
/** Hints and metadata, `text.tertiary`. */
|
|
26
|
+
EllipsisVariant["TERTIARY"] = "TERTIARY";
|
|
27
|
+
return EllipsisVariant;
|
|
28
|
+
}({});
|
|
29
|
+
/** Each `EllipsisVariant` is the `SpanVariant` of the same name. */
|
|
30
|
+
var ELLIPSIS_VARIANT_TO_SPAN_VARIANT_MAP = {
|
|
31
|
+
["PRIMARY"]: SpanVariant.PRIMARY,
|
|
32
|
+
["SECONDARY"]: SpanVariant.SECONDARY,
|
|
33
|
+
["TERTIARY"]: SpanVariant.TERTIARY
|
|
34
|
+
};
|
|
35
|
+
/** The three dots never break across lines. */
|
|
36
|
+
var ROOT_CSS = "gx-Ellipsis-ROOT_CSS-rzfsuud";
|
|
37
|
+
/**
|
|
38
|
+
* The 1.x pulse: each dot rests at half opacity and peaks at 40% of the cycle, staggered. The
|
|
39
|
+
* keyframes are global, so the name is `gx-` prefixed.
|
|
19
40
|
*/
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
41
|
+
var PULSE_CSS = "gx-Ellipsis-PULSE_CSS-p17l0lus";
|
|
42
|
+
/** Three dots that pulse in sequence: the "…thinking" affordance after a label. */
|
|
43
|
+
var Ellipsis = forwardRef(function Ellipsis({ isPulse = true, speed = 1200, variant = "SECONDARY", className, style, ...rest }, ref) {
|
|
44
|
+
const variables = { "--gx-ellipsis-speed": `${speed}ms` };
|
|
45
|
+
return /* @__PURE__ */ jsxs(Span, {
|
|
46
|
+
"aria-hidden": true,
|
|
47
|
+
...rest,
|
|
48
|
+
ref,
|
|
49
|
+
variant: ELLIPSIS_VARIANT_TO_SPAN_VARIANT_MAP[variant],
|
|
50
|
+
className: cx(ROOT_CSS, isPulse && PULSE_CSS, className),
|
|
51
|
+
style: {
|
|
52
|
+
...variables,
|
|
53
|
+
...style
|
|
54
|
+
},
|
|
24
55
|
children: [
|
|
25
|
-
/* @__PURE__ */ jsx(
|
|
26
|
-
/* @__PURE__ */ jsx(
|
|
27
|
-
/* @__PURE__ */ jsx(
|
|
56
|
+
/* @__PURE__ */ jsx(Span, { children: "." }),
|
|
57
|
+
/* @__PURE__ */ jsx(Span, { children: "." }),
|
|
58
|
+
/* @__PURE__ */ jsx(Span, { children: "." })
|
|
28
59
|
]
|
|
29
60
|
});
|
|
30
|
-
};
|
|
61
|
+
});
|
|
62
|
+
Ellipsis.displayName = "Ellipsis";
|
|
31
63
|
//#endregion
|
|
32
|
-
export { Ellipsis as default };
|
|
64
|
+
export { EllipsisVariant, Ellipsis as default };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { type AriaAttributes, type CSSProperties } from "react";
|
|
2
|
+
import { FontFamily } from "../theme/enums.js";
|
|
3
|
+
/** Cap fill: a surface step (Constitution V-A surface set). */
|
|
4
|
+
export declare enum KbdVariant {
|
|
5
|
+
/** The canvas fill, `background.base`. */
|
|
6
|
+
BASE = "BASE",
|
|
7
|
+
/** A panel fill, `background.primary`. */
|
|
8
|
+
PRIMARY = "PRIMARY",
|
|
9
|
+
/** A raised fill, `background.secondary`. */
|
|
10
|
+
SECONDARY = "SECONDARY",
|
|
11
|
+
/** The most elevated fill, `background.tertiary`. The default (1.x unset). */
|
|
12
|
+
TERTIARY = "TERTIARY"
|
|
13
|
+
}
|
|
14
|
+
/** Canonical rungs; the member names the control rung or text step the caps sit with. */
|
|
15
|
+
export declare enum KbdSize {
|
|
16
|
+
/** 12px caps, caption text; beside a 20px control or `CAPTION` text. */
|
|
17
|
+
X_SMALL = "X_SMALL",
|
|
18
|
+
/** 16px caps, caption text; beside a 24px control or `BODY_SM` text. */
|
|
19
|
+
SMALL = "SMALL",
|
|
20
|
+
/** 16px caps, `body_sm` text; beside a 32px control or `BODY_MD` text. The default. */
|
|
21
|
+
MEDIUM = "MEDIUM",
|
|
22
|
+
/** 20px caps, `body_md` text; beside a 36px control or `BODY_LG` / `HEADING_SM` text. */
|
|
23
|
+
LARGE = "LARGE",
|
|
24
|
+
/** 20px caps, `body_md` text; beside a 40px control. */
|
|
25
|
+
X_LARGE = "X_LARGE"
|
|
26
|
+
}
|
|
27
|
+
export interface KbdProps extends AriaAttributes {
|
|
28
|
+
/**
|
|
29
|
+
* Keys in press order, one cap per entry. `useHotkey` grammar tokens (`"mod"`, `"shift"`,
|
|
30
|
+
* `"enter"`, `"k"`) get platform labels; any other string renders verbatim. An empty array
|
|
31
|
+
* renders nothing.
|
|
32
|
+
*/
|
|
33
|
+
hotKeys: string[];
|
|
34
|
+
/**
|
|
35
|
+
* Cap fill (surface step). Ignored with `isPlain`.
|
|
36
|
+
* @default KbdVariant.TERTIARY
|
|
37
|
+
*/
|
|
38
|
+
variant?: KbdVariant;
|
|
39
|
+
/**
|
|
40
|
+
* No fill, no border, and the host's text color (`color: inherit`): for caps on a solid host
|
|
41
|
+
* such as a `PRIMARY` or `ERROR` Button. `variant` is ignored.
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
isPlain?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Matches the rung of the control the caps sit in, or the text step they sit beside.
|
|
47
|
+
* @default KbdSize.MEDIUM
|
|
48
|
+
*/
|
|
49
|
+
size?: KbdSize;
|
|
50
|
+
/**
|
|
51
|
+
* Cap type family. `MONO` for code-adjacent contexts.
|
|
52
|
+
* @default FontFamily.SANS
|
|
53
|
+
*/
|
|
54
|
+
family?: FontFamily;
|
|
55
|
+
/**
|
|
56
|
+
* Disabled look (`text.disabled`, `border.disabled`) for a shortcut inside a disabled host. Kbd
|
|
57
|
+
* itself is never interactive.
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
isDisabled?: boolean;
|
|
61
|
+
/** DOM id on the root `<kbd>`. */
|
|
62
|
+
id?: string;
|
|
63
|
+
/** Any `data-*` attribute, forwarded to the root `<kbd>`. */
|
|
64
|
+
[dataAttribute: `data-${string}`]: string | number | boolean | undefined;
|
|
65
|
+
/** Extra class on the root `<kbd>`. */
|
|
66
|
+
className?: string;
|
|
67
|
+
/** Inline style on the root `<kbd>`; only for setting CSS custom properties. */
|
|
68
|
+
style?: CSSProperties;
|
|
69
|
+
}
|
|
70
|
+
/** A keyboard shortcut as key caps, with platform-aware labels. Display only. */
|
|
71
|
+
declare const Kbd: import("react").ForwardRefExoticComponent<KbdProps & import("react").RefAttributes<HTMLElement>>;
|
|
72
|
+
export default Kbd;
|