diff options
Diffstat (limited to 'packages/cli/src/ui/components/shared')
| -rw-r--r-- | packages/cli/src/ui/components/shared/MaxSizedBox.tsx | 7 | ||||
| -rw-r--r-- | packages/cli/src/ui/components/shared/RadioButtonSelect.tsx | 32 |
2 files changed, 23 insertions, 16 deletions
diff --git a/packages/cli/src/ui/components/shared/MaxSizedBox.tsx b/packages/cli/src/ui/components/shared/MaxSizedBox.tsx index 346472bf..4c8b0862 100644 --- a/packages/cli/src/ui/components/shared/MaxSizedBox.tsx +++ b/packages/cli/src/ui/components/shared/MaxSizedBox.tsx @@ -7,7 +7,7 @@ import React, { Fragment, useEffect, useId } from 'react'; import { Box, Text } from 'ink'; import stringWidth from 'string-width'; -import { Colors } from '../../colors.js'; +import { theme } from '../../semantic-colors.js'; import { toCodePoints } from '../../utils/textUtils.js'; import { useOverflowActions } from '../../contexts/OverflowContext.js'; @@ -173,6 +173,7 @@ export const MaxSizedBox: React.FC<MaxSizedBoxProps> = ({ <Box key={index}> {line.length > 0 ? ( line.map((segment, segIndex) => ( + // Avoid adding color styles to this <Text> element, breaks code colorization <Text key={segIndex} {...segment.props}> {segment.text} </Text> @@ -186,14 +187,14 @@ export const MaxSizedBox: React.FC<MaxSizedBoxProps> = ({ return ( <Box flexDirection="column" width={maxWidth} flexShrink={0}> {totalHiddenLines > 0 && overflowDirection === 'top' && ( - <Text color={Colors.Gray} wrap="truncate"> + <Text color={theme.text.secondary} wrap="truncate"> ... first {totalHiddenLines} line{totalHiddenLines === 1 ? '' : 's'}{' '} hidden ... </Text> )} {visibleLines} {totalHiddenLines > 0 && overflowDirection === 'bottom' && ( - <Text color={Colors.Gray} wrap="truncate"> + <Text color={theme.text.secondary} wrap="truncate"> ... last {totalHiddenLines} line{totalHiddenLines === 1 ? '' : 's'}{' '} hidden ... </Text> diff --git a/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx b/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx index 746744e5..b6c78feb 100644 --- a/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx +++ b/packages/cli/src/ui/components/shared/RadioButtonSelect.tsx @@ -6,7 +6,7 @@ import React, { useEffect, useState, useRef } from 'react'; import { Text, Box } from 'ink'; -import { Colors } from '../../colors.js'; +import { theme } from '../../semantic-colors.js'; import { useKeypress } from '../../hooks/useKeypress.js'; /** @@ -164,7 +164,9 @@ export function RadioButtonSelect<T>({ return ( <Box flexDirection="column"> {showScrollArrows && ( - <Text color={scrollOffset > 0 ? Colors.Foreground : Colors.Gray}> + <Text + color={scrollOffset > 0 ? theme.text.primary : theme.text.secondary} + > ▲ </Text> )} @@ -172,18 +174,18 @@ export function RadioButtonSelect<T>({ const itemIndex = scrollOffset + index; const isSelected = activeIndex === itemIndex; - let textColor = Colors.Foreground; - let numberColor = Colors.Foreground; + let textColor = theme.text.primary; + let numberColor = theme.text.primary; if (isSelected) { - textColor = Colors.AccentGreen; - numberColor = Colors.AccentGreen; + textColor = theme.status.success; + numberColor = theme.status.success; } else if (item.disabled) { - textColor = Colors.Gray; - numberColor = Colors.Gray; + textColor = theme.text.secondary; + numberColor = theme.text.secondary; } if (!showNumbers) { - numberColor = Colors.Gray; + numberColor = theme.text.secondary; } const numberColumnWidth = String(items.length).length; @@ -194,7 +196,9 @@ export function RadioButtonSelect<T>({ return ( <Box key={item.label} alignItems="center"> <Box minWidth={2} flexShrink={0}> - <Text color={isSelected ? Colors.AccentGreen : Colors.Foreground}> + <Text + color={isSelected ? theme.status.success : theme.text.primary} + > {isSelected ? '●' : ' '} </Text> </Box> @@ -208,7 +212,9 @@ export function RadioButtonSelect<T>({ {item.themeNameDisplay && item.themeTypeDisplay ? ( <Text color={textColor} wrap="truncate"> {item.themeNameDisplay}{' '} - <Text color={Colors.Gray}>{item.themeTypeDisplay}</Text> + <Text color={theme.text.secondary}> + {item.themeTypeDisplay} + </Text> </Text> ) : ( <Text color={textColor} wrap="truncate"> @@ -222,8 +228,8 @@ export function RadioButtonSelect<T>({ <Text color={ scrollOffset + maxItemsToShow < items.length - ? Colors.Foreground - : Colors.Gray + ? theme.text.primary + : theme.text.secondary } > ▼ |
