summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/shared
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/shared')
-rw-r--r--packages/cli/src/ui/components/shared/MaxSizedBox.tsx7
-rw-r--r--packages/cli/src/ui/components/shared/RadioButtonSelect.tsx32
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
}
>